Improving productivity in the development of software-based systems
This paper describes various techniques for improving productivity in the development of software-based systems. These build on having a strong foundation regarding people and processes. On this solid foundation, it is important to do requirements engineering well so that you develop the right functionality, elicit also the non-functional requirements, and have testable requirements. Structure the system to avoid unnecessary complexity and to take advantage of reuse. During the development use an iterative and lean approach to ensure that the product is realized as efficiently as possible. Finally, work at a higher level of abstraction through model-driven approaches and take advantage of automation provide additional improvements to productivity.
Full Text: PDF