Though student engineers and student computer scientists are taught to develop software based on requirements specifications, in the real world, there are many organizations where a system of strict requirements process has not been put in place. Also, there are some practicing designers and even programmers who are not used to working with requirements.
If a manager comes along, and puts a requirements process into place into either an organization that is not used to working with requirements or with workers who are not used to working with requirements, then this can lead to some problems. The workers may complain to upper management about the new process. Since upper management or senior executives are not likely to know anything about the programming process, they may simply take the word of their valued programmers and derail a manager’s efforts into putting in a requirements process.
A project manager can overcome this problem by working towards converting the programmers who dislike requirements, to the use of requirements. Programmers who do not use requirements can exercise more creativity in the process, face less of a programming challenge, and can also code faster. However, they need to understand the costs. The software will be lower quality. Also, it is likely that after working hard to produce code, the very flexibility afforded by the lack of requirements, will lead to messy code that needs to be revised and rewritten often. The requirements process protects against ongoing last minute changes and messy code. As for designers, they need to understand that requirements are only referring to the behaviour of the software, and that means the requirements will not stifle their creative design options. Requirements help programmers to reduce change.
The project manager can use requirements to control changes and to maintain a high level of code quality. Requirements will allow the team to build great code, rather than building code over and over. The project manager needs to explain the benefits of requirements to the programmers and to the designers.
Interested in Management? Check out our management course!