Introduction to Agile Software
Development
Abhilash Chandran
Xerox
What are we going to discuss
today?
• Process Overview
• Waterfall Model
• Agile Evolution
• Agile Principles
• Scrum Overview
What is Software Development?
• Science
• Engineering
• Art
• Innovation
Problem we are trying to solve
• Many studies have suggested that only 40% of
the software meets the initial criteria of
– Cost
– Quality
– Scope
What is Process?
• A series of actions or steps taken in order to
achieve a particular end.
• A better process leads to a better outcome
A familiar model
Long Stages
Stage Time taken % Months ( for 1 year
project)
Requirements 20 2.4
Design 20 2.4
Implementation 40 4.8
Verification 15 1.8
Maintenance 5 0.6
Lot of wastage because of handoffs & decision delays
Waterfall Model
• Used in Manufacturing and construction
• A well defined documented process
• Clear project objectives
• Strict sign-off at each stage
Waterfall…
• First formal description by Winston W. Royce
– as an example of a flawed, non-working model
• Problems
– Lacks Periodic Feedback
– More Time to Market
– Complex Communication
– Lot of wastage
– No stakeholder interaction
Time To Market
Products developed with waterfall takes more time to reach market
• Lost Opportunity
• Less Revenue
Why do we need agile?
What is Agile?
• Definition: Able to move quickly and easily &
respond to changes
• Agile software development is a group of
software development methods based on
iterative and incremental development, where
requirements and solutions evolve through
collaboration between self-organizing, cross-
functional teams.
PDCA Cycle
• The PDCA (Plan DO Check Act) cycle was made
popular by Dr. W. Edwards Deming.
• This is a scientific cyclic process which can be
used to improve the process (or product).
• This is cyclic in nature and usually time boxed.
PDCA - Plan
• Plan - Goal Setting
– This is the first stage of the process.
– During this step the team discusses the
objectives, the process and the clear conditions of
exit (conditions of acceptance).
– This stage sets the measurable and achievable
goals for the team.
PDCA - Do
• DO
– Team works together to achieve the objective set
in the planning phase.
– Team works with the set of agreed process.
PDCA - Check
• Check
– Once the implantation is done team regroups and
verifies the output and compares it to the agreed
conditions of acceptance decided during the
planning phase.
– The deviation, if any, is noted down.
PDCA - Act
• ACT
– If any deviation in planned tasks is observed
during the Check stage, a root cause analysis is
conducted.
– Team brainstorms and identifies the changes
required to prevent such deviations in future.
Team also brainstorms ideas/process changes
(including the scope changes and measurement
metrics) which can result in a better
process/product in next cycle or iteration.
Agile Manifesto
• 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 software over Comprehensive documentation
Customer collaboration over Contract negotiation
Responding to change over Following a plan
That is, while there is value in the items on the right, we
value the items on the left more
Agile Principles
The Agile Manifesto is based on twelve principles:
1. Customer satisfaction by rapid delivery of useful software
2. Welcome changing requirements, even late in development
3. Working software is delivered frequently (weeks rather than months)
4. Working software is the principal measure of progress
5. Sustainable development, able to maintain a constant pace
6. Close, daily cooperation between business people and developers
7. Face-to-face conversation is the best form of communication (co-
location)
8. Projects are built around motivated individuals, who should be trusted
9. Continuous attention to technical excellence and good design
10. Simplicity—the art of maximizing the amount of work not done—is
essential
11. Self-organizing teams
12. Regular adaptation to changing circumstances
Agile Methodology
• Iterative way of development producing incremental delivery
of working software in time-boxed interval of 1,2 or 4 weeks
Agile Iteration
• One way to organize agile development is
using short iterations
Each iteration step:
• has some analysis, some design, some
coding, some integration and testing
• executed by a cross-functional team
• delivers some kind of internally or externally
usable functionality – intermediate demos or
deliveries are possible!
Scrum Overview
Scrum Roles – Product Owner
• Product Owner
– OWNS the product
– Responsible for the product
– Prioritizes Features to get maximum ROI
– Manages the interests of the different
stakeholders
• Customer
• Development team
• Management
Scrum Roles – Scrum Master
• Scrum Master
– Leads the Scrum team – DOES NOT manage it
– He/she is a process champion
• Ensures that the process is followed by all
• Provides coaching/mentoring
– Helps a team increase their productivity
• Responsible for having barriers removed
• Remove Risks - not manage it
– Acts as Change Agent for team and organization
Scrum Roles – Feature Team
• Responsible for the deliverables
• Self-managing and self-organizing
– Requirements,
– design, development
– testing
– They are either all done completely or not at all
Sprint Meetings
Anyone with a basic understanding of PDCA
Agile cycle can correlate the scrum
terminologies to this scientific approach.
Plan – Sprint planning
Do – Actual engineering sprint
Check – Sprint review
Act – Retrospective
Product Backlog
Scrum Task Board
Books
Resources
• Scrum Guide - https://www.scrum.org/Scrum-
Guide
Questions
Contact Me
• Email : c.abhilash@gmail.com
• Twitter : https://twitter.com/cabhilash
• Blog : http://www.TheAgileSchool.com

