agile development in 2001, a group called the “agile alliance” signed a “manifesto” that...

16
Agile Development In 2001, a group called the “Agile Alliance” signed a “manifesto” that stated: •Individuals and Interactions over processes and tools •Working software over comprehensive documentation •Customer collaboration over contract negotiation. •Responding to change over following a plan

Upload: evan-osborne

Post on 29-Dec-2015

212 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Agile Development In 2001, a group called the “Agile Alliance” signed a “manifesto” that stated: Individuals and Interactions over processes and tools

Agile Development

In 2001, a group called the “Agile Alliance” signed a “manifesto” that stated:•Individuals and Interactions over processes and tools•Working software over comprehensive documentation•Customer collaboration over contract negotiation.•Responding to change over following a plan

Page 2: Agile Development In 2001, a group called the “Agile Alliance” signed a “manifesto” that stated: Individuals and Interactions over processes and tools

Agile Development

• Agile Development was a “revolution” that attacked the old guard.

• Agile Development was developed to overcome real and perceived weaknesses in conventional SE.

• It is not applicable to all projects, products, people and situations.

• But it can be applied as an overriding philosophy for all software

Page 3: Agile Development In 2001, a group called the “Agile Alliance” signed a “manifesto” that stated: Individuals and Interactions over processes and tools

Agile Development

• It is often difficult or impossible to predict how a system will evolve.

• Market conditions, end-user needs, new competitive threats, new technology all evolve without warning.

• SE must be agile enough to respond to a fluid environment.

• But it does not mean that we discard SE principles, concepts, methods, and tools.

• The old SE must adapt to the challenges that demand agility.

Page 4: Agile Development In 2001, a group called the “Agile Alliance” signed a “manifesto” that stated: Individuals and Interactions over processes and tools

Agile Development: What is it?

• Combines a philosophy and a set of development guidelines

• Encourages customer satisfaction• Early incremental delivery of SW• Small, highly-motivated teams• Informal methods and development

simplicity• Stress delivery of analysis and design• Active and continuous communication with

customers

Page 5: Agile Development In 2001, a group called the “Agile Alliance” signed a “manifesto” that stated: Individuals and Interactions over processes and tools

Agile Development: Who does it?

• Software engineers and project stakeholders work together.

• An agile team that is self-organizing and in control of it’s destiny

• Team fosters communication and collaboration among all members

Page 6: Agile Development In 2001, a group called the “Agile Alliance” signed a “manifesto” that stated: Individuals and Interactions over processes and tools

Agile Development: Why important?• Current environment is fast-paced and changing.• Offers an alternative to conventional software

engineering for many (most?) projects.• It has demonstrated it can deliver successful

systems quickly.

Page 7: Agile Development In 2001, a group called the “Agile Alliance” signed a “manifesto” that stated: Individuals and Interactions over processes and tools

Agile Development: What are Steps?• Agile Dev. Could be called software engineering

lite?• Keeps basic steps: communication, planning,

modeling, construction, delivery and evaluation.• But basic steps morph into a minimal task set

that pushes the project team toward construction and delivery.

Page 8: Agile Development In 2001, a group called the “Agile Alliance” signed a “manifesto” that stated: Individuals and Interactions over processes and tools

Agile Development: What is work product?

• There is only one really important work product is an operational “software increment” delivered to customer on commitment date.

Page 9: Agile Development In 2001, a group called the “Agile Alliance” signed a “manifesto” that stated: Individuals and Interactions over processes and tools

Agile Development: How to ensure it is done right?

• If the team agrees that the process works.• If the team produces deliverable software

increments on time.• If the SW satisfies the customers• Then it is done right!

Page 10: Agile Development In 2001, a group called the “Agile Alliance” signed a “manifesto” that stated: Individuals and Interactions over processes and tools

Agile Development: pros and cons

• SW is done by people. People are different and show great variation in working styles.

• People are different in– skill levels– creativity– orderliness– consistency– Spontaneity

Page 11: Agile Development In 2001, a group called the “Agile Alliance” signed a “manifesto” that stated: Individuals and Interactions over processes and tools

Agile Development: pros and cons

• May not impose the discipline in communication, planning, modeling, construction, delivery and evaluation that is needed.

• It is not license to hack out solutions.• Agility is dynamic, content specific, aggressively

change embracing, and growth oriented.

Page 12: Agile Development In 2001, a group called the “Agile Alliance” signed a “manifesto” that stated: Individuals and Interactions over processes and tools

12 Principles of Agile Development

1. Highest priority is to satisfy customer2. Welcome changing requirements, even late

changes.3. Deliver working SW frequently4. Stakeholders and SW team must work together

continuously.5. Build around motivated individuals. Give them

support and resources… then trust them to get it done.

6. Most efficient info exchange: face-to-face

Page 13: Agile Development In 2001, a group called the “Agile Alliance” signed a “manifesto” that stated: Individuals and Interactions over processes and tools

12 Principles of Agile Development

7. Working SW is primary measure of progress8. The process promotes sustainable development.9. Continuous attention to technical excellence and

good design.10. Simplicity – the art of maximizing the amount of

work NOT done.11. Best results emerge from self-organizing teams.12. Teams regularly review their team to become

more effective.

Page 14: Agile Development In 2001, a group called the “Agile Alliance” signed a “manifesto” that stated: Individuals and Interactions over processes and tools

Politics of Agile Development

• There is considerable debate about benefits of Agile Development and more traditional software engineering. The two sides say:

• Traditional SE Methodologists are anal retentive and would rather have flawless documentation than a good system.

• Agile Developers are glorified hackers who will have big problems when they try to scale up their toys into enterprise strength SW.

Page 15: Agile Development In 2001, a group called the “Agile Alliance” signed a “manifesto” that stated: Individuals and Interactions over processes and tools

Agile Development: Human Factors

• The SW process molds to the needs of the people and team

• Competence – Innate talent, SW skills, knowledge of process used to develop SW

• Common focus – all members of a team must have a common understanding of the goal(s).

• Collaboration – with members of the team, with customers and with management.

• Decision-making ability – team can control it’s destiny and has the autonomy for technical and project issues

Page 16: Agile Development In 2001, a group called the “Agile Alliance” signed a “manifesto” that stated: Individuals and Interactions over processes and tools

Agile Development: Human Factors

• Fuzzy and ambiguous problem solving – Have to deal with vague estimates, guesses, uncertainty, etc.

• Mutual trust and respect – team members must have this so the whole is greater than the sum of the parts.

• Self-Organizing – 1) organizes the team, 2) team organizes the processes to be used, and 3) team organizes the work schedule.