Abstract. Heavy vs Light Methodologies: Bulimic or Anorexic? Fernando Brito e Abreu FCT/UNL



Similar documents
Introduction to Agile Software Development. EECS 690 Agile Software Development

Ingegneria del Software Corso di Laurea in Informatica per il Management. Agile software development

Agile QA s Revolutionary Impact on Project Management

History of Agile Methods

Agile in Financial Services A Framework in Focus

Agile Project Management: Adapting project behaviors to the software development environment

Scrum and Agile methods The real world

Agile Project Management

INF5120 Modellbasert Systemutvikling

PMP vs. Scrum Master

Agile & the Declaration of Interdependence: A new approach to Process Improvement

SWEN - Software Engineering Network Donnerstag 06. Mai. 2010

CMMI - The AGILE Way By Hitesh Sanghavi

Software Process. Successful Software Production between Extreme Programming and Rational Unified Process Short Version

Agile Project Management Jim Highsmith. Chapter 1. The Agile Revolution

Agility? What for? And how? > Warm-up Session Agile Tour Vienna 2014

Distributed Agile Development. Bapiraju Nandury Product Development Manager Bangalore Development Centre

Digital Transformation of the Enterprise for SMAC: Can Scrum help?

How To Model In An Agile World

Scrum for Managers, Zurich March 2010

Software Development Life Cycle Models - Process Models. Week 2, Session 1

Agile Software Development with Scrum. Jeff Sutherland Gabrielle Benefield

Software Engineering

D25-2. Agile and Scrum Introduction

Agile, TSP SM, CMMI pick one, pick two, pick all three!

WHITEPAPER GET MORE WORK DONE: A MANAGER S GUIDE TO MIXING AGILE AND WATERFALL

Software processes that are:

The Agile Manifesto August 2001

AGILE PRODUCTIVITY METRICS

Agile to the Bone. Introduction to Agile by Pietari Kettunen

Agile project management is a style of project management that focuses

Software Life Cycles and Configuration Management

Implementing CMMI using a Combination of Agile Methods

Risk Management. What is risk? Boehm s Top 10 Risks [P2] Welcome to Lecture 3 Risk management & Agile PM

Agile Software Development Approaches and Their History. Volkan Günal

Agile Software Development in the Large

Sustainable Software Development in Agile and CMMI: Apply Lessons Learned today

Agile Methods and CMMI: Compatibility or Conflict?

AGILE SOFTWARE DEVELOPMENT: INTRODUCTION, CURRENT STATUS & FUTURE Pekka Abrahamsson Jyväskylä

Comparing Agile Software Processes Based on the Software Development Project Requirements

Agile and Secure: Can We Be Both?

Agile Processes. -- Heinrich Heine

Agile Software Development

CS435: Introduction to Software Engineering! " Software Engineering: A Practitioner s Approach, 7/e " by Roger S. Pressman

Best Practices Fusion: Lean Six Sigma and ITIL. By Gary A. Gack

Manifesto for Agile Software Development

Success Factors of Agile Software Development

PENETRATION TESTING IN AGILE SOFTWARE DEVELOPMENT PROJECTS

What Does Large Mean? Copyright 2003 by N. Josuttis and J. Eckstein 3. Why is Large an Issue?

USAGE OF KANBAN METHODOLOGY AT SOFTWARE DEVELOPMENT TEAMS

the team level and is characterized by self organizing, cross functional teams doing iterative development in what are called Sprints.

CSSE 372 Software Project Management: Managing Agile Projects

CSSE 372 Software Project Management: More Agile Project Management

Laboratório de Desenvolvimento de Software

Moonzoo Kim CS Division of EECS Dept. KAIST

Software Quality and Assurance in Waterfall model and XP - A Comparative Study

A Contrast and Comparison of Modern Software Process Models

AGILE SOFTWARE DEVELOPMENT

Future of CMM and Quality Improvement. Roy Ko Hong Kong Productivity Council

INTRODUCTION TO AGILE METHODS

Software Development Methodologies

"Bezpieczny Projekt"

On the Agile Development of Virtual Reality Systems

Framework for Agile Methods Classification

REVIEW OF AGILE METHODOLOGIES IN SOFTWARE DEVELOPMENT

Quality Assurance Software Development Processes

Introduction to Agile Software Development

Plan-Driven Methodologies

Development Methodologies. Types of Methodologies. Example Methodologies. Dr. James A. Bednar. Dr. David Robertson

An Approach for Using CMMI in Agile Software Development Assessments: Experiences from Three Case Studies

What CMMI Cannot Give You: Good Software

Akhil Kumar 1, Bindu Goel 2

Manoo Ordeedolchest Chairman ICT Policy Committee Sripatum University Microsoft Software Development Life Cycle Management of Enterprise June 5, 2007

Agile Execution for and Beyond IT

Software Quality Development and Assurance in RUP, MSF and XP - A Comparative Study

