MS Project 101 for Developers

By Beej

(Emphasis on For Developers)

TL;DR

The simple idea here is that it’s quite easy to project your aggregated Remaining Duration estimates into a quickie calendar date.

see screenshot below for example

Setup

  1. First create an initial “Summary Task” for the whole project - this will provide the rollup point for total work remaining
  2. now capture a list of “rational” tasks under that
    • of course the unavoidable lynchpin of any work breakdown estimating like this, is deciding on what qualifies as a task
    • if you don’t have any ideas in mind from past experience, start with each of your app’s screens as a unit of work to enter as a task
    • in typical software architecture, other stuff like stored procedures and OO classes are good candidates… basically just invent what level of detail feels right to you to track on without feeling like it’s excruciatingly small
    • you can use more “Summary Tasks” to go down a level or two in sub-tasks… but my recommendation is you’ll probably get more satisfaction from taking your best quick shot at covering your current scope’s breadth before going into real sub detail… another pragmatic reason to keep this short is you still have some work in step 2 =)

  3. now go down the entire list of “leaf” tasks and spend a little time entering super rough work-days estimates into the Duration column for each task…
    • don’t enter how many calendar days you think it’ll actually drag with all your other distractions, think in terms of raw heads down completion time… you can add all those kinds of padding later…
    • to get through this without being miserable, don’t get too hung up on accuracy… think macroscopically, days versus hours
    • leverage the out of body experience of pretending you’re not the poor sap that’s gotta do all this work
    • it can be sorta fun in a twisted way and a surprisingly worthwhile organizational moment if you’re lighthearted about this… psych yourself to see this as a fun break of playing “task invaders” versus a chore

  4. now fully expand your outline (Project > Outline > Show > All Subtasks)
  5. select all your tasks from top to bottom
  6. and link them together (Edit > Link Tasks or Ctrl+F2) - this takes the very simplistic initial assumption that all tasks must be completed sequentially… once you get this cooking, by all means break out what you can into parallel tracks

Day to Day Process

  1. make sure you have the columns: Duration, % Complete and Remaining Duration (right click a column header > Insert Column)
  2. when you actually complete something, mark it 100% complete… if you can avoid it, don’t even bother estimating stuff that is partially complete
    • notice the Remaining Duration for each task will go down accordingly as you fill out Completion
  3. insert more “Summary Tasks” to represent Milestones and those Remaining Duration sub-totals within the overall project

Profit

when it’s time to review your progress…

  1. maybe update the internal Project calendar with holidays
  2. then just bask in the glory of the automatic gantt chart

Perspectives

  • a nice list of tasks and a gantt timeline provide a familiar platform to talk to in a typical 1hr corporate meeting timebox
  • the most important point i want to make is that some compelling “safety in numbers” materializes here… it’s harder for someone to come along and casually throw out your timeline without somehow acknowledging it’s existance and the natural burden of refuting it… this provides some leverage in situations where leverage is typically hard to come by… i.e. you can unemotionally refer to “the numbers” versus getting backed into a defensive posture… as soon as someone manages to manipulate you into being defensive, they’ve won… if an antogonist does press for their preferred alternative, fantastic! they have essentially volunteered to take on this burden and free you from it… make sure to document that in the meeting notes =)
  • we can readily print the task list as well as a pretty Gantt chart for a little more razzle dazzle than empty hand waving
  • to generate growing credibility, at the next milestone review, make a point of reconciling the old estimates to correspond with actuals and thereby project updated estimates (turns out this corresponds very nicely to agile’s “inspect and adapt” mantra)

References

  • The different kinds of Percent Complete
    • % Complete – deals with time
    • % Work Complete – deals with man-hours
    • % Physical Complete – deals with physical progress …
      • in Development land, “physical” of course gets very abstract and therefore makes it fun deciding where to draw the line on what is the smallest “thing” to be a trackable task…
      • if you’re looking for concrete examples - as mentioned above, functional bundles like screens, stored procedures and classes are granular enough things typically worthy of tracking completion… start there and hopefully you’ll start to see the things you are naturally drawn to

image

Tags: ProjMgmt
Share: Twitter Facebook LinkedIn