This Focused Performance Weblog is a "business management blog" containing links and commentary related primarily to organizational effectiveness with a "Theory of Constraints" perspective. TOC is noted for its applications in Project Management and Multi-Project Management (Critical Chain) and Operations Management (Drum-Buffer-Rope), as well as in Marketing, Strategic Planning and Change Management (TOC Thinking Processes). If you are on an archive page, current postings are found here.
"A couple years ago I helped a PMI trained project manager, a mechanical engineer, who ran plant floor install projects for years - recover a floundering mission-critical software project. Now that it's shipped and routinely in the Media Metrix top fifty, she manages most of the software development projects in that shop. She primarily needed a little insight into how software projects are different from other projects. That plus some software vocabulary and an occasional sanity check on a task, technique or work product was all it took to help her succeed. Software projects are a little different, but not all that much."
Summarizing Bullock's ten differences does not do the article justice, but I will anyhow. Just be sure to go read the full piece.
1 - The artifacts in software projects often aren't as visible or well-understood as in other projects...
[Kind of like any project of discovery - FP]
2 - The end state of a software project is often a lot more speculative than with other projects...
[Ditto - FP]
3 - There is an incredible variability in what we call "software" and projects called "software development." Designing a Formula-1 racer is different from designing next year's Camry which is different from designing GM's new fuel-cell multi-vehicle platform. They all have to do with designing cars yet we treat them like vastly different activities. Somehow we try to treat making software as the same when the products are as different as Camrys, racers, and platforms...
4 - The production chain from feature to code to executing stuff varies wildly in throughput, availability, reliability and even variability itself. Software production varies from one application technology to another, from one platform to another, and even between deployments of the same production chain...
[All the more reason to understand the potential of that variable variation - FP]
5 - Producing code varies wildly in the character of the work. Code production can be mostly any one of: discovery, investigation, design and creation, generation of code, integration, or something else...
6 - Software production involves a lot more than producing software. Production processes on the front-end (before features) and back-end (after something that executes) are more variable than code production, and often dominate the project schedule, risk and variability. Non-production activities can also dominate the project, like organizational change, team formation and technology adoption...
[Amen. - FP]
7 - There aren't any software-only projects...
[Amen again. - FP]
8 - Software development capability is usually a limited, shared resource...
[And amen one more time. Most IT projects are in multi-project, multi-responsibility environments. - FP]
9 -The tools and methods in software projects are tunable. So, if rebuilding the software every five minutes helps code production, adjust your environment to do that...I like to iterate processes and methods with each project increment - "How can we do the next one better, faster, cheaper?" then track process or method changes explicitly on the project plan...
[I love it when a plan comes together. I love it more when it changes due to learning. - FP]
10- A software project manager is employed for a reason. Projects this challenging need leaders and managers, not just administrators. You are there to manage the project and support the people who will have to deal with changing targets, multiple demands, variable production, accidental (or deliberate) changes to their world, multitasking, new methods and so on. There is a tremendous temptation for project (and line) management to retreat into administration:The methodology said . . . Those bad and evil customers, developers, vendors, agitated ghosts said. . . The PMO requires . . .It's too hard, complicated, confusing, obscure . . . It's your job to make it happen. If you can't figure that out (maybe by finding a trusted adviser) then your job description is inoperative...