Create Deliverable-Based Milestones

  I’ve noticed a common theme among the projects in trouble I’ve encountered over the past few months: functional milestones without deliverable milestones as a part of the functional milestone. Here are examples of functional milestones: “requirements complete,” “code complete.” These milestones raise these questions for me: How can you know something is complete when …

Users Can't Know Their Requirements Early

  I’ve been thinking more about requirements. In the most recent two assessments I’ve done, both organizations have been stuck on thinking they could define their requirements before design and implementation. IWBNI (It Would Be Nice If) users could know their requirements early. For small projects (a couple of people, maybe a couple of months) …

People, Process, and Predicting Project Success

I’ve been thinking a lot about the comments people made on the Best Practices Don’t Predict Project Success post. (Thank you for your comments.) Here’s my experience. Great people, people with sufficient functional skills and domain expertise can trump process, good or bad. Good process, process appropriate for the context, will help those people. But great people …

Future Fixes

With a little common sense and some dependable metrics, you can banish the “bug bucket” and keep the dreaded rework monster under control by creating a reasonable prediction of your project’s end. A reader recently asked me, “When planning a project phase, how do you account for the bugs that you know will be created? …

Showing Project Progress (NOT percent complete)

Last night at my SPIN talk someone came up to me at the end of the talk. I’d discussed earned value and inch-pebbles in my talk but hadn’t specifically discussed how to avoid the dreaded “percent complete” reporting problem to management. The percent complete problem occurs when you have to report progress to management as …

Language (and Language Environment) Influences Process

  I was extremely fortunate in my choice of companies and work early in my career. I developed in assembly language and microcode and Fortran for a few years. Then, I moved to object oriented languages, primarily at Symbolics, using LISP. At Symbolics (I left in 1990), we practiced incremental development, iterative planning, and some …

Choose an Appropriate Project Lifecycle

  Earlier this week, I was at SPC teaching about project requirements and project management. If you haven’t thought about lifecycles, consider the differences between these kinds of lifecycles: Linear: Waterfall and waterfall with feedback Iterative: Spiral, where the whole product is up for grabs each time Incremental: Where you add to the product in …