Fact Snippet: Software Development Process

December 12, 2009 | By | 2 Replies More

Reading time: 2 – 3 minutes

Writing software reviews has been a rewarding experience but despite the fact that I’ve been doing it for quite sometime, I think it’s about time for me to dig a little deeper on how a software comes to life after the cunning hands of software developers then afterward gets used by end users and reviewed by enthusiasts like me.

Like any other product, before any software is launched into the market, it undergoes several processes similar to manufacturing of which is often represented by the Waterfall model.

The Waterfall model is a sequential software development process often attributed to a waterfall since its progress is steadily flowing in a downward direction (see figure below).

Waterfall model

Waterfall model

The Waterfall Model was taken from Royce’s article written in 1970 which later became the way to criticize a commonly used software practice.

The Waterfall model is comprised by the following phases:
1. Requirements specification
2. Design
3. Construction (implementation or coding)
4. Integration
5. Testing and debugging (also called Validation)
6. Installation
7. Maintenance

There are many cited arguments though about how the process should be done contrary to the above model and among those are inconsistencies in case clients change their requirements and design which means, one can’t easily move forward to the next step unless the previous ones are perfected which in return immobilize the whole process and thus increasing costs and eating more time.

On the other hand, the Sashimi model by Peter DeGrace allow feedback in between phases although quite similar in scope as the Waterfall model, this method however alleviates the need to modify and correct certain issues before moving forward which is good because this allows ample time to discover bugs and do some fixes whenever it comes between each phase.

Given these facts above, it open up the avenues for understanding how a software is developed before being released and to think that is requires a lot of effort and time to do so, I must say kudos to those guys for creating savvy pieces of tools for today’s computer driven world.

Tags: , , ,

Category: software

Comments (2)

Trackback URL | Comments RSS Feed

  1. Hi Math, I can see that you have really done enough research on this particular post. My ID in my present job at the company I work for presently says I’m a ‘programmer’. Well I did dabble sometime ago with programming using MS Visual Studio and have produced a couple of programs for internal company use. When the boss changed his focus from producing programs to providing web support, I have since let go of software programming and has focused now on website design and maintenance for the company. My programming experience is short and had not given me a chance to develop into a good programmer that I wanted to be.

    Looks like we have adopted the waterfall method except that we call the ‘verification’ phase as ‘Testing and Troubleshooting’ and the ‘Maintenance’ phase as ‘Support’. The meant the same thing of course. I missed those days, but I still find website making more fun. Software programming is a little too stressful mentally. 🙂
    .-= James Moralde´s last blog ..Bugs Bunny Poster =-.

  2. Mathdelane says:

    It’s difficult sometimes to be too technical while keeping things understandable to most people. It’s a challenge really. I miss those days in the manufacturing/QA world where all things can be made up of jargon but like yours, it’s twice as much stressful.

Leave a Reply