10 Principles of Agile Project Time Management

Project Time Management
is one of the nine knowledge areas of the Project Management Body of Knowledge (PMBOK). It deals with the definition of activities (what are we going to do), the sequencing of the activities (in what order are we going to do them), and the development and control of the schedule (when are we going to perform those activities).

Agile Time Management
Over the past couple of weeks I have been trying to find out what the main principles of time management are in the case of agile software development. I was able to distinguish 10 principles so far, and I will present them here for your convenience. With each principle I also include a reference to an online article that (as far as I can tell) nicely describes the ideas behind it. If you don't agree with my list, or if you know some better reference material, feel free to add your thoughts!

1. Use a Definition of "Done"
How? Define what "Done" means and only count the activities that are Done.
Why? Prevent the build-up of hidden tasks ("technical debt") that cost a lot of time to fix down the road.
See: The Definition of "Done"

2. Use Timeboxes to Manage Work
How? Set a start- and end date for a collection of activities, and don't allow changes to those dates.
Why? Timeboxes keep people focused on what's most important. Don't lose time to perfectionism.
See: Time Boxing is an Effective Getting Things Done Strategy

3. Don't Add Slack to Task Estimates
How? Don't use scheduling and buffering of tasks. Add one buffer to the end of the timebox/project.
Why? All safety margins for tasks will be used ("Parkinson's Law" and "Student's Syndrom'").
See: Critical Chain Scheduling and Buffer Management

4. Defer Decisions
How? Make decisions only at the latest responsible time. "No Decision" is also a decision.
Why? The environment may change, making earlier decisions a waste of time.
See: Real Options Underlie Agile Practices

5. Reduce Cycle Time
How? Iterative cycles should be as short as possible.
Why? Speed up the learning feedback loop, and decrease the time-to-market.
See: Lean Software Development: Why reduce cycle-time?

6. Keep the Pipeline Short and Thin
How? Limit the amount of work-in-progress, and the number of people working in sequence.
Why? Improve response times, speed up throughput.
See: Managing the Pipeline

7. Keep the Discipline
How? Prevent expensive rework by doing some processes well, right from the start
Why? Solving problems late in a project is more expensive than following proper rules early.
See: The Power of Process

8. Limit Task Switching
How? Prevent unnecessary task switching between projects, and prevent interruptions.
Why? Tasks get completed faster on average, and the human brain is bad at task switching.
See: Human Task Switches Considered Harmful

9. Prevent Sustained Overtime
How? Disregard (sustained) overtime as a way to accellerate progress.
Why? Lost productivity, poor quality and bad motivation among team members.
See: The Case Against Overtime

10. Separate Urgency from Importance
How? Urgent tasks and important tasks should not be done at the same time.
Why? The important stuff will usually not get done, costing you more time in the long run.
See: A 10 Second Guide to Smoother Projects: Urgent vs. Important

Subscribe to this blog with a reader or by email!

Latest, greatest and favoritest posts:
FREE Copy of The Software Practitioner
Three Levels of Acceptance Testing
Rubber Chicken Management

Related Posts
free book
“How to Change the World”
  • Nate

    Thanks for the references related to each principle. Great blog.
    – Nate

  • http://littletutorials.com Daniel Pietraru

    Thanks! Very nice list and references! I feel this post somehow complements, on a tangent, an article I wrote a few days ago about the challenges a technical lead faces on a new project: 36 steps to success as technical lead – http://littletutorials.com/2008/07/07/success-as-technical-lead/
    Maybe it is better I didn’t read your post first – my list would’ve been even longer 🙂

  • http://profile.typekey.com/jurgenappelo/ Jurgen Appelo

    Daniel, thanks for the link. I will check out your 36 steps soon!

  • http://herdingcats.typepad.com/my_weblog/2008/08/what-does-done-look-like.html Herding Cats

    What Does Done Look Like?

    We use the term “done” all the time. It’s built into the notion of the Integrated Master Plan / Integrated Master Schedule. Through Jurgen Appelo’s site I found CM Crossroads has a nice definition of DONE. The 10 Principles of Agile Time Management …

  • http://rklophaus.com Rusty Klophaus

    The link for “10. Separate Urgency from Importance” has changed. It is now here:

  • http://ameetbala.blogspot.com/ Ameet Bala

    Very good summary of Agile time management principles.
    Particularly, point 10 (Separate Urgency from Importance). I highly recommend this technique and had blogged about it last year. I hope you don’t mind that I’ve linked your article to my blogs at http://ameetbala.blogspot.com/

  • http://www.pmpathway.com Project Management

    In fact just 1 and 2 are new and came fro agile, all the other tips are old and well-known. So the word Agile is just a buzzword here.

  • http://www.businessmantra.net/effective-time-management-strategies.html jehnavi

    I think you should change the this principle to “Based decision on Complete Facts” , what you are accomplishing by delaying the decision making is to get enough knowledge and understanding of the situation to make a sound decision. the problem is identifying when is that the case. your point is the longer you wait the more knowlege you have about the particular situation. So the solutions is to create a systematic approach for facts finding. the solution is to create a test driven approach, start by creating test cases before you do any depelopment, this will force you to think about every “What If..” situation expediting your fact finding period.

  • http://www.mymanagementguide.com Eric Morkovich

    I like how you’ve described the principle in the article.
    Just wanted to add that Agile methodologies let break a project down into a series of short-term iterations (e.g sprints in Scum) that are highly manageable and predictable.

  • Ian Edwards

    Very interesting article especially number 10 Urgency/Importance. I have discovered a new online project time management tool called Dooster which allows you to prioritize urgent against importance. Really useful. Check it out on http://www.dooster.net

How to Change the World - free Workout - free