2. • A Short history of Software development processes
• Defining and Analyzing the Problem ...
• Agile Manifesto
• The Agile Values
• The Agile Principles
• Scrum
Agenda
4. Software Project Development
traditional approach
to software development
REQUIREMENTS
DESIGN
DEVELOPMENT
TESTING
MAINTENANCE
Waterfall Development is
another name for the more
Waterfall Development
5. Waterfall Development
You complete one phase (e.g. design) before moving
on to the next phase (e.g. development)
You rarely aim to re-visit a ‘phase’ once it’s
completed. That means, you better get whatever
you’re doing right the first time!
6. • Is there any problem ?
Software Project Development
7. Waterfall Development
This approach is highly risky, costly and
generally less efficient
You don’t realize any value
until the end of the project
You leave the testing until the
end
You don’t seek approval from
the stakeholders until late in the
day
But… REQUIREMENTS
DESIGN
DEVELOPMENT
TESTING
MAINTENANCE
Takes too long
Changes
Skipped
18. Software Project Development
the most important factors
that you need to consider are
the people and
how they work together
A fool with a tool is still a fool.
20. Software Project Development
Never forget that the primary goal of
software development is to create software,
not documents !
Otherwise it would be called
documentation development wouldn’t it?
When you ask a user whether they would want ??
A fifty page document describing what you intend
to build ?
or
The actual software itself, what do you think
they’ll pick?
24. Software Project Development
Remember!!
Nothing ever goes entirely on plan
but instead of sticking with something that
isn't working
It's much more effective to make adjustments
as your situation changes
25. Software Project Development
Following the values isn't always easy
But when you build them is your team's processes
You will definitely get a better software project
29. Software Project Development
“ Our highest priority is to
satisfy the customer through early
and continuous delivery of valuable
software. ”
Principle
#1
30. Software Project Development
“ Welcome changing requirements,
even late in development.
Agile processes harness change
for the customer's competitive
advantage.”
Principle
#2
31. Software Project Development
“ Deliver working software
frequently, from a couple of weeks to
a couple of months, with a preference
to the shorter time scale. ”
Principle
#3
32. Software Project Development
“ Business people and developers
must work together daily throughout
the project. “
Principle
#4
33. Software Project Development
“ Build projects around
motivated individuals. Give them the
environment and support they need,
and trust them to get the job done. “
Principle
#5
34. Software Project Development
“ The most efficient and effective
method of conveying information to
and within a development team is
face-to-face conversation.“
Principle
#6
36. Software Project Development
“ Agile processes promote
sustainable development. The sponsors,
developers, and users should be able to
maintain a constant pace indefinitely. “
Principle
#8
37. Software Project Development
“ Continuous attention to
technical excellence and good design
enhances agility. “
Principle
#9
38. Software Project Development
“ Simplicity – the art of maximizing
the amount of work not done ,
is essential. “
Principle
#10
39. Software Project Development
“ The best architectures,
requirements, and designs emerge from
self-organizing teams. “
Principle
#11
40. Software Project Development
“At regular intervals, the team
reflects on how to become more
effective, then tunes and adjusts its
behavior accordingly.“
Principle
#12
42. Scrum
• Scrum is an agile process that allows us to focus on delivering the
highest business value in the shortest time.
• It allows us to rapidly and repeatedly check actual working
software (2 – 4 weeks).
• The business sets the priorities.
43. Scrum characteristics
• Self organizing team to determine the best way to deliver the
highest priorities features
• Product progresses in a series of month-long “sprints”
• Requirements are captured as items in a list “product backlog”
• Uses general rules to create an agile environment for delivering
projects
45. Scrum sprint
• Scrum projects make progress in a series of “sprints”
• Typical duration is 2–4 weeks
• Product is designed, coded, and tested during the sprint
NO Changes During Sprint !
56. Scrum roles
Scrum Master:
• Represents management to the project
• Responsible for enacting Scrum values and practices
• Removes impediments (obstacles)
• Ensure that the team is fully functional and productive
• Enable close cooperation across all roles and functions
• Shield the team from external interferences
57. Scrum roles
Team:
• (5 - 9) people
• Cross functional (programmers – designers….)
• Full time
• Self organizing
58. Scrum roles
Team tasks:
• Delivers the product and is responsible for its quality
• Creating product backlog
• Analyses the backlog for information
• Works with product owner for strategic alignment
59. Scrum roles
Product owner:
• Define the features of the product
• Decide on release date and content
• Be responsible for the profitability of the product
• Prioritize features according to market value
• Adjust features and priority every iteration, as needed
• Accept or reject work results