Intro agile development methodology abhilash chandran

  • 1.
    Introduction to AgileSoftware Development Abhilash Chandran Xerox
  • 2.
    What are wegoing to discuss today? • Process Overview • Waterfall Model • Agile Evolution • Agile Principles • Scrum Overview
  • 3.
    What is SoftwareDevelopment? • Science • Engineering • Art • Innovation
  • 4.
    Problem we aretrying to solve • Many studies have suggested that only 40% of the software meets the initial criteria of – Cost – Quality – Scope
  • 5.
    What is Process? •A series of actions or steps taken in order to achieve a particular end. • A better process leads to a better outcome
  • 6.
  • 7.
    Long Stages Stage Timetaken % Months ( for 1 year project) Requirements 20 2.4 Design 20 2.4 Implementation 40 4.8 Verification 15 1.8 Maintenance 5 0.6 Lot of wastage because of handoffs & decision delays
  • 8.
    Waterfall Model • Usedin Manufacturing and construction • A well defined documented process • Clear project objectives • Strict sign-off at each stage
  • 9.
    Waterfall… • First formaldescription by Winston W. Royce – as an example of a flawed, non-working model • Problems – Lacks Periodic Feedback – More Time to Market – Complex Communication – Lot of wastage – No stakeholder interaction
  • 10.
    Time To Market Productsdeveloped with waterfall takes more time to reach market • Lost Opportunity • Less Revenue
  • 12.
    Why do weneed agile?
  • 13.
    What is Agile? •Definition: Able to move quickly and easily & respond to changes • Agile software development is a group of software development methods based on iterative and incremental development, where requirements and solutions evolve through collaboration between self-organizing, cross- functional teams.
  • 14.
    PDCA Cycle • ThePDCA (Plan DO Check Act) cycle was made popular by Dr. W. Edwards Deming. • This is a scientific cyclic process which can be used to improve the process (or product). • This is cyclic in nature and usually time boxed.
  • 15.
    PDCA - Plan •Plan - Goal Setting – This is the first stage of the process. – During this step the team discusses the objectives, the process and the clear conditions of exit (conditions of acceptance). – This stage sets the measurable and achievable goals for the team.
  • 16.
    PDCA - Do •DO – Team works together to achieve the objective set in the planning phase. – Team works with the set of agreed process.
  • 17.
    PDCA - Check •Check – Once the implantation is done team regroups and verifies the output and compares it to the agreed conditions of acceptance decided during the planning phase. – The deviation, if any, is noted down.
  • 18.
    PDCA - Act •ACT – If any deviation in planned tasks is observed during the Check stage, a root cause analysis is conducted. – Team brainstorms and identifies the changes required to prevent such deviations in future. Team also brainstorms ideas/process changes (including the scope changes and measurement metrics) which can result in a better process/product in next cycle or iteration.
  • 19.
    Agile Manifesto • Weare 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 software over Comprehensive documentation Customer collaboration over Contract negotiation Responding to change over Following a plan That is, while there is value in the items on the right, we value the items on the left more
  • 20.
    Agile Principles The AgileManifesto is based on twelve principles: 1. Customer satisfaction by rapid delivery of useful software 2. Welcome changing requirements, even late in development 3. Working software is delivered frequently (weeks rather than months) 4. Working software is the principal measure of progress 5. Sustainable development, able to maintain a constant pace 6. Close, daily cooperation between business people and developers 7. Face-to-face conversation is the best form of communication (co- location) 8. Projects are built around motivated individuals, who should be trusted 9. Continuous attention to technical excellence and good design 10. Simplicity—the art of maximizing the amount of work not done—is essential 11. Self-organizing teams 12. Regular adaptation to changing circumstances
  • 21.
    Agile Methodology • Iterativeway of development producing incremental delivery of working software in time-boxed interval of 1,2 or 4 weeks
  • 22.
    Agile Iteration • Oneway to organize agile development is using short iterations Each iteration step: • has some analysis, some design, some coding, some integration and testing • executed by a cross-functional team • delivers some kind of internally or externally usable functionality – intermediate demos or deliveries are possible!
  • 23.
  • 24.
    Scrum Roles –Product Owner • Product Owner – OWNS the product – Responsible for the product – Prioritizes Features to get maximum ROI – Manages the interests of the different stakeholders • Customer • Development team • Management
  • 25.
    Scrum Roles –Scrum Master • Scrum Master – Leads the Scrum team – DOES NOT manage it – He/she is a process champion • Ensures that the process is followed by all • Provides coaching/mentoring – Helps a team increase their productivity • Responsible for having barriers removed • Remove Risks - not manage it – Acts as Change Agent for team and organization
  • 26.
    Scrum Roles –Feature Team • Responsible for the deliverables • Self-managing and self-organizing – Requirements, – design, development – testing – They are either all done completely or not at all
  • 27.
    Sprint Meetings Anyone witha basic understanding of PDCA Agile cycle can correlate the scrum terminologies to this scientific approach. Plan – Sprint planning Do – Actual engineering sprint Check – Sprint review Act – Retrospective
  • 28.
  • 29.
  • 30.
  • 31.
    Resources • Scrum Guide- https://www.scrum.org/Scrum- Guide
  • 32.
  • 33.
    Contact Me • Email: c.abhilash@gmail.com • Twitter : https://twitter.com/cabhilash • Blog : http://www.TheAgileSchool.com