agile presentation_lite
TRANSCRIPT
AGILEIterative
AdaptableRapid
CooperativeQuality-driven
Software development methodologies … The today’s actors: Agile vs. Waterfall
A [really] short presentation of
traditional approach to software development
REQUIREMENTS
DESIGN
DEVELOPMENT
TESTING
MAINTENANCE
Waterfall Development is another name for the more
Waterfall Development
Waterfall Development (contd..)
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!
This approach is highly risky, often more costly and
generally less efficient than Agile approaches
REQUIREMENTS
ANALISYS / DESIGN
DEVELOPMENT
TESTING
MAINTENANCE
Takes too long
Changes
Skipped 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…
Individuals & interactions vs.
processes & tools
Working software vs. comprehensive documentation
Customer collaboration vs. contract negotiation
Responding to change vs. following a plan
Agile’s Challenges
ScrumA light-weight agile process tool
Split your organization into small, cross-functional, self-organizing teams.
Split your work into a list of small, concrete deliverables. Sort the list by priority and estimate the relative effort of each item.
Scrum Team
Scrum Master
Product/ Project Owner
Split time into short fixed-length iterations/ sprints (usually 2 – 4 weeks), with potentially shippable code demonstrated after each iteration.
Scrum (contd..)
January May
Optimize the release plan and update priorities in collaboration with the customer, based on insights gained by inspecting the release after each iteration.
Optimize the process by having a retrospective after each iteration.
Things we do in Scrum
The product is described as a list of features: the backlog.
The features are described in terms of user stories. The scrum team estimates the work associated with each story.
Features in the backlog are ranked in order of importance.
Result: a ranked and weighted list of product features, a
roadmap.
Daily scrum meeting to discuss What did you do y’day? What will you do today? Any obstacles?
Other meetings: Retrospective, Technical, Daily/Weekly Touch Point calls, Lessons Learned
Scrum Artifacts
Iteration/ Sprint 1 Iteration/ Sprint 2Iterations View
Sample Userstory
Efforts10hrs
Efforts: 2hrs IA, 6hrs Development, 2hrs Testing
The total effort each iteration can
accommodate leads to number of user story per iteration
One release contains a number of iterations
Release
Scrum planning example
Iteration cycle of 3 weeksWorking hours per day is 6 90hrs
Total hours of work iteration can accommodate6hrs x 5days x 3weeks =
Product backlog of 20 stories
Each story effort is 10 hrs
Iteration backlog or number of stories per iteration
9 user story
Maximum 75% from the time should be
planned due to meetings and other administrative tasks
Let the facts speak Business team/Client vs. Development team - the Agile is not “the same” for business
and for the development team -> guess who has to be more agile?
There is no perfect Agile: users are mostly distributed in different Geos, different cultures/languages, different work time zones, dependency on other applications or teams, quality vs. quantity vs. client satisfaction becomes always an issue during the process
Agile often means lack of documentation and that makes maintenance or on-boarding processes to be more difficult
There is always a mixture between Waterfall and Agile because there are always dependencies between tasks, teams, internal processes and procedures.
The team self-organizing “spirit” is not always functioning smoothly – there is always the need of a PM in the team
Most important “artifacts”: Adaptability & Communication
Conclusions / Alternatives ? – TRY IT !Instead of a large group spending a long time building a
big thing, we have a small team spending a short time building a small thing.
But integrating regularly to see the whole.