Thursday, March 15, 2007

Advantage Scrum

GOAL: Start using the Scrum agile methodology for all Advantage projects

Benefits: Standardize how we work on all projects; provide consistent status and road map reporting

Overview: Scrum is a software development methodology which focuses on short development cycles referred to as “Sprints”. A sprint is comprised of a set of defined “Backlog Tasks” and is characterized by

  1. Short (<= 30 day) period.

  2. Daily stand-up meetings in which the status of items is discussed by team member. These are “daily scrum meetings”

The following rules apply to a sprint:

  1. Only the tasks identified at the beginning of a scrum are to be worked on

  2. Once a scrum scope is committed, no items may be added – except by development team members.

All items to be worked on (sprint backlog tasks) come from a “Product Backlog”. The product backlog is defined by the Product Manager, or product owner.

Each sprint-team is self organizing and self accountable team of typically around 5 members, one of which is defined to be the “Scrum Master”. The scrum master is responsible for mentoring and managing the delivery of the scrum backlog.

For us – the definition of a sprint will in reality be a little more flexible in terms of time-span. We may have sprints of shorter duration. For example, the work on the Affinity Client with the M5 beta – we recently have been having ad-hoc ‘sprints’ (~ 1-1 ½ week) and ‘daily/every-other-day scrums’.

How: First, in order for us to implement this process, we need a system to track the product backlog and sprint backlogs. Options:

  1. Test Track – the Quantim team already uses this in their development process, which is a pseudo-scrum system (quarterly releases = sprint)

  2. PeopleSoft - this is a task-tracking system, and we have it

  3. Some other tool – Trac/home grown

Regardless of the system we use, it will be required that we have the ability to embed links to TestTracks, PS-tickets and ADRs into the defined backlog items. Test Track seems a logical choice, provided we can add the links. However, seems like most folks in Advantage do not like Test Track, this could interfere with the successful adoption of the process. PS may be possible since we have in-house staff for customization – but, this would require the team to be dependent on others for the development of our system. Home-growing our own is good, but it has associated up-front costs.

Secondly, we need some very-high level process documents. These should be 1 page pictorial representations of the Scrum/Sprint process.

I want the ability for anyone to generate graphical status reports on-demand. We also need direct integration into the source control and build systems (these are just like the links to TTs, PSs and ADRs.

Finally, we will need an educational and rollout plan.

Implementation Plan:

  1. Assign core-team for building the proposed Advantage Scrum System [Jason, Eric, Lisa, ?]

  2. Set goal for completion of implementation and for rollout

  3. Define the data needed for a

    1. Product

      1. Release/Deliverable

    2. Backlog Item

    3. Sprint

  4. Define what we want for the reporting [nice graphical colorful charts and stuff]

  5. Choose tracking system (TT, PS, Other, Home-Grow)

  6. Identify

    1. Products (this may be an initial sub-set)

      1. Affinity Client (Jason)

      2. Affinity Tool (Jason)

      3. SQL Connect (Barry)

      4. QuadraMed Workflow (Mike/Leslie?)

      5. Smart Identity eXchange (Leslie)?

    2. Product Manager/Owners

  7. Construct process documents [all, Eric can whip up nice PDFs]

  8. Build marketing/rollout plan

  9. Define educational process

  10. Assign product owners the task of building an initial set of backlog items



Other Notes:



  • We could use a wiki/blog tool for the "Sprint Info Pages"

  • I would like to see rss/feeds/blog/message boards for team communication - rather that point-to-point emails.
    • This would consolidate things, open it up to collaboration, etc.
  • Excel should be a good place for us to collect prodcut backlogs and track items at first. We can use this simple tool to figure out things, and then migrate this to Test Track after a period
  • Our news-board can integrate with email...

1 comment:

Anonymous said...

Well written article.