How to combine Sparx Enterprise Architect and BABOK to manage Requirements in a modern way?
Days when Business Analyst was using only Word and Excel applications together with e-mail program are slowly fading into the past. This is a good thing. There are many tools that allow us to work faster and smarter. One of them is my favorite Sparx Enterprise Architect. The tool so powerful and versatile that it's hard to find single person who used all of its features :-)
Personally, I used Enterprise Architect in my work for past several years to design IT systems and prepare documentation of them. I used a lot of built-in features of Enterprise Architect to streamline my work and improve quality of my deliverables. Among them Relationship Matrix, powerful template functionality for document generation, extensive support for Use Case modeling.
Among many other things, BABOK Guide defines list of commonly used requirement attributes:
- Absolute reference: provides a unique identifier. The reference is not altered or reused if the requirement is moved, changed, or deleted.
- Author: provides the name of the person who needs to be consulted should the requirement later be found to be ambiguous, unclear, or in conflict.
- Complexity: indicates how difficult the requirement will be to implement.
- Ownership: indicates the individual or group that needs the requirement or will be the business owner after the solution is implemented.
- Priority: indicates relative importance of requirements. Priority can refer to the relative value of a requirement or to the sequence in which it will be implemented.
- Risks: identifies uncertain events that may impact requirements.
- Source: identifies the origin of the requirement. The source is often consulted if the requirement changes or if more information regarding the requirement or the need that drove the requirement has to be obtained.
- Stability: indicates the maturity of the requirement.
- Status: indicates the state of the requirement, whether it is proposed, accepted, verified, postponed, cancelled, or implemented.
- Urgency: indicates how soon the requirement is needed. It is usually only necessary to specify this separately from the priority when a deadline exists for implementation.
Source: BABOK Guide V3, page 45.
As it is stated, those are most commonly used, which means that this list is not written in stone and each Analyst must decides which to use. Actually, for this exercise we have a special task in BABOK Guide named Plan Business Analysis Information Management.
The purpose of Plan Business Analysis Information Management is to develop an approach for how business analysis information will be stored and accessed.
Source: BABOK Guide V3, page 42.
Since I read the Mastering the Requirements Process: Getting Requirements Right (which was quite sometime ago) I extended my requirement attributes list with those two:
- Fit Criteria
Justification is a rationale for requirement. It explains why requirement is needed by stakeholder(s). It is very important attribute as it allows to distinguish between real requirements and solutions requested by stakeholders that pretend to be requirements.
Fit Criteria's aim is to make sure that requirement is verifiable. It means that there is defined way of proofing that the requirement is met. This attribute directly addresses one of the characteristics of a good requirement which is Testable. (Have you ever seen requirements like: "System must be easy to learn" or "System must be user friendly" and wondered What the hell this means? I bet you did! :-) )
Enhanced Requirement Attributes Addin for Sparx Enterprise Architect
Sparx Enterprise Architect does not support all of the mentioned above attributes out of the box. Some are there, but not all of them. You may add missing ones as TaggedValues in requirement element, but working this way on a daily basis is hard and miserable.
To address this problem I created Enhanced Requirement Attributes Addin for Enterprise Architect. In short ERA addin (addin means plugin). It adds new properties window which is dedicated only for Requirement type. When you double click on any Requirement element this new window will be opened by default. Properties for other element types will be opened in EA's default properties window.
Sometimes you may still want to open Requirement element in default properties window, just click 'Default properties' button, or press Alt+Enter keys on the selected element.
Requirement properties window aggregates in one place all most important attributes that were described above. This makes reading and editing a requirement very easy. Requirement properties windows supports:
- Some of BABOK / Volere additional attributes
- Rich edit functionality for Description attribute
- Key shortcuts (Ctrl+S - save & close and Ctrl+W - close without saving)
All of the additional attributes are stored as TaggedValues of Requirement element. This a built-in functionality of Enterprise Architect. There is no custom solution for storing information. As you can see in the picture below, you can access and edit those attributes in normal properties window.
This means you may use ERA Addin without worrying about compatibility. You can be the only person on the project or in your organization using ERA Addin and other Analysts & Architects will still be able to view and edit Requirement without problems. Of course it will not be as easy and convenient as in ERA Addin, but important thing is that you will not break anything!
ERA Addin does not use any custom UML Profile, it works with default, built-in Requirement type. So you can start using it on your already created requirement models without any conversions or problems with migration. There is also no risk, if you will not like ERA Addin you will simply uninstall it, there will be no impact on your model.
Generation of documentation
ERA Addin was created with easy reporting in mind. It comes with a Requirements Details template that is used to generate documentation about all additional requirement attributes. Here you can download sample document with generated documentation about requirements in Stakeholder package.
ERA Addin is free to use for everybody including commercial purposes. It is redistributed under Creative Commons Attribution-NoDerivatives 4.0 International Public License.