AGILE PROCESS INTRODUCTION Author: Nguyen Phuc Hai Created
date: 1/7/2008
Slide 2
Agenda Introduction Software Development Process Software
Development Life Cycle Waterfall model Iterative model Rational
Unified Process (RUP) Agile Development Process (ADP) Scrum
process
Slide 3
Software Development Life Cycle Waterfall model Iterative model
Rational Unified Process (RUP) Agile Development Process (ADP)
Software Development Process
Slide 4
Why we need process
Slide 5
Software Development Life Cycle
Slide 6
Waterfall model Iterative model Rational Unified Process (RUP)
Agile Development Process (ADP) Software Development Process
Slide 7
Introduction
Slide 8
Definitions The waterfall model is a sequential software
development model (a process for the creation of software) in which
development is seen as flowing steadily downwards through the
phases of requirements, analysis, design, implementation, testing
and maintenance.
Slide 9
Waterfall usage Advantages High reliable product Reduce risk
Clear scope and contract Disadvantages Much over cost, resource and
schedule Lack of product can apply Waterfall (except small and
short-duration projects) Specific skill sets are required for each
phase
Slide 10
Software Development Life Cycle Waterfall Model Iterative Model
Rational Unified Process (RUP) Agile Development Process (ADP)
Software Development Process
Slide 11
Introduction
Slide 12
Definitions Iterative and Incremental development is a cyclical
software development process developed in response to the
weaknesses of the waterfall model. Iterative development slices the
deliverable business value (system functionality) into iterations.
In each iteration a slice of functionality is delivered through
cross-discipline work, starting from the model/requirements through
to the testing/deployment
Slide 13
Usage Advantages: Optimize cost, schedule and resource than
waterfall model Incrementally delivery business value Continuously
improve product quality (requirements, design, code, test) via
regularly feedback and learning knowledge
Slide 14
Software Development Life Cycle Waterfall Model Iterative Model
Rational Unified Process (RUP) Agile Development Process (ADP)
Software Development Process
Slide 15
Iterative Model Graph
Slide 16
Phases and Iterations RUP life cycle organizes the tasks via
phases and iterations. RUP has four phases: Inception Elaboration
Construction Transition
Slide 17
Static Structure of the Process The process describes who is
doing what, when and how. RUP uses the 4 modeling elements:
Workers, the who Artifacts, the what Activities, the how Workflows,
the when
Slide 18
Software Development Life Cycle Waterfall Model Iterative Model
Rational Unified Process (RUP) Agile Development Process (ADP)
Agile Manifesto Agile Principles Software Development Process
Slide 19
Manifesto of ADP Individuals and interactions over processes
and tools Working software over comprehensive documentation
Customer collaboration over contract negotiation Responding to
change over following a plan
Slide 20
Principles of Agile Our highest priority is to satisfy the
customer through early and continuous delivery of valuable
software. Welcome changing requirements, even late in development.
Agile processes harness change for the customer's competitive
advantage. Deliver working software frequently, from a couple of
weeks to a couple of months, with a preference to the shorter
timescale.
Slide 21
Principles of Agile (continue) Business people and developers
must work together daily throughout the project. Build projects
around motivated individuals. Give them the environment and support
they need, and trust them to get the job done. The most efficient
and effective method of conveying information to and within a
development team is face-to-face conversation.
Slide 22
Principles of Agile Working software is the primary measure of
progress. Agile processes promote sustainable development. The
sponsors, developers, and users should be able to maintain a
constant pace indefinitely. Continuous attention to technical
excellence and good design enhances agility.
Slide 23
Principles of Agile Simplicity --the art of maximizing the
amount of work not done--is essential. The best architectures,
requirements, and designs emerge from self-organizing teams. At
regular intervals, the team reflects on how to become more
effective, then tunes and adjusts its behavior accordingly.
Slide 24
Sequence of iterations
Slide 25
What is Scrum Introduction Applying Scrum Preconditions to
Scrum Scrum roles How to scrum Scrum Process
Slide 26
What is Scrum
Slide 27
Applying Scrum Scrum is not silver bullet
Slide 28
Applying Scrum Adopt all Scrum practices
Slide 29
Applying Scrum Top-Bottom or Bottom-Up? Combine both approaches
properly
Slide 30
What is Scrum Preconditions to Scrum Scrum roles Scrum
ceremonies Scrum Process
Slide 31
Transparency
Slide 32
Ethics
Slide 33
Team work
Slide 34
Freedom
Slide 35
Open communication
Slide 36
Stakeholder engagement
Slide 37
Maturity
Slide 38
What is Scrum Preconditions to Scrum Scrum roles Product Owner
Scrum Master Team Scrum ceremonies Scrum artifacts Scrum
Process
Slide 39
Product Owner Product owner has the following responsibilities:
Define the features of the product; Decide on release date and
content; Be responsible for the profitability of the product (ROI);
Prioritize features according to market value; Adjust features and
priority every 30 days, as needed; Accept or reject work
results.
Slide 40
Scrum Master The Scrum Master is a facilitative team leader
working closing with the Product Owner. He must: Ensure that the
team is fully functional and productive; Enable close cooperation
across all roles and functions; Remove barriers; Shield the team
from external interferences; and Ensure that the process is
followed, including issuing invitations to Daily Scrum, Sprint
Review and Sprint Planning meetings.
Slide 41
Scrum Master (continue) The Scrum Master has three primary
responsibilities in addition to leading the Daily Scrum meeting:
Needs to know what tasks have been completed, what tasks have
started, any new tasks that have been discovered, and any estimates
that may have changed. The Scrum Master must also look carefully at
the number of open tasks in progress. Needs to surface dependencies
and blocks which are impediments to the Scrum. They need to be
prioritized and tracked.
Slide 42
Scrum Master (continue) Last but not least, the Scrum Master
may notice personal problems or conflicts within the Scrum that
need resolution. These need to be clarified by the Scrum Master and
be resolved by dialogue within the team, or the Scrum Master may
need help from management or the Human Resources.
Slide 43
Team Is cross-functional, with seven (plus/minus two) members;
Selects the Sprint goal and specifies work results; Has the right
to do everything within the boundaries of the project guidelines to
reach the Sprint goal; Organizes itself and its work; and Demos
work results to the Product Owner
Slide 44
What is Scrum Preconditions to Scrum Scrum roles Scrum
ceremonies Sprint Planning Meeting Daily Scrum Meeting Sprint
Review Meeting Scrum artifacts Scrum Process
Slide 45
Sprint Planning Meeting Preparation for a Scrum sprint begins
when the Product Owner develops a plan for a product or a project.
The team reviews the estimates for features on the Product Backlog
and confirms that they are as accurate as possible Be used to
develop a detailed plan for the iteration Be time-boxed to a
maximum of four hours.
Slide 46
Daily Scrum Meeting Be the fifteen-minute meeting designed to
clarify the state of the Scrum. Each team member speaks to three
questions: What did I do yesterday What did I do today, and What
impediments got in my way? Only team members who have committed to
deliver work to the Scrum are allowed to speak. The goal is to get
a global snapshot of the project, discover any new dependencies,
address any personal needs of committed individuals, and adjust the
work plan in real time to the needs of the day.
Slide 47
Daily Scrum Meeting Pig and chicken issue in Scrum
Slide 48
Sprint Review Meeting Be held at the end of each Sprint.
Product Owner determines which items on the Product Backlog have
been completed in the Sprint, and discusses with the Scrum team and
stakeholders how best to reprioritize the Product Backlog for the
next sprint Be time-boxed to a maximum of four hours.
Slide 49
What is Scrum Preconditions to Scrum Scrum roles Scrum
ceremonies Scrum artifacts Product Backlog Sprint Backlog Burn-down
Chart Scrum Process
Slide 50
Product Backlog A single list of features prioritized by value
delivered to the customer. The Product Backlog includes business
and technical requirements needed to build the product. The highest
priority items in the Product Backlog need to be broken down into
small enough chunks to be estimable and testable. Features that
will be implemented further out in time can be less detailed.
Slide 51
Product Backlog Sprint Backlog may change for several reasons:
The development team gains a better understanding of work to be
done as time progresses and may find that they need to add new
tasks to the Sprint Backlog. Defects may be identified and logged
as additional tasks. The Product Owner may work with the team
during the Sprint to help refine team understanding of the Sprint
goal. The Scrum Master and Team may decide that minor adjustments
that do not lengthen the Sprint are appropriate to optimize
customer value.
Slide 52
Product Backlog Example
Slide 53
Sprint Backlog The list of tasks that the Scrum team is
committing that they will complete in the current sprint. Items on
the sprint backlog are drawn from the Product Backlog, by the team
based on the priorities set by the Product Owner and the team's
perception of the time it will take to complete the various
features.
Slide 54
Sprint Backlog Example
Slide 55
Burn-down Chart The Burn-down Chart is used as a tool to guide
the development team to successful completion of a Sprint on time.
Shows the cumulative work remaining in a Sprint, day- by-day. The
total of all Sprint Backlog estimates of work remaining to be
completed is the cumulative backlog. When tasks are completed as
the Sprint proceeds, the Scrum Master recalculates the remaining
work to be done and the Sprint Backlog decreases, or burns down
over time. It the cumulative Sprint Backlog is zero at the end of
the Sprint, the Sprint is successful.
Slide 56
Burn-down Chart Example
Slide 57
References
Slide 58
Software Development Process,
http://en.wikipedia.org/wiki/Software_developme nt_process
http://en.wikipedia.org/wiki/Software_developme nt_process
Waterfall Model, http://en.wikipedia.org/wiki/Waterfall_model
http://en.wikipedia.org/wiki/Waterfall_model RUP, Best Practices
for Software Development Team,
http://www.ibm.com/developerworks/rational/libr
ary/content/03July/1000/1251/1251_bestpracti ces_TP026B.pdf
http://www.ibm.com/developerworks/rational/libr
ary/content/03July/1000/1251/1251_bestpracti ces_TP026B.pdf Agile
Manifesto,
http://agilemanifesto.org/http://agilemanifesto.org/