Escolar Documentos
Profissional Documentos
Cultura Documentos
02/09/08 2
Basic Engineering Steps
► Eliciting functional goals
► Requirements analysis
► Design
► Coding
► Unit testing
► System testing
► Regression analysis
► Integration
► Integration testing
► Maintenance
02/09/08 3
Basic Engineering Steps
► Eliciting functional goals
► Requirements analysis
► Design
► Coding
► Unit testing
► System testing
► Regression analysis
► Integration
► Integration testing
► Maintenance
02/09/08 4
Waterfall Method
Requirements
Design
Coding
Testing
Integration
Evaluation
Maintenance
02/09/08 5
Waterfall Results
Requirements Reqs & Use cases
Design Architecture
Coding System
Evaluation Feedback
Maintenance Plan
02/09/08 6
Waterfall Resources
Business/Users Requirements
Architect Design
Programmers Coding
Testers Testing
Integrators Integration
Users Evaluation
IT Staff Maintenance
02/09/08 7
The Problem
Ford story
02/09/08 8
Advantages
► You always know what you are doing
► Forces discipline
► Each step is clear and can be signed
off on
► Project timeline can be managed on a
macro level
► Looks like good business
02/09/08 9
Disadvantages
► Limited communication
► No user feedback
► Resistant to change
► Project can not be managed on a
micro scale
► Limited predictability
► Has nothing to do with good business
02/09/08 10
Basic Engineering Processes
► Eliciting functional goals
► Requirements analysis
► Design
► Coding
► Unit testing
► System testing
► Regression analysis
► Integration
► Integration testing
► Maintenance
02/09/08 11
What are we doing?
Manufacturing Development
02/09/08 12
What are we doing?
Manufacturing Development
02/09/08 13
Why so unpredictable?
► Clients don’t quite know what they
want.
► They can not express the things they
do know.
► Details are not yet revealed.
► Details are overwhelming.
► Clients change their minds.
► Clients find their minds.
► External forces change requirements.
02/09/08 14
Change
► All of these factors lead to the need to
embrace change.
02/09/08 15
Change
► All of these factors lead to the need to
embrace change.
02/09/08 17
The Agile Principles
1: Our highest priority is to satisfy the
customer through early and continuous
delivery of valuable software.
02/09/08 18
The Agile Principles
2: Welcome changing requirements,
even late in development. Agile
processes must harness change for the
customer's competitive advantage.
02/09/08 19
The Agile Principles
3: Deliver working software frequently,
from a couple of weeks to a couple of
months, with a preference for the
shorter timescale.
Analogy to producers
02/09/08 22
The Agile Principles
6: The most efficient and effective
method of conveying information with
and within a development team is face-
to-face conversation.
02/09/08 23
The Agile Principles
7: Working software is the primary
measure of progress.
02/09/08 24
The Agile Principles
8: Agile processes promote sustainable
development. Everyone should be able
to maintain a constant pace indefinitely.
~Rapid Application
02/09/08 Development 26
The Agile Principles
10: Simplicity—the art of maximizing the
amount of work not done—is essential.
Crossen’s Law
02/09/08 27
The Agile Principles
11: The best architectures,
requirements and designs emerge from
self-organizing teams.
02/09/08 29
Agile Methods
►Scrum: Self directed teams.
►The cycles.
►The ceremony.
►The roles.
02/09/08 31
But they all come down to
02/09/08 32