development of a software product, so their input is vital. They have functionality, performance, and/or timeframe requirements. They often revise requirements to adapt to their changing needs. Consequently, developers need processes to cater for changes.
long, often outlasting the original developers. Therefore, software is normally maintained by more than one developer. There are many aspects to a successful software development process. This presentation will discuss three of them.
easily-understood units. Tightly-coupled units depend on each other’s internal details, making their implementation difficult to change. Therefore, each unit should have a single responsibility, which other units access via a complete, minimal interface.
allows clients to do anything they might reasonably want to do. … A minimal interface…is one with as few functions in it as possible, one in which no two member functions have overlapping functionality.” (Meyers, 1998, p. 79)
which has a set of coding standards to ease maintainability. In a code review, a team member critiques code written by another member. This serves two purposes: to allow more team members to understand the code, and to enforce coding standards.
a software product, it needs thorough and regular testing. Coders write unit tests for every unit they have, based on its interface, which are executed by an automated process. This allows regressions to be detected and fixed swiftly.
aspects of running a successful software project. As a developer, I’m not too knowledgeable about some of these, so I won’t go into them. In conclusion, coding is only a miniscule part of software development.