I hope that you can take a moment to allow me introduce the open source project that we (at Etish Limited) have been working on. The project is an Eclipse based open requirements management tool, named Useme, whose details you can peruse on its website. The tool is currently in its final stages of development for a beta release, but the website already contains quite a good amount of information on its scope and purpose. Below, I have provided a taste, let's call it a forespesian, of what you will find on the website.
However, the specific reason for this message is not to advertise
Useme, but to point your attention to the underlying framework on which
Useme is based, The Open Requirements Management Framework (ORMF),
which has been recently accepted by Eclipse as a public proposal.
The goal of the ORMF is to extend the Eclipse platform to create an
open source framework for building Eclipse based tools that manage
Our hopes are that ORMF becomes the basis for best of breed tools in this realm. To accomplish this we really need the participation of the community. Only by involving knowledgeable professionals and organisations can we hope to fulfil the vision of a free and available industrial quality Requirements Management facility.
I would appreciate if you could take the time to look over the proposal and comment on it. Your questions, feedback, thoughts, musings and advice are all solicited with earnestness. You can do so either by replying directly or, even better, by accessing the project's Eclipse newsgroup eclipse.technology.ormf via its web portal (or by using your favourite newsreader). Access to the newsgroup requires subscription, which you can obtain here.
Thank you very much for your attention.
<<------------- A bit about Useme ------------->>
We created Useme in an effort to overcome what we saw as essential problems with requirements management today. These problems are the ones outlined below.
- Free form documents
- Most organisations rely on requirements documents that are ultimately free form text documents. This often leads to document incorrectness and inconsistency.
- Gap between UML model and textual specification documents
- The model describes requirements as simple elements (for example use cases and actors) and the structural relationships between such elements (for example use case inclusion). The specification documents describe the details of each specific requirement but frequently loose the connectivity of the model due to the difficulty of capturing and subsequently maintaning structural relationship within a textual context. The two types of artifacts are therefore mismatched and inconsistent.
- Difficult document maintenance
- Even in cases where at least the most important of the relationships are captured in the textual documentation, the task of maintaining them by hand through requirements evolution and change is daunting for the amount of time and effort that is needed.
- Single user requirements capture
- Except for very expensive, high end requirements management tools, most other automated systems (or indeed manual capture) are single user, making it difficult for all the project stakeholders in general to share the information expressed in these documents.
- Non integrated requirements management
- All requirements management tools available today are standalone applications, with their own user interfaces and their own utilisation rules and procedures, with the well known shortcomings of a non integrated development environment.
Useme offers a solution to the problems outlined above through the features that are described below.
- Useme and UML
- Useme is use cases driven and it merges the two concepts of UML model and document specification by enforcing a well organised, structured definition of the documents in the first instance and by automatically updating all relationships between the documents when requirements evolution or change dictates it.
- Useme supports structured documents
- This is made possible by the utilisation of specialised, custom built form based editors with one type of editor for each supported type of requirements document, which capture the contents of a document in a highly structured fashion and which enforce specific rules when the document is being edited.
- Useme enables documents connectivity
- Useme supports rich text, including text that may contain smart links. Smart links are the representation of relationships between the artifacts in the UML model when expressed within a textual context. They may be of various natures, corresponding to the various stereotypes that characterise the model's relationships. This enables the Useme editor client tools to manage the interconnectivity between documents and document elements.
- Useme publishes
- An independent, web based publishing tool makes all artifacts available for consumption among all the stakeholders of the development project. The tool ensures that all documents exhibit the same look and feel and renders all smart links and special elements in the documents in an appropriate fashion. Currently this tool enables publication in HTML format, but pdf and other popular formats will be available in future releases.
- Useme is collaborative
- Useme supports the sharing of production and consumption of requirements documents among all the different stakeholders in a sofwtare development team. A centralised Useme server stores Useme projects. Useme editor clients installed on the analysts workstations enable them to perform their requirements specification work as a team. The publishing tool encourages sharing of the documentation. The publication process is extremely timely.
- Useme is highly performant
- Useme draws advantage from a state of the art, multi tier architecture, based on Java J2EE. All responses to user input, as well as any synchronisation with the remote Useme servers, are practically instantaneous.
- Useme is a fully integrated development tool
- The editor clients leverage the well known Eclipse platform: this makes the capture and subsequent management completely integrated in the overall software development process, easing communication between different team roles and ensuring that the requirement capture/implementation/test cycle is as transparent and as timely as possible. The clients are organised as modular Eclipse plugins (one for each type of supported requirements document) that can be independently contributed to the Eclipse platform, so that any given development team may add only those plugins that are of interest, thereby avoiding unnecessary bloat to the Eclipse platform itself.
- Useme is open source
- Enough said! :-)