Essential Management is a heavyweight client application which manages a variety of complex information stored in any of several database management systems. Our initial goal was to provide an application that allowed software development teams to create, maintain, track and store project requirements on a multi-project basis in a multi-user environment. During development, the project became more abstract in the type of data it can help maintain; additional data models are fairly easy to add, providing a high degree of expandability.
The first and most important feature of the application is that data is stored in a central data repository managed by some database management server; initially PostgreSQL fills this role, but support for others are growing. The repository is fully searchable. An alternative data storage format exists in the form of a locally maintained XML file if the user wishes to use it.
One of the key features Essential Management was designed around is the ability to define and maintain relationships between requirements. Using the software requirement model as an example, our application allows users to define projects; each project is composed of zero or more root requirements, which are typically business level requirements. Each business requirement has zero or more sub-requirements, which either refine the parent business requirement or dive into the functional requirements which allow the business requirement to be achieved. This tree continues to branch and grow deeper until the most basic level that the user wishes to define is reached.
In addition the relationship between parent and child requirements, relationships can be defined between requirements not in the same branch. These relationships may have any meaning the user wishes to define and can be unidirectional or bi-directional.
Essential Management implements the concept of user level permissions, which provides a small measure of security for the projects and their requirements. Additionally, creation of and changes to requirements can be traced to the user who initiated the action.
Finally, the application provides a means to track changes made to requirements during their lifetime so it is possible to determine when a change was made, what information was changed and who edited the requirement.
Essential Management is nearly up to its first beta version. The initial release will be made shortly.