Thursday 12 June 2014

Software Development Models: Scrum Vs Waterfall

As the software industry growing, it also leads many new technologies and software design architectures to evolving along with that.
As software designer you may came cross software development models. Mainly Waterfall model is the first choice of the software designers. But these days many software designers prefer Scrum based software development life cycle.
Waterfall Model:
The software development work goes in phase manner.
1.) Requirements
2.) Design
3.) Development
4.) Testing
5.) Maintenance
Suppose a client wants software to do stock trading and the time of building this software takes 12 months. The client shares his requirements in Jan. (first month) and by Dec. (last month) he/she able to see how the software works out.
There was no chance / choice of software requirements to change or any preview of the software product. So there was a complete blackout of more than 10 months for client side.
Whereas Scrum the new kid in the town believes that software development is a creative art where a big software product cut into small shippable product and client can change the requirements and view the shippable software in weeks based time frame rather than waiting to get a full finished software product.
Now, in scrum all this depends upon the PBI (Product Backlog Items) these are user stories or you can small chunks of bigger software requirements. These can be written by a scrum team consists of a ‘Product owner’ a ‘Scrum Master’ and ‘Development team’. All can write these user stories on client software requirements where as the P.O (product owner) he/she has the final authority to put these PBI in the sprints or iterations (these are time-bound week based software development cycle), in scrum a sprint can be 1-4 week maximum.
Scrum Sprint:
1.) Sprint 1, X items
2.) Sprint 2, X + Y items
3.) Sprint 3, X + Y + Z items
So, after ending of each sprint the scrum team show the client a workable software item. And this help client to check the software is building in the way he/she wants. If client thinks new or changes required, he suggest and these new C.R (change request) can be added in the next sprint.
So, in nutshell the scrum software design model basically cut short the margin of error of wrong software development and its leaps ahead of older development models.

No comments:

Post a Comment