Part 3 of 4
Bob Blackburn
2015-09-21
In part 3, we will look at converting a traditional
development team to using agile methods.
Read part 1 reviewing of the key differences between Agile and waterfall
here and Part 2 modifying agile methods for a BI project
here. Part 4 will
conclude with a brief introduction to some Agile Data Modeling concepts.
Here are will look at the steps you go through to transition
a team to agile methods. If your organization is new to Agile, think of this as
a Proof of Concept project. Start small and allow for some challenges and use
it as a learning experience. You should have at least one experienced
Agile/Scrum person to educate and guide the project team.
Stage 1 - Time Box and Story Points
1.
See how much working code you can get done in a
sprint. Everyone will get better at estimating.
3.
Most likely fall into Waterscrum or Scrummerfall.
Waterscrum is dividing each sprint into a mini waterfall methods where each
phase is only a few days each. ScrummerFall is making each phase of a waterfall
project equal one sprint.
4.
Can take 2 sprints
This is the initial adjustment phase. You introduce Scrum
concepts and work through resistance to change.
Stage 2 - Pipelined delivery
1.
May be hard to keep everyone productive at first
2.
Colocation can now be seen as a benefit
3.
Introduce Pipeline development when productivity
drops. By Sprint 2 (See chart in Part 1), everyone is a full capacity and are
not waiting for handoffs. Each member is doing design, development, and
testing.
4.
When quality of hand offs (Architecture to
Developer, Developer to Test) reaches a high level, move to next stage.
5.
Time: 2 –4 Sprints
Stage 3 - Developer Stories and current estimates
1.
Transition to developer stories (E.g. Load Customer
Dimension)
2.
Manage Sponsor’s expectations. Change in
estimation process. If you are moving to story points, or you can stay with
hours.
3.
Develop new current estimate with buildup of
experience. After a few months, you will be much better at estimating what can
get done (Velocity).
4.
Time: 1 –2 Sprints
Stage 4 - Manage Development Data and TDD
1.
Eliminate data churn. Do this by using a small
test data set describe in part 2.
3.
Time: 2 –4 Sprints
Stage 5 - Automatic and Continuous Integration
2.
Can be used as a short cut to Agile if
implemented early (stage 1)
3.
Time: 2 –4 Sprints
The average time to become comfortable with agile methods is
8-16 sprints. Try and make your first candidate project something that is in
the 9 to 12 months range with a senior development team and a good agile
practitioner.
How is Agile worth the effort of converting to? Here is a
chart to review the benefits.
Aspect
|
Direct Acceleration
|
Avoids time-Consuming Mistakes
|
Self-Organized
Teams
|
Y
|
|
80/20
Specifications
|
Y
|
|
Colocation
|
Y
|
Y
|
Better
Estimates
|
Y
|
Y
|
Test-driven
Development
|
|
Y
|
Coding
starts early, feedback sooner
|
|
Y
|
Frequent
review of deliverables
|
|
Y
|
Automated
Testing
|
|
Y
|
Paying
off tech debt early
|
Y
|
|
In the conclusion of this series, we will look at an
introduction to agile data modeling.
Additional Reading
Agile Data Warehousing Project Management: Business
Intelligence Systems Using Scrum by Ralph Hughes
Labels: Agile, AgileBI