Success in Canadian Automated Air Traffic Control System (CAATS)
DoD Mil-Std-498 replaced 2167A
Jeff Sutherland and Ken Schwaber, employed time-boxed 30-day iterations
Inspiration from Japanese IID approach (1980), shashimi ( slices or iterations ); and version of Scrum in 1986
1999 article described refinements to Scrum
Methods
Dynamic Systems Development Method (DSDM); Rational Unified Process, XP practices, Feature-Driven Development (FDD)
Introduction (History)
Standish Group CHAOS reported, 1998, to adopt IID
2000s (Larman & Basili, 2003)
Agile
DoD replaced Mil-Srd-498 to DoD-5000.2
Meeting, Utah, 2001, promoting IID
Agile Alliance
Agile methods
2000s to the present
Lean, Evo, Crystal family, Open Rup, MSF XP2, …
Agile - Fundamentals
Definition
Ability to adapt quickly and flexiblity to changes in process, product and environment (Aoyama, 1998)
Characterization
Adaptability, incrementally, iteratively, collaboratively, cooperation, orientation to people, leanness, restriction of time (Miller, 2001) (Abrantes & Travassos, 2007)
Knowledge is Tacit, Comunication is Informal, Customer’s Role is Critical, Control is People Centric, Desired Organizational Form/Structure is Organic (flexible and participative encouraging cooperative social action) (Nerur et al., 2005)
Agile - Fundamentals
Manifesto for Agile Software Development
(Agile Manifesto, 2001)
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
Agile - Fundamentals
Principles behind the Agile Manifesto
(Principles Agile Manifesto, 2001)
Highest priority is to satisfy the customer through early and continuous delivery of valuable software .
Best architectures, requirements, and designs emerge from self-organizing teams
Welcome changing requirements
Deliver working software frequently , from a couple of weeks to a couple of months, with a preference to the shorter timescale.
Build projects around motivated individuals .
Most efficient and effective method of conveying information to and within a development team is face-to-face conversation .
Agile - Fundamentals
Principles behind the Agile Manifesto
At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly
Simplicity- -the art of maximizing the amount of work not done--is essential
Agile processes promote sustainable development The sponsors, developers, and users should be able to maintain a constant pace indefinitely
Working software is the primary measure of progress
Business people and developers must work together daily throughout the project
Continuous attention to technical excellence and good design enhances agility
Agile – Why? ( http://www.standishgroup.com/ )
Agile – Why? ( http://www.standishgroup.com/ ) 51% 34% 15% Com problemas sucesso falham
Agile – Why? (Beck & Fowler, 2001) Software development isn’t previsible Software development needs constantly making little corrections
Agile – Why?
Agile - Culture
(O’Reilly et al, 1991) (Tolfo & Wazlawick, 2008)
Characteristics
Innovation and Risk
Detail Orientation
Outcome Orientation
Team Orientation
Aggressiveness
Stability
People Orientation
Agile - Culture
Innovation and Risk
Agile requires observing developer’s disposition to innovate and shoulder risks
Detail Orientation
Agile requires code been simple, test , understand the customer, continuous integrations, …
Outcome Orientation
Agile requires balance among profitability, minimization of costs, and other values, such as concern with employees’ work conditions and software quality
Agile - Culture
Team Orientation
In Agile teamwork is extremely valued, and it becomes feasible through communication, feedback, common vocabulary and preference for more direct forms of communication
Aggressiveness
In Agile by means of collaboration, developers may teach and guide inexperienced colleagues
Stability
Agile is a considerable change for any company
People Orientation
In Agile the way software is developed depends essentially on people
The Satir Model (Satir, 1991) (Smith, 2009)
Agile – Framework
4-DAT (4-dimensional analytical tool)
Framework that assesses degrees of agility
Selection or adoption of an agile method or agile method fragments
4. Fitness for business purpose is the essential criterion for acceptance of deliverables
5. Iterative and incremental delivery is necessary to converge on accurate business solution
6. All changes during development are reversible
7. Requirements are baselined at a high level
8. Testing is integrated throughout the lifecycle
9. Collaboration and co-operation between all stakeholders is essential
(Highsmith, 2002)
Agile Methods – DSDM DSDM Process (Highsmith, 2002) (www.dsdm.org) Feasibility Study Functional Model Iteration (x3) Agree Plan Create Functional Prototype Review Prototype Identify Functional Prototype Design & Build Iteration (x3) Identify Design Prototypes Agree Plan Create Design Prototype Review Design Prototype Implementation Implement Train Users User Approval & Guidelines Review Business Business Study Pre-project Post-project
Agile Methods – DSDM
At the heart of DSDM are
Facilitated Workshops
Prioritisation
Timeboxing
Prototyping
As well as others, for example
Risk Management
Configuration Management
Modelling
(www.dsdm.org)
Agile Methods – DSDM
Project Level Roles
Executive Sponsor
Visionary
DSDM Project Manager
Technical Co-ordinator
Core Team Roles
DSDM Team Leader
Developer
Ambassador User
Tester
Scribe
Other Roles
Advisor User, Facilitator, Specialists
One person many roles
One role many people
Substitute responsibilities
But cover them all
e.g. Ambassador User
Input to business requirements
Provide detail business scenarios
Communicate with other users
Provide input to prototyping sessions
Review documentation
Review and accept delivered software
User training / user documentation
Organise and control user testing
(Highsmith, 2002) ( www.dsdm.org)
Agile Methods – Crystal Family
Focusing on skills, communications, and community allows the project to be more effective and more agile than focusing on processes and plans
Alistair Cockburn
(http://alistair.cockburn.us/crystal )
Crystal: clear, yellow, orange, orange-web, red
Agile Methods – Crystal Family (http://alistair.cockburn.us/crystal )
Agile Methods – Crystal Family
Principles - summary
The team can reduce intermediate work products as it produces running code more frequently, as it uses richer communication channels between people.
Every project is slightly different and evolves over time, so the methodology, the set of conventions the team adopts, must be tuned and evolve
(http://alistair.cockburn.us/crystal )
Agile Methods – Crystal Family
Elements of Crystal Clear
Roles
sponsor, senior designer-programmer, designer-programmer, and user
Work products
release plan, schedule of reviews, low-ceremony use cases (or equivalent), design sketches, running code, common object model, test cases, and user manual
Policy standards
incremental delivery every two to three months, some automated testing, direct user involvement, two user reviews per release, and methodology tuning workshops
(http://alistair.cockburn.us/crystal )
Agile Methods – FDD
FDD – Feature-Driven Development
The system is the Project
Managers must first learn to see, hear, and think about human systems before they can hope to control them
Software projects are human systems
Feature Naming Template
<action> the <result> <by|for|of|to> a(n) <object>
Businesses are discovering that while their markets change rapidly, their software systems do not . Bob Charette, Foundations of Lean Development (http://www.poppendieck.com/people.htm ) (Highsmith, 2002)
Agile Methods – Lean Development
One facet of Lean is a focus on business domains
Software is built for certain domains that make high-level reusability possible
The process side of Lean
Scrum, DSDM
(Highsmith, 2002)
Agile Methods - XP
Always be doing the most important thing you can be working on
Agile Methods – Evaluation (Qumer & Henderson-Sellers, 2007) Criteria XP Scrum FDD ASD DSDM Crystal Scope Project size Small, medium Small, medium, and scalable for large Small, medium, and large (business projects/applications) Large and Complex projects Small and large projects (Business Applications) Small and medium Team size <10 <10 and multiple teams * No limit – scalable from small to large teams Not mentioned Minimum 2 and Maximum 6 (Multiple teams) Single team in crystal clear with maximum 6 people in a team. Multiple teams with maximum 40 persons in orange and 80 persons in red methodology Development style Iterative, rapid Iterative, rapid Iterative design and construction Iterative and rapid development – distributed development Iterative, rapid development and cooperative Iterative and rapid development
Agile Methods – Evaluation (Qumer & Henderson-Sellers, 2007) Criteria XP Scrum FDD ASD DSDM Crystal Code style Clean and simple Not specified Not specified Not mentioned Not mentioned Not mentioned Technology environment Quick feedback required Not specified Not specified Not mentioned Not mentioned Not mentioned Physical environment Co-located teams and distributed teams (limited-interaction) Not specified Not specified Co-located and distributed teams Not mentioned Co-located team – no support for distributed development Business culture Collaborative and cooperative Not specified Not specified Not specified Collaborative and cooperative Not mentioned Abstraction mechanism Object-oriented Object-oriented Object-oriented Object-oriented/Component-oriented Object-oriented/Component-oriented Object-oriented
Tools for understanding practices and sociological methods
DSDM
theory needs some practice
To explore qualitative studies (mature teams)
(Bates & Yates, 2008)
References
(Abrantes & Travassos, 2007) ABRANTES,J.F.,TRAVASSOS, G.H., 2007, "Caracterização de Métodos Ágeis de Desenvolvimento de Software", Proceedings of Workshop de Desenvolvimento Rápido de Aplicações do Simpósio Brasileiro de Qualidade de Software (WDRA - SBQS 2007), Porto de Galinhas-PE, Brazil.
(Aoyama, 1998) Aoyama, Mikio. Agile Software Process and its Experience. ICSE, 1998.
(Bates & Yates, 2008) Bates, C. D. and Yates, S. 2008. Scrum down: a software engineer and a sociologist explore the implementation of an agile method. In Proceedings of the 2008 international Workshop on Cooperative and Human Aspects of Software Engineering (Leipzig, Germany, May 13 - 13, 2008). CHASE '08. ACM, New York, NY, 13-16. DOI= http://doi.acm.org/10.1145/1370114.1370118
(Boehm, Turner, 2003) Barry Boehm, Richard Turner. Observations on Balancing Discipline and Agility. 2003.
(Cannizzo et al., 2008) Cannizzo, Fabrizio and Marcionetti, Gabriela and Moser, Paul. Evolution of the Tools and Practices of a Large Distributed Agile Team. Agile Conference, 2008.
(Chow & Cao, 2007) Tsun Chow, Dac-Buu Cao. A survey study of critical success factors in agile software projects. 2007.
(Dyba & Dingsøyr , 2008) Tore Dyba˚ *, Torgeir Dingsøyr. Empirical studies of agile software development: A systematic review. 2008.
(Kolovos et al., 2005) Kolovos, Dimitrios S. ; Paige, Richard F. and Polack, Fiona. An Agile and Extensible Code Generation Framework. Extreme Programming and Agile Processes in Software Engineering, 6th International Conference, XP 2005, Sheffield, UK, June 18-23, 2005. Springer. Lecture Notes in Computer Science.
(Larman & Basili, 2003) Craig Larman,Victor R. Basili. Maryland Iterative and Incremental Development: A Brief History. 2003.
(Miller, 2001) Miller, Granville G.. The Characteristics of Agile Software Processes. Proceedings of the 39 th Int’l Conf. and Exhibition on Technology of Object-Oriented Languages and Systems (TOOLS’01).
References
(Muthig et al., 2004) Mikael Lindvall, Dirk Muthig, Aldo Dagnino, Christina Wallin, Michael Stupperich, David Kiefer, John May, Tuomo Kähkönen. Agile Software Development in Large Organizations. 2004.
(Nerur et al., 2005) Nerur, Sridhar; Mahapatra, RadhaKanta; Mangalaraj, George.Challenges of Migrating to Agile Methodologies. Communications of the ACM, Vol. 48, no. 5, 2005.
(O’Reilly, 1991) O’Reilly, C.A., Chatman, J., Caldwell, D.F.. People and Organizational Culture: a profile comparison approach to assessing person organization fit. In: Academy of management Journal, pp. 487–516. 1991.
(Qumer & Henderson-Sellers, 2007) A. Qumer, B. Henderson-Sellers. An evaluation of the degree of agility in six agile methods and its applicability for method engineering. 2007.
(Qumer & Henderson-Sellers, 2008) A. Qumer, B. Henderson-Sellers . A framework to support the evaluation, adoption and improvement of agile methods in practice. 2008.
(Rao and Trapa, 2006) Rao, Santhpur and Trapa, Valerie. T3 - Tool for Monitoring Agile Development. IEEE. Proceedings of AGILE 2006 Conference (AGILE'06)
(Satir, 1991) Satir, Virginia, et. al., The Satir Model: Family Therapy and Beyond, ISBN 0831400781, Science and Behavior Books, 1991.
(Smith, 2009) Steven M Smith < http://www.stevenmsmith.com/my-articles/article/the-satir-change-model.html >
(Sutherland, 2006) Sutherland, J. Future of scrum: parallel pipelining of sprints in complex projects . Agile Conference, 2005. Proceedings. Patientkeeper, Inc., Brighton, MA, USA; IEEE Explore, 2006.
(Tolfo & Wazlawick, 2008) Cristiano Tolfo, Raul Sidnei Wazlawick. The influence of organizational culture on the adoption of extreme programming, 2008.
0 comments
Post a comment