Title Image

Custom Agile Implementation

A Case Study

Context

 

In 2014, one of Canada’s largest banks started a two-year project: building a platform to consolidate financial transaction data from 30 globally distributed source systems. Project leadership took interest in Agile, but their environment was still strongly rooted in Waterfall thinking; the development process they customized – only for programmers and testers – was in essence Waterfall with three-week cycles. The process performed relatively well during the easy first phase of the project, but wasn’t appropriate for the second phase’s length and complexity.

 

Designing a Way of Working

 

In February 2015, Gil Broza facilitated three collaborative meetings in which 14 key project members designed their approach to phase two. The participants started by reaching shared understanding and agreement that the following four values were important for that phase:

 

  1. Quality of the data (accuracy, completeness, timeliness, …)
  2. November 2015 delivery
  3. Responding to changing, uncertain, or vague requirements
  4. Quality of “the machine” (their word for the platform)

 

They also articulated some of their beliefs. Beliefs that had the highest impact on method design were:

 

  • It’s very hard to determine the right data from each source system – many are in other countries, maintained by people who are not fluent in English, and the data isn’t always clean.
  • Unless our “machine” brings in complete, clean data, downstream users won’t use it.
  • We can and should produce a complete spec for “the machine,” even though it evolves.
  • We know which source systems are in scope now, but others might be added later.
  • It is both valuable and practical to complete the work for just a few source systems at a time.

 

Based on these values and beliefs, the participants chose their operating principles:

 

  • Flow; Get to “done”; Work to outcomes; Customer feedback
  • Effective first and efficient second; Minimalism; Defer decisions to the last responsible moment
  • Quality
  • Servant leadership
  • Visibility
  • Team collaboration and feedback
  • Continuous improvement

 

Next, the group used these choices to design the team structure (the project had about 35 people at the time):

 

  • A data team of BA & QA folks, responsible for all aspects of data and interactions with source systems and downstream consumers
  • An architecture team, consisting of architects and data modelers
  • A core team, working in two streams, each building for one source system at a time
  • An assembly team, focused on integration, configuration, tooling, and deployment

 

They also defined an initial workflow with a six-week release cadence and three classification levels for data maturity (akin to an incremental definition of “done”).

 

Supporting the team

 

Over four months, for three days a week, a 3P Vantage coach helped the project team ingrain the chosen mind-set and develop good habits. For example:

 

  • Project leadership created a physical project-level board and placed it in the area of highest foot traffic. Every two days representatives from each of the above teams congregated in front of the board for a quick check-in. The board’s design evolved multiple times before settling on a useful form.
  • Instead of having a single product owner, which didn’t work out for various reasons, a group of five managers/leaders took ownership of the work queue, using majority vote for decision-making.
  • The team developed several communication channels for keeping each other informed: team lead updates, a blog, and a discussion forum.

 

In this period, team engagement and morale improved noticeably, and they shipped platform increments with high quality every six weeks.

 

How it ended

 

Five months in, Gil and the team members reviewed what principles they were actually following. The list was strikingly similar to the one used in process design. Team progress was so smooth at this point that stakeholders weren’t interested in status meetings anymore; the big visible project board was enough for them.

 

When this phase ended, the group repeated the process design activity described above in preparation for the different circumstances of phase three. The project team stayed mostly unchanged, enjoying high morale and an effective and efficient workflow, until the project ended one year later.

Share This