In Team Skill 3, we moved from understanding the needs of the user to starting to define the solution. In so doing, we took our first baby steps out of the problem domain, the land of the user , and into the solution domain, wherein our job is to define a system to solve the problem at hand.
After we learned the use-case technique, we also learned that complex systems require comprehensive strategies for managing requirements information, and we looked at a number of ways to organize requirements information. We recognized that we really have a hierarchy of information, starting with user needs, transitioning through features, then into the more detailed software requirements as expressed in use cases or traditional forms of expression. Also, we noted that the hierarchy reflects the level of abstraction with which we view the problem space and the solution space.
We then zoomed in to look at the application definition process for a stand-alone software application and invested some time in defining a Vision document for such an application. We maintain that the Vision document, with modifications to the particular context of a company's software applications, is a crucial document and that every project should have one.
We also recognized that without a champion or a product manager ”someone to champion the requirements for our application and to support the needs of the customer and the development team ”we would have no way to be certain that the hard decisions are made. Requirements changes, delays, and suboptimum decisions forced by project deadlines are likely to result. So, we decided to appoint one or anoint one: someone to own the Vision document and the features it contains. In turn , the champion and the team will empower a change control board to help with the really tough decisions and to ensure that requirements changes are reasoned about before being accepted.
With a requirements management organizational strategy in hand and a champion at the helm, we are now better prepared for the work ahead. But first, we must take a look at the problem of project scope , the subject of Team Skill 4.