The Confounding World of Process Methodologies By Thelma Hataria Overview 2 Importance of Methodologies Characteristics of Heavyweight Methodologies Heavyweight Methodologies Advantages and Disadvantages Characteristics of Lightweight methodologies Agile (Lightweight) Methodologies Advantages and Disadvantages Conclusion Definition-Methodology 3 “A methodology is a codified set of practices (sometimes accompanied by training materials, formal educational programs, worksheets, and diagramming tools) that may be repeatedly carried out to produce software”-Wikipedia Importance of Methodologies 4 Earlier method “Code and Fix” Methodologies impose a disciplined process upon software development An inappropriate choice of methodology can lead to delayed delivery, project failure and customer dissatisfaction Making an informed choice will lead to high quality software Types of Methodologies Methodologies Lightweight Methodologies Heavyweight Methodologies 5 Characteristics of Heavyweight Methodologies 6 Plan-Oriented Detailed Documentation Predictive Approach Process Oriented Tool Oriented Heavyweight Methodologies “Waterfall Model” 7 Real heavyweight methodology Phase oriented Changes in requirements are not readily acceptable Minimum customer involvement Heavyweight Methodologies “Spiral Model” 8 Not so heavy Iterative & incremental approach Focuses on risk resolution Plan oriented Heavyweight Methodologies “Rational Unified Process” 9 Lightest heavyweight methodology Focuses on process improvement Iterative approach Changes can be accommodated readily Tool oriented Advantages of Heavyweight Methodologies 10 Safe Approach -“Tried and Tested” Reliable Work towards customer satisfaction High Quality of Software Disadvantages of Heavyweight Methodologies 11 Bureaucratic by nature Detailed activities slow process development Characteristics of Lightweight Methodologies 12 People-Oriented Conformance to Outcomes Adaptive Approach Balancing Flexibility and Planning Decentralized Approach Limited Team Size Lightweight Methodologies “Extreme Programming (XP)” 13 Short iteration cycles (2-3 weeks) Communication and Feedback Concentrates on Productivity Pair Programming Approach Complete customer involvement Frequent Integration Lightweight Methodologies “Scrum” 14 Very short iteration cycles(30 days) Sprint meetings held for each iteration Demonstration of updates Close monitoring through scrum meetings More importance to working software Lightweight Methodologies “Crystal Family” 15 Heavy Lightweight methodology Heaviness of methodology can vary depending on the criticality and size of the project Group of approaches for different team sizes Each team have different set of talent and skills Dependent on advice of experts Advantages of Lightweight Methodologies 16 Flexible approach Accommodate changes Faster delivery Customer satisfaction Disadvantages of Lightweight Methodologies 17 Experts not always on hand Progress cannot be always tracked Conclusion 18 Both classes of methodologies have one goal”Software Quality” Project characteristics and organizations goals need to be matched to objectives of the methodology Heavyweight methodologies is the best option when reliability is the issue Lightweight methodologies are needed where customer requirements change constantly Thank you Any questions? 19