Software Development Process
Software Development Process
Analyses and
Maintenance
Design
Deployment Implementation
Testing
Software Development Process
Traditional Agile
Incremental Extreme
Waterfall Spiral SCRUM
iterative programming
Adaptive methods focus on adapting quickly
to change
specification
Proceeds from one phase to the next in a
sequential manner
Testing Requirements
Analysis &
Implementation
design
The basic idea is to develop a system through
repeated cycles (Iterative) and in smaller portions at a
time (Incremental)
Project
• It’s the result of the analysis phase
•Include item of new features to be implemented and also
the areas of redesign of the existing solution
Control List
•Redesign and implement of tasks from the control list
Step
forward,
modular and supporting redesign)
In a light weight iterative project the code represent the
main documentation
Elaboration
Construction
Transition
Quadrant 2
◦ The strategy is analyzed form the viewpoint of risk,
and solutions to minimize these risks are
investigated
Quadrant 3
◦ A solution is put into practice to produce the
artifacts necessary to reach the goals identified in
quadrant 1
Quadrant 4
◦ The results of the risk-reduction strategies are
assessed, and if all risks are resolved, the
next phase is planned and started
Introduced in 2001
Agile Values
◦ Individuals & interactions over process &
tools
◦ Working software over comprehensive
documentation
◦ Customer collaboration over contract
negotiation
◦ Responding to change over following a plan
Agile Principles
◦ Unit test
◦ Pair programming
◦ Test driven Development
◦ Domain Driven Design
◦ Code refactoring
Its one of the agile development methods
Pig Chicken
Product SCRUM
Team Users Managers Stockholders
Owner Master
Pig role
◦ The ones committed to the project in the scrum
process
Chicken role
◦ Not a part of the scrum process but must be taken
into account
Product Owner
◦ Represent the voice of the customer
Stockholders
◦ The people who enable the project and the are
important in sprint review
Managers
◦ People who will set up the environment for
the
product
User Requirements Product Product
Owner
backlog
Meeting
Sprint
backlog
Team
Sprint
◦ (2 4) week period and it is decided by team
◦ Editable by anyone
◦ Any one them can pick task from task list, tasks in
the task list are never assigned
SCRUM
Meetings
Sprint
Daily SCRUM Sprint review Sprint
Planning
Meeting meeting Retrospective
meeting
Daily SCRUM Meeting
◦ 8 hour limits
Sprint review meeting
◦ Hold at the end of the sprint
◦ 4 hour limits
Sprint Retrospective meeting
◦ All team members reflects on the past sprint
◦ Unit tests
🞄 determine whether a given feature works as
intended.
🞄 writes as many automated tests as they can
think of that
might "break" the code
🞄 if all tests run successfully, then the coding is
complete.
◦ Acceptance tests
🞄 verify that the requirements as understood by
the
programmers satisfy the customer's actual
requirements.
Designing
Simplicity
Feedback
Values
Courage
Respect
Rules
Communication