SlideShare a Scribd company logo
Overview of Agile MethodologyPrepared by: Haresh Karkar [Information Architect]
Software development processesA [really] short history of
REQUIREMENTSDESIGNDEVELOPMENTWaterfall Development is another name for the more TESTINGtraditional approach to software developmentMAINTENANCEWaterfall Development
Waterfall Development (contd..)You complete one phase (e.g. design) beforemoving on to the next phase(e.g. development)You rarely aim to re-visit a ‘phase’ once it’s completed. That means, you better get whatever                    you’re doing right the first time!
ChangesREQUIREMENTSDESIGN You don’t realize any value until the end of the project You leave the testing until the end You don’t seek approval from the stakeholders until late in the daySkippedTakes too longDEVELOPMENTTESTINGThis approach is highly risky, often more costly and                            generally less efficient than Agile approachesMAINTENANCEBut…
RapidAdaptableAGILEQuality-drivenCooperativeIterativeNot a process, it's a philosophy or set of values
Individuals and interactions overprocesses and toolsWorking software overcomprehensive documentationCustomer collaboration overcontract negotiationResponding to change overfollowing a planAgile Manifesto
Agile UmbrellaMore Prescriptivemore rules to followRUP (120+)RUP has over 30 roles, over 20 activities, and over 70 artifactsAgileXP (13)Scrum (9)ScrumXPKanban (3)DSDMCrystalFDDKanbanRUPDo Whatever!! (0)and few more…More Adaptivefewer rules to follow* Check wikipedia for list of all Agile methods
ScrumA light-weightagileprocess toolProduct/ Project OwnerSplit your organization into small, cross-functional, self-organizing teams.Scrum TeamScrum MasterSplit your work into a list of small, concrete deliverables. Sort the list by priority and estimate the relative effort of each item.
Split time into short fixed-length iterations/ sprints (usually 2 – 4 weeks), with potentially shippable code demonstrated after each iteration.Scrum (contd..)JanuaryMayOptimize the release plan and update priorities in collaboration with the customer, based on insights gained by inspecting the release after each iteration.Optimize the process by having a retrospective after each iteration.
Scrum vs. WaterfallMAINTENANCEREQUIREMENTSTESTINGDESIGNDEVELOPMENT
Iterative Scrum
Things we do in Scruma.k.a Scrum terminologiesThe project/ product is described as a list of features: the backlog. The features are described in terms of user stories. The scrum team estimates the work associated with each story. Features in the backlog are ranked in order of importance. Result: a ranked and weighted list of product features, a roadmap. Daily scrum meeting to discuss What did you do y’day? What will you do today? Any obstacles?
Scrum ArtifactsSample UserstoryThe total effort each iteration can accommodate leads to number of user story per iterationEfforts10hrsEfforts: 2hrs IA, 6hrs Development, 2hrs TestingIterations ViewIteration/ Sprint 1Iteration/ Sprint 2ReleaseOne release maycontains number of iterations
Scrum planning exampleTotal hours of workiteration can accommodateIteration cycle of 3 weeksWorking hours per day is 8120hrs8hrs x 5days x 3weeks =Product backlog of 20 storiesEach story effort is 10 hrsIteration backlog or number of stories per iteration12 user story
Scrum in a nutshellSo instead of a large group spending a long time building a big thing, we have a small team spending a short time building a small thing. But integrating regularly to see the whole.
Visualize the 		   WorkLimit Work-In-ProgressKanbanVisual CardSignboardJust-in-time (JIT)Measure & Manage Flow
KanbanLean approach toagiledevelopmentSimilar to Scrum in the sense that you focus on features as opposed to groups of features – however Lean takes this one step further again.You select, plan, develop, test and deploy one feature (in its simplest form) before you select, plan, develop, test and deploy the next feature.Aim is to eliminate ‘waste’ wherever possible…
Kanban (contd…)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 workflowLimit WIP (work in progress) Assign explicit limits to how many items may be in progress at each stageMeasure 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
Kanban Board Illustration - I
Kanban Board Illustration - II
UXAgileadopts
Agile – UX Overlap** Evaluate internally (sales & marketing) and externally (prospects and clients)
ResourcesAgile 101http://agile101.net/2009/09/08/the-difference-between-waterfall-iterative-waterfall-scrum-and-lean-in-pictures/Kanban and Scrum - making the most of bothhttp://www.infoq.com/minibooks/kanban-scrum-minibookKanban kick-start examplehttp://www.limitedwipsociety.org/tag/kanban-board/
Thank You

More Related Content

