According to Humphrey, an effective software development project requires a balanced approach which takes into consideration both tools and process development. He writes: "Tools  alone will not fully solve software engineering's problems. Neither will process alone. Both are needed to obtain a balanced result.  They can improve productivity, reduce errors, simplify routine tasks and free engineers for more creative work" (Humphrey 1995:26). In choosing this balance, however, it is imperative to take into account the environmental changes, as well as other factors, that affect an organization's development, of which an information system is integrated into. However, since these changes are dynamic and difficult to predict, an information system will therefore be only as effective as its ability to adapt to these changes and maintain its efficacy. This is especially true for large systems performing more complex functions.
In this sense, Parnas (1979) suggests building software not as an individual program or a single system, but as a 'family' of programs, built as a collection of numerous programs consisting of subsets, which can be modified independent of other unrelated programs. ...Show more