Wednesday, April 15, 2009

Tactic Pattern 001: Implement a Personal Task Board

In A Blink
Create a personal task board to create project visibility and nudge company toward Agile and Scrum

User Story Summary
As a developer new to a team you'd like to start introducing Agile and Scrum so that you can improve productivity and quality.

Problem
How do you introduce an Agile practice to a team when you have no Positional Authority to introduce a process improvement initiative?

Forces

  • Company is small and not a traditional "software company"
  • Business stakeholders may be "used to" waterfall and unaware of software being developed in other ways
  • Developer teammates uncertain about Agile or Scrum or have had bad prior experiences
  • You may not have Positional Authority to introduce a process improvement initiative
Solution
Create a personal task board and use it as an Information Radiator to communicate the priority and status of your own work to the rest of your team and company.

A simple and effective wall will have horizontal headings like this:

[ Backlog / Stories ] [ Task Backlog ] [ Checked Out ] [ QA / Verify ] [ Complete ]

Underneath the Backlog / Stories column, you should write on sticky notes or index cards the high-level requirement or User Stories that you are attempting to finish. Align these in priority order from top to bottom.

Next to that, create sticky notes for the individual tasks which you deem no shorter than 1/2 day and not longer than 2 days that you'll need to do to complete the requirement.

When you start to work on a particular task, move it to the Checked Out column. When you're ready for someone to code review or perform QA against your work, move it to Checked Out.

Finally, move it to Completed when you're finished.

Notice the Task Backlog column should be wider than the others. That is because you should, ideally, only have one item under Checked Out at a time.

Real World Examples
TODO

Tuesday, April 14, 2009

Agile From The Ground Up!

Introducing Agile From The Ground Up!
Welcome to the Agile From The Ground Up blog! My name is Josh Gough. I am a software application architect / developer in Atlanta, GA. I've been practicing iterative and incremental development techniques for most of my career. Over the last couple of years, through research and the good fortune of working with highly talented and educated teammates, I've become increasingly exposed to and involved with Agile practices in general and Scrum in particular.

Background
I've helped several companies adopt Agile practices with Scrum from the "bottom up". This means that I as a developer working on the team was part of the impetus to introduce the process improvement efforts of ushering in Agile and Scrum.

Target Audiences
I'll target articles and postings on this toward the following types of readers:

  • Company executives and product owners seeking an ROI-producing strategy to provide a better way to plan, measure, and execute the delivery of development projects.
  • Project managers and team leaders seeking an operational approach to successfully introduce Agile and Scrum to their teams or higher-level company executives.
  • Developers seeking proven, repeatable tactics to nudge their leaders and companies toward adopting Agile and Scrum to improve results.
  • Students seeking to understand and apply iterative and incremental development practices from a hands-on, real-world perspective.
I hope you will find this information useful as you attempt to help your teams go Agile From The Ground Up!