Overview of Agile Methodology

  • 1. Overview of Agile MethodologyPrepared by: Haresh Karkar [Information Architect]
  • 2. Software development processesA [really] short history of
  • 3. REQUIREMENTSDESIGNDEVELOPMENTWaterfall Development is another name for the more TESTINGtraditional approach to software developmentMAINTENANCEWaterfall Development
  • 4. Waterfall Development (contd..)You complete one phase (e.g. design) beforemoving on to the next phase(e.g. development)You rarely aim to re-visit a ‘phase’ once it’s completed. That means, you better get whatever you’re doing right the first time!
  • 5. ChangesREQUIREMENTSDESIGN You don’t realize any value until the end of the project You leave the testing until the end You don’t seek approval from the stakeholders until late in the daySkippedTakes too longDEVELOPMENTTESTINGThis approach is highly risky, often more costly and generally less efficient than Agile approachesMAINTENANCEBut…
  • 7. Individuals and interactions overprocesses and toolsWorking software overcomprehensive documentationCustomer collaboration overcontract negotiationResponding to change overfollowing a planAgile Manifesto
  • 8. Agile UmbrellaMore Prescriptivemore rules to followRUP (120+)RUP has over 30 roles, over 20 activities, and over 70 artifactsAgileXP (13)Scrum (9)ScrumXPKanban (3)DSDMCrystalFDDKanbanRUPDo Whatever!! (0)and few more…More Adaptivefewer rules to follow* Check wikipedia for list of all Agile methods
  • 9. ScrumA light-weightagileprocess toolProduct/ Project OwnerSplit your organization into small, cross-functional, self-organizing teams.Scrum TeamScrum MasterSplit your work into a list of small, concrete deliverables. Sort the list by priority and estimate the relative effort of each item.
  • 10. Split time into short fixed-length iterations/ sprints (usually 2 – 4 weeks), with potentially shippable code demonstrated after each iteration.Scrum (contd..)JanuaryMayOptimize the release plan and update priorities in collaboration with the customer, based on insights gained by inspecting the release after each iteration.Optimize the process by having a retrospective after each iteration.
  • 13. Things we do in Scruma.k.a Scrum terminologiesThe project/ product is described as a list of features: the backlog. The features are described in terms of user stories. The scrum team estimates the work associated with each story. Features in the backlog are ranked in order of importance. Result: a ranked and weighted list of product features, a roadmap. Daily scrum meeting to discuss What did you do y’day? What will you do today? Any obstacles?
  • 14. Scrum ArtifactsSample UserstoryThe total effort each iteration can accommodate leads to number of user story per iterationEfforts10hrsEfforts: 2hrs IA, 6hrs Development, 2hrs TestingIterations ViewIteration/ Sprint 1Iteration/ Sprint 2ReleaseOne release maycontains number of iterations
  • 15. Scrum planning exampleTotal hours of workiteration can accommodateIteration cycle of 3 weeksWorking hours per day is 8120hrs8hrs x 5days x 3weeks =Product backlog of 20 storiesEach story effort is 10 hrsIteration backlog or number of stories per iteration12 user story
  • 16. Scrum in a nutshellSo instead of a large group spending a long time building a big thing, we have a small team spending a short time building a small thing. But integrating regularly to see the whole.
  • 17. Visualize the WorkLimit Work-In-ProgressKanbanVisual CardSignboardJust-in-time (JIT)Measure & Manage Flow
  • 18. KanbanLean approach toagiledevelopmentSimilar to Scrum in the sense that you focus on features as opposed to groups of features – however Lean takes this one step further again.You select, plan, develop, test and deploy one feature (in its simplest form) before you select, plan, develop, test and deploy the next feature.Aim is to eliminate ‘waste’ wherever possible…
  • 19. Kanban (contd…)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 workflowLimit WIP (work in progress) Assign explicit limits to how many items may be in progress at each stageMeasure 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
  • 23. Agile – UX Overlap** Evaluate internally (sales & marketing) and externally (prospects and clients)
  • 24. ResourcesAgile 101http://agile101.net/2009/09/08/the-difference-between-waterfall-iterative-waterfall-scrum-and-lean-in-pictures/Kanban and Scrum - making the most of bothhttp://www.infoq.com/minibooks/kanban-scrum-minibookKanban kick-start examplehttp://www.limitedwipsociety.org/tag/kanban-board/

Editor's Notes

  1. The meanings of the Manifesto items on the left within the agile software development context are described below.Individuals and Interactions – in agile development, self-organization and motivation are important, as are interactions like co-location and pair programming.Working software – working software will be more useful and welcome than just presenting documents to clients in meetings.Customer collaboration – requirements cannot be fully collected at the beginning of the software development cycle, therefore continuous customer or stakeholder involvement is very important.Responding to change – agile development is focused on quick responses to change and continuous development
  2. Prescriptive means “more rules tofollow” and adaptive means “fewer rules to follow”.