Documente Academic
Documente Profesional
Documente Cultură
3
2016 Stellman and Greene Consulting LLC http://www.stellman-greene.com/slides/agile-antipatterns.pdf
4
2016 Stellman and Greene Consulting LLC http://www.stellman-greene.com/slides/agile-antipatterns.pdf
5
2016 Stellman and Greene Consulting LLC http://www.stellman-greene.com/slides/agile-antipatterns.pdf
The first 90% of the code accounts for the first 90% of the development time. The
remaining 10% of the code accounts for the other 90% of the development time.
The ninety-ninety rule (Tom Cargill, Bell Labs, 1985)
What is agile?
(a quick review)
Agile methodologies like Scrum and XP come with their own values
retrospective
product backlog
sprint review
Like the fable of the blind men and the elephant, the
agile elephant is more than the sum of its practices.
11
2016 Stellman and Greene Consulting LLC http://www.stellman-greene.com/slides/agile-antipatterns.pdf
If each team
member only pays
attention to the
practices that he
or she is using, the
project will still
get results, but the
people on the team
arent really
working together.
But the practices
are still effective
and worth adopting.
15
2016 Stellman and Greene Consulting LLC http://www.stellman-greene.com/slides/agile-antipatterns.pdf
What if the developer and project With shared values, the project
manager had a different mindset? manager doesn't think of it as
his plan, he thinks of it as the
plan everyone on the team
worked together to create.
So the
And the developer does more
daily standup than just give status. He has (and
means Youll listen
shares!) opinions on the whole
to me and actually
change the way the project, and the daily standup
project runs? becomes important to him.
What is Scrum?
(a quick review)
There are three main roles on a Scrum project: product owner,
Scrum Master, and team member
What better-than-not-doing-it
results feel like to a Scrum team
Things went well for the first few sprints, but theyre starting to
slow down and youre not sure why
Antipattern:
Command-and-control Scrum
Command-and-Control project
managers feel like they create and
own the schedule by themselves
They get estimates from the team
and create the plan on their own
Team Leads assign work to the
team members to do exactly whats
required by the plan
This can lead to water-Scrum-fall:
the project is planned up front, and
iterations are just project phases
This is a better-than-not-doing-it result. It gets the
job done, but the team could be much more effective.
20
2016 Stellman and Greene Consulting LLC http://www.stellman-greene.com/slides/agile-antipatterns.pdf
Product Owner The Product Owner decides what items go into the product
backlog, and which of those items the team will work on
during each sprint. At the end of the sprint, the Product
If the Product Owner doesn
t have Owner accepts the completed items on behalf of the
the authority to make prod company. This depends on the Product Owner having the
uct
decisions, the team cant pla authority to make those decisions. That authority is
n compromised if:
effectively. The better-tha
n-not-
doing-it result is that the The team elects a Product Owner from within their own
team
still produces some work, bu ranks who does not have any special authority
t users
and managers arent happy a Senior management chooses a Product Owner but
nd team doesnt stand behind his or her decisions
has to tear out and redo fe
atures.
The Product Owner role is replaced with a committee 21
2016 Stellman and Greene Consulting LLC http://www.stellman-greene.com/slides/agile-antipatterns.pdf
Antipattern:
Sprints arent really iterations
Antipattern:
CYA culture
Its
not my fault that Agile teams work best when they have a
the developers made
mistakes and blew culture that gives them freedom to make
the deadline. mistakes. But that only happens when
everyone feels a collective commitment to
deliver the most valuable product they can.
How were we
supposed to know the
project manager made bad
assumptions when he
Project Manager planned the project?
Use focus to counter the sprints Use respect to counter the CYA
arent iterations antipattern culture antipattern
XP is an agile methodology
focused on software development
Practices Values
Quarterly Cycle Energized Work Communication: Each team member is aware of the
work everyone else on the team is doing.
Weekly Cycle Test-Driven
Simplicity: Developers focus on writing the most
Development
simple and direct solutions possible.
Slack
Pair Programming Feedback: Iterations, tests, and feedback loops help
Stories the team keep up the quality of the product.
10-Minute Build
Sit Together Respect: Everyone believes that each of their
Continuous teammates is important and valuable to the project.
Whole Team Integration
Courage: Each team member is focused on making
the best choices for the project, even if it means
Informative Incremental
having to admit mistakes, discard failing solutions,
Workspace Design
approach things differently, or question management.
27
2016 Stellman and Greene Consulting LLC http://www.stellman-greene.com/slides/agile-antipatterns.pdf
The team rarely writes tests first because it feels like "extra" work
Antipattern:
Scrum/XP Mis-hybridization
XP uses just good enough planning Teams that use a Scrum/XP hybrid
practices that get the job done. replace the just good enough XP
planning practices with a complete
Quarterly Cycle the team does high- implementation of Scrum. This is
level planing one quarter at a time highly effective when done correctly.
Weekly Cycle week-long timeboxed But in many cases the team wont
iterations give teams lots of feedback have a Product Owner with enough
authority, or deliver working software
Slack extra stories are added to in each sprint, or really follow the
each weekly cycle for breathing room rules of Scrum. This leads to chaos.
The team really needs to get the values of both
Scrum and XP for a Scrum/XP hybrid to be effective.
29
2016 Stellman and Greene Consulting LLC http://www.stellman-greene.com/slides/agile-antipatterns.pdf
Choose a methodology with values that match your team and company
culture, and practices that address real problems.
There are many paths to becoming agile, but there is no single, canonical agile
implementation that your team can simply follow without thinking or learning.
Find a great agile coach! There might already be one in your organization.
Start with the practices, because a great way to learn a new way of thinking is
to start acting differentlybut keep a focus on learning the values as you go.
A practice that works really well for one team can utterly fail for another
because they have a different attitude and mindset.
30