Write 4 page essay on the topic Implementing Software Development Project Management Best Practices. Somerville [1996 – Page 7] explains that successful software development, deployment, testing, deployment and maintenance are all built around four basic precepts : software specification, software development, software validation and software evolution. The obvious way of streamlining the software development process is to make these discrete stages flow into one another in a seamless end-to-end process. This requires, in practice, that the specific methods adopted for Rapid Application Development (RAD) (see (2) below) must be adopted, in order to avoid the hold-ups that always occur when discrete documents have to be updated to take account of changes in user requirements, for example. The greatest obstacle to software development, in practice, is the ‘big bang’ approach, where all the functionality is supposed to be introduced at once(!).
The consensus of the available literature is that this may be charitably described as a recipe for disaster! The best, and therefore most streamlined approach is the incremental one, where software development is carried out in a series of relatively small steps. It is therefore vital that this principle is incorporated within the contract with the client (for a bespoke development) or the vendor’s marketing and sales departments (for a market-led project)1. The Waterfall approach. This is where the requirements specification, design specification, test specification, implementation plan and maintenance plan are all produced in sequence as individual work products, and each is approved by the key stakeholders before the next is produced.2. Evolutionary Development. Here, the specification, development and testing stages are interleaved, beginning with the very rapid development of a prototype system from a very basic specification. This is what us usually meant by Rapid Application Development (RAD). This prototype is then progressively defined with the aid of input from the intended users to produce.