Software Development Methodologies By E2Logy

3,524 views

Published on

Software development methodology in software field is a framework which is used to structure,plan and control the process of development. Some of the common development methodologies are Waterfall, iterative Waterfall, SCRUM (Agile), Kanban (Agile). This presentation deals with all these methodology in detail.

Published in: Software, Technology, Business
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
3,524
On SlideShare
0
From Embeds
0
Number of Embeds
164
Actions
Shares
0
Downloads
81
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Software Development Methodologies By E2Logy

  1. 1. Confidential. © E2Logy Software Solutions Pvt Ltd Are you really using Agile or is it Iterative Waterfall? Ruchhir Agarwal 6th June 2014
  2. 2. Confidential. © E2Logy Software Solutions Pvt Ltd Methodologies Waterfall Iterative Waterfall SCRUM (Agile) Kanban (Agile) Software development methodologies we’ve used in E2Logy and are widely accepted:
  3. 3. Confidential. © E2Logy Software Solutions Pvt Ltd Waterfall ‘Waterfall Development’ is another name for the more traditional approach to software development. It’s called ‘waterfall’ as this type of development is often planned using a Gantt chart –you complete one phase (e.g. planning) before moving on to the next phase (e.g. development). In Waterfall approaches, you will rarely aim to re-visit a ‘phase’ once it’s completed. As such, you better get whatever you’re doing right the first time! This approach is highly risky, often more costly and generally less efficient than more Agile approaches.
  4. 4. Confidential. © E2Logy Software Solutions Pvt Ltd Waterfall The main issues with this approach include: • You don’t realize any value until the end of the project (when you deploy) • You leave the testing until the end, which means you’re leaving issue discovery until late in the day • You don’t seek approval from the stakeholders until late in the day – their requirements might have changed • You’re heavily reliant upon a plan, which you can/will often follow to the detriment of the end result • You’re heavily reliant upon a project manager driving the way – the power of one • Waterfall projects define a rigid scope-change control process to manage any changes to work already underway.
  5. 5. Confidential. © E2Logy Software Solutions Pvt Ltd Iterative Waterfall Often misinterpreted as Agile. This approach carries less risk than a traditional Waterfall approach but is still far more risky and less efficient than a more Agile approaches. The focus is on delivering a sprint of work as opposed to a series of valuable/shippable features. The most commonly occurring issue in this type of scenario is bottle necking. For example, you deliver loads of code a little bit behind schedule (?) and you leave it until the last minute to test everything. One issue takes longer than expected to resolve, you miss your sprint deadline and you deliver nothing. Another common symptom of this type of approach is over-commitment. It’s really difficult to estimate the total effort associated with a particular User Story/Feature when approaching delivery in this phased way. You’re more or less forced to estimate each phase separately (e.g. estimate development separately to testing in this instance) – this doesn’t work as the phases are not separate, they’re totally intertwined. For example, if you find an issue with the test, you must return to development. The whole team must remain focused on delivering the end goal, not the separate phases. It’s also worth noting that velocity and burn downs are far less (if at all) useful in this type of environment – you don’t benefit from early-
  6. 6. Confidential. © E2Logy Software Solutions Pvt Ltd Iterative Waterfall Most companies think this is SCRUM Sprint and hence they are using Agile. It is NOT!
  7. 7. Confidential. © E2Logy Software Solutions Pvt Ltd Iterative Waterfall The design, development, integration, and testing (DDIT) stage is a sequential process in a Waterfall project. The graphics below illustrate this difference:
  8. 8. Confidential. © E2Logy Software Solutions Pvt Ltd SCRUM (Agile) This approach carries far less risk than Waterfall approaches. We focus on delivering fully-tested, independent, valuable, small features. As such, we diversify our risk – if one feature goes wrong, it should not impact another feature. With that said, we still plan our work in iterations and we will still release at the end of each iteration.
  9. 9. Confidential. © E2Logy Software Solutions Pvt Ltd SCRUM (Agile) SCRUM is a process of how to manage sprints:
  10. 10. Confidential. © E2Logy Software Solutions Pvt Ltd SCRUM (Agile) A Sprint means working on multiple features (stories) simultaneously
  11. 11. Confidential. © E2Logy Software Solutions Pvt Ltd SCRUM (Agile) Once the Sprint begins, the scope is frozen and no change request is allowed until that Sprint is complete.
  12. 12. Confidential. © E2Logy Software Solutions Pvt Ltd Kanban (Agile) How does Kanban work? Visualize the workflow • Split the work into pieces, write each item on a card and put on the wall. • Use named columns to illustrate where each item is in the workflow. Limit Work In Progress (WIP) – assign explicit limits to how many items may be in progress at each workflow state. Measure the lead time (average time to complete one item, sometimes called “cycle time”), optimize the process to make lead time as small and predictable as possible.
  13. 13. Confidential. © E2Logy Software Solutions Pvt Ltd Kanban (Agile)
  14. 14. Confidential. © E2Logy Software Solutions Pvt Ltd Kanban (Agile) What are the benefits of Kanban? • Bottlenecks become clearly visible in real-time. This leads people to collaborate to optimize the whole value chain rather than just their part. • Provides a more gradual evolution path from waterfall to agile software development, thereby helping companies that previously have been unable or unwilling to try agile methods. • Provides a way to do agile software development without necessarily having to use time-boxed fixed-commitment iterations such as Scrum sprints. Useful for situations where sprints don’t make much sense. SCRUM vs Kanban: http://www.crisp.se/file-uploads/Kanban-vs-Scrum.pdf
  15. 15. Confidential. © E2Logy Software Solutions Pvt Ltd Million $ Question Which model to use when? • Waterfall- Use for small projects <1 month with clear requirements • Iterative waterfall- Use for large projects >6 months with unclear requirements or requirements that may change or need validating. • SCRUM- Use when everyone sits together including customer and a large team is available. • Kanban- Use for medium projects >1 to <6 month duration.

×