Most software projects are often troubled by missing, unclear requirements and as a result of faulty requirements practices, they are likely to fail. Poor requirements are the root cause of many project failures, so it is disappointing to see that the success of the software requirements industry has not dramatically improved over the last two decades. Although academia has been constantly identifying new approaches to improve requirements techniques and engineering methods, commercial practices have largely remained the same. Software programming practices have matured considerably with the creation of new techniques and tools, but software requirements are still developed using long lists of shall statements maintained in the spread sheets. Agile based projects still maintain their product backlogs and user stories in long lists in spread sheets.
Traditional practices use long lists of text requirements in the form of shall statements, use cases, user stories and product backlogs. The challenge of working with long lists of items results from a fundamental limitation of human cognition. In 1956, cognitive psychologist George A Miller found that humans can only remember and process seven plus or minus two items simultaneously. This is called miller’s magic number. So if you have thousands of “system shall” requirements, it is nearly impossible to read all of them and emerge confident that requirements are complete.
Models can help…
The solution to this fundamental limitation of human brains is the adage “pictures are worth a thousand words”. When human beings interpret information, pictures are easy, words are hard.
- Models are visual representations (pictures) of the information related to the processes, data, and interactions within and surrounding the solution developed.
- Models provide visual groupings that enable you to quickly analyse large amounts of disparate information by using limited short term memory.
- It is difficult to read, interpret and identify gaps in a requirements document of thousands of “system shall’ statements, but models can help.
Why not UML is the obvious choice..
UML is a language used to visually specify the design of software systems. It is incomplete for modelling requirements since it lacks models that tie requirements to business value and models that present system from an end user’s point of view. In addition, its technical roots make it simply too complex for business stakeholders to adopt. To simply put, UML is used to describe the technical design, architecture of a system and model requirements which are focussed on business benefits, user actions and business rules.
RML Defined...
Requirements modelling language (RML) is a language designed specifically to visually model requirements for easy consumption by executive, business and technical stake holders. In developing RML, existing models are modified for ease of use and new models are created to address gaps. Instead of focusing on complex system design models, RML looks at a project’s goals and objectives. RML then uses different models to break down these objectives into requirements which are easily understood by both business stakeholders and developers. With focus on objectives instead of system design, RML forces teams to design systems which maximize value to a project.
References:
Modelling Software Requirements
Phenomecloud is an enthusiastic family of individuals, fervent to make lives simpler through effective use of technology. Our mission is to implement solutions that drives business results. Know more insights from our thoughts and experience.
Contact us today or call 1-855-978-6816 to talk with us about your business needs.
Leave a Comment