CMMI and IBM Rational Unified Process

Quality in an Agile World BY SCOTT AMBLER Ambysoft, Inc.

Agile user-centred design

Course "Softwareprozesse" Agile Methods: Crystal, Scrum, Lean SD, Kanban,

Topics covered. Agile methods Plan-driven and agile development Extreme programming Agile project management Scaling agile methods

How To Plan A Project

Applying Agile Methods in Rapidly Changing Environments

1. CMMI and Scrum TWO BRANCHES OF SOFTWARE DEVELOPMENT

Tamanna Assistant Professor Chandigarh University Gharuan, Mohali,India

The Agile approach Extreme Programming (XP) Implementing XP into a software project Introducing HCI design into agile software development Summary

Transcription:

Heavy vs Light Methodologies: Bulimic or Anorexic? Fernando Brito e Abreu FCT/UNL ISCTE, 15 April 2005 Abstract 2 From anorexic to bulimic Overview of heavy-weight methodologies Origins of light-weight methodologies The Manifesto Agility example: XP The dark side of the light Planned (RUP) vs Agile (XP) When to be agile?

Some hype 3 Plan-driven methodologies Heavy-weight methodologies CMM, ISO9000-3, ISO12207, PSP, TSP, ISO15504 (SPICE), RUP, CMMi, Fat? Bulimic? Agile software development Light-weight methodologies Extreme Programming (XP), Scrum, Feature-Driven Development (FDD), Adaptive Software Process, Crystal Light Methodologies, Dynamic Systems Development Method (DSDM), Lean Development Thin? Anorexic? From anorexic to bulimic 4 "If you don't know where you are going, every road will take you there..." Alice in Wonderland Many projects run unconstrained Total freedom for artists Unpredictable results DoD Mil. Std 2167A Highly constrained, high organizing overheads Very well defined deliverables

Overview of heavy-weight methodologies Processes and tools Comprehensive documentation Contract negotiation Following a plan On projects with more than 250 people, methodology will have almost no impact on success or failure politics will dominate. Jim Highsmith 5 CMM - Capability Maturity Model 6 Continuously improving process Optimising (5) Predictable process Managed (4) Standard, consistent process Defined (3) Disciplined process Repeatable (2) Progress Initial (1)

7 CMM - Capability Maturity Model Optimizing (5) Process change management Technology change management Defect prevention Managed (4) Software Quality management quality management Quantitative Process measurement process management and analysis Initial (1) Defined (3) Peer reviews Intergroup coordination Software product engineering Integrated software management Training program Organization process definition Organization process focus Repeatable (2) Software configuration management Software quality assurance Software subcontract management Software project tracking and oversight Software project planning Requirements management Process Advisor (Roger Pressman & Associates) 8

ISO 15504 9 SPICE - Software Process Improvement and Capability determination Initiative of WG10 (Process Assessment) - ISO/IEC JTC1/SC7 (Software Engineering) OBJECTIVES: Unify software process assessment efforts Elaboration of a set of international standards ISO 15504 Organizations involved 10 Australian Software Quality Research Institute Bell Canada Northern Telecom Bell Northern Research (BNR) BOOTSTRAP Consortium British Telecommunications Plc. Centre de Recherche d'informatique de Montréal Defense Research Agency, UK European Software Institute Software Engineering Institute Etnoteam, Italy University of Oulu, Finland Bellcore, EUA and other organizations from Japan, South Africa, France, Ireland, Spain,...

