190 likes | 412 Views
The Confounding World of Process Methodologies. By Thelma Hataria. Overview. Importance of Methodologies Characteristics of Heavyweight Methodologies Heavyweight Methodologies Advantages and Disadvantages Characteristics of Lightweight methodologies Agile (Lightweight) Methodologies
E N D
The Confounding World of Process Methodologies By Thelma Hataria
Overview • 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 • “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 • 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 LightweightMethodologies Heavyweight Methodologies
Characteristics of Heavyweight Methodologies • Plan-Oriented • Detailed Documentation • Predictive Approach • Process Oriented • Tool Oriented
Heavyweight Methodologies “Waterfall Model” • Real heavyweight methodology • Phase oriented • Changes in requirements are not readily acceptable • Minimum customer involvement
Heavyweight Methodologies “Spiral Model” • Not so heavy • Iterative & incremental approach • Focuses on risk resolution • Plan oriented
Heavyweight Methodologies “Rational Unified Process” • Lightest heavyweight methodology • Focuses on process improvement • Iterative approach • Changes can be accommodated readily • Tool oriented
Advantages of Heavyweight Methodologies • Safe Approach -“Tried and Tested” • Reliable • Work towards customer satisfaction • High Quality of Software
Disadvantages of Heavyweight Methodologies • Bureaucratic by nature • Detailed activities slow process development
Characteristics of LightweightMethodologies • People-Oriented • Conformance to Outcomes • Adaptive Approach • Balancing Flexibility and Planning • Decentralized Approach • Limited Team Size
Lightweight Methodologies “Extreme Programming (XP)” • Short iteration cycles (2-3 weeks) • Communication and Feedback • Concentrates on Productivity • Pair Programming Approach • Complete customer involvement • Frequent Integration
Lightweight Methodologies “Scrum” • 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” • 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 • Flexible approach • Accommodate changes • Faster delivery • Customer satisfaction
Disadvantages of Lightweight Methodologies • Experts not always on hand • Progress cannot be always tracked
Conclusion • 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?