Inputs to Development
It is important to consider all input sources. A skilled developer should be adaptable and able to glean requirements from whatever is available. Common inputs include the following:
Business documentation. Business experts provide the inspiration, justification, and rough scope for most applications. They often provide statements of motives and intent, screen mock-ups, scenarios, and sample reports. The business may impose some design decisions (such as the choice of a database manager or hardware platform) and implementation decisions (such as software engineering standards). The business must clearly define criteria for success.
User interviews. An obvious technique for obtaining requirements is to interview business experts. Developers can question users for missing information and clarification.
Technical reviews. In user interviews, developers interact with business experts. Technical reviews are complementary, and they leverage the ideas of technologists and line managers.
Related applications. These applications provide grist for modeling, as well as data for populating the database. You should consider systems that are to be replaced, as well as systems that will remain but overlap the new system.
Prior experience. You are fortunate if developers are familiar with the application's subject matter. Such experience will accelerate work. Sometimes, it is helpful to visit the environment where users work, and observe their activities.
Table 1 summarizes the strengths and weaknesses of the various input sources. There are multiple sources of requirements with different trade-offs.
Table 1 Sources of Requirements
Input Source |
Strengths |
Weaknesses |
Business documentation |
Directly expresses business sentiments. Often available. |
There are often inconsistencies, omissions, and errors. |
User interviews |
Developers pose the questions |
Users may not have much time for interaction. |
Technical reviews |
Educate developers. Help the organization reconcile applications. |
Many developers are reluctant to air their work publicly. |
Related applications |
Ensure that developers don't overlook past requirements. |
Yield some obsolete requirements. |
Prior experience |
Highly desirable if you are so fortunate. |
Developers may ignore input from business experts. |