ISO 15504 11 Considers 5 Generic Process Categories: CUS - customer-supplier supplier process category ENG - engineering process category PRO - project management process category SUP - support process category ORG - organization process category Capability Maturity Model Integrated (CMMI ) Is an integrated model to propel process improvements in systems engineering and software engineering. 12 The model encompasses: 5 maturity levels 25 Process Areas (PAs( PAs) Several flavors (SE/SW/IPPD/SS)

Capability Maturity Model Integrated (CMMI ) Level 2 - Requirements Management, Project Monitoring and Control, Project Planning, Supplier Agreement Management, Configuration Management, Process & Product QA, Measurement & Analysis Level 3 - Requirements Development, Technical Solution, Product Integration, Organizational Training, Verification Validation, Risk R Management, Decision Analysis & Resolution, Integrated Project Management, Organizational Process Focus, Organizational Process Definition Level 4 - Quantitative Project Management, Organizational Process Performance Level 5 - Organizational Innovation & Deployment, Causal Analysis & Resolution Additional Requirements of IPPD - Changes to Integrated Project Management, Integrated Teaming and Organizational Environment for Integration Additional Requirements of SS - Integrated Supplier Management 13 Rational Unified Process (RUP) 14 2003 1998 Performance Testing Business Engineering Data Engineering 1997 Requirements College 1996 OMT approach IBM - Rational Unified Process v2003 Rational Unified Process 5.0 Rational Objectory Process 4.1 Rational Objectory Process 4.0 UML 1.2 Objectory UI Design Change & Configuration Management SQA Process UML 1.0 UML 0.5 OOSE 1995 Rational Approach Objectory Process 3.8

Rational Unified Process (RUP) 15 Use-Case Model Specified by Realized by Analysis Model Distributed by Design Model Implemented by Deployment Model Implementation Model X OK Verified by X OK X OK Test Model Rational Unified Process (RUP) 16 (Who) (How) Workflow (When) (What)

Origins of light-weight methodologies 17 Project Start Planned Result Final Result Origins of light-weight methodologies Agility The ability to both create and respond to change in order to profit in a turbulent business environment Companies need to determine the amount of agility they need to be competitive Chaordic (ex: agile view) Exhibiting properties of both chaos and order The blend of chaos and order inherent in the external environment and in people themselves, argues against the prevailing wisdom about predictability and planning Things get done because people adapt, not because they slavishly follow processes An agile view is a chaordic view 18

The Agile Manifesto Subscribers 19 Alistair Cockburn Andrew Hunt Arie van Bennekum Brian Marick Dave Thomas James Grenning Jeff Sutherland Jim Highsmith Jon Kern Ken Schwaber Kent Beck Martin Fowler Mike Beedle Robert C. Martin Ron Jeffries Steve Mellor Ward Cunningham The Agile Manifesto [Feb 2001] 20 We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: Individuals and interactions over processes and tools Working sw over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan That is, while there is value on the items on the right, we value the items on the left more.

Agile Management Issues 21 Promote teambuilding and trust Set an open tone with the customer(s) organizations Interpret and translate risks for overall program integration and a common view Have a robust, flexible, and adaptable configuration and data management system Summary of Agile Characteristics 22 Adaptability rather than predictability People rather than development process Being agile means accepting that outcomes are not predictable and that processes are not repeatable Collaborative values and principles A barely sufficient methodology the conventions we agree to Processes are described in manuals; practices are what happen in reality

Agility example: XP 23 XP Practices 24 The Planning Game Small Releases System Metaphor Simple Design Testing Refactoring Pair Programming Collective Ownership Continuous Integration 40-hour week On-site site-customer Coding Standards

XP Schedule 25 The dark side of the light... 26 XP Considered Harmful... for Reliable SW Development [Gerold Keefer, 2002] The embrace change value... The practice of refactoring... The simplicity value... The practice of pair programming......

Planned (RUP) vs Agile (XP) 27 RUP XP Business Modeling Req. Management Analysis & Design Implementation Test Deployment CCM Project Management Environment Coding Testing Listening Designing Planned (RUP) vs Agile (XP) 28 Process Disciplines Business Modeling Requirements Analysis and Design Implementation Test Deployment Supporting Disciplines Configuration Mgmt Management Environment Phases Inception Elaboration Construction Preliminary Iteration(s) Iter. #1 Iter. #2 XP-Window Iter. #n Iter. #n+1 Iterations Iter. #n+2 Transition Iter. #m Iter. #m+1

When to be agile? 29 Problems characterized by change, speed, and turbulence are best solved by agility. Accelerated time schedule combined with significant risk and uncertainty that generate constant change during the project. Is your project more like drilling for oil or like managing a production line? Oil exploration projects need Agile processes. Production-line projects are often well-served by rigorous methodologies. That s all folks 30 Fernando Brito e Abreu fba@di.fct.unl.pt http://ctp.di.fct.unl.pt ctp.di.fct.unl.pt/quasar Questions?

References 31 Agile Software Development Ecosystems, Jim Highsmith Agile Software Development, Alistair Cockburn, PearsonP Education, Inc, Boston, MA, 2002 Agile Modeling: Effective Practices for Extreme Programming and the Unified Process, Scott Ambler Agile Development, Rich McCabe, May 2003 Agile Software Development with Scrum, Ken Schwaber and Mike Beedle,, Prentice- Hall, Inc., 2002 Extreme Programming Explained: Embrace Change, Kent Beck Refactoring: Improving the Design of Existing Code, Martin Fowler Adaptive Software Development, A Collaborative Approach to Managing Complex Systems, Jim Highsmith, Dorset House Publishing, New York, 2000. A Practical Guide to Feature-Driven Development, Stephen Palmer and John Felsing Rising, L. and N. S. Janoff (2000). The Scrum Software Development Process for Small Teams. IEEE Software. July/August 2000 Foundations of Lean Development: The Lean Development Manager s s Guide, Vol 2, Robert Charette Extreme Programming Explained,, Kent Beck, Addison Wesley, 2000 The Rational Unified Process,, An Introduction,, Second Edition, Philippe Kruchten, Addison-Wesley Wesley,, 2000 Refactoring: Improving the Design of Existing Code, Martin Fowler et al., Addison-Wesley Wesley,, 2000 Extreme Programming Installed,, Ron Jeffries, Ann Anderson, Addison-Wesley