Project Management should go to Boot Camp

1 Jun

My time in the Marine Corps taught me a lot about leadership. They did that by teaching me to tie my shoes, to swab the deck and how to make the tightest hospital folds. Project management could learn from boot camp, too.

My first night I had to stand firewatch (guard) at 0200. I woke, stood my post and as I was being relieved I was ordered to go “swab the deck.” The Drill Instructors didn’t tell me what a swab was or where to find the soap. I was to figure it out and to not bother them about it.

That’s a common pattern in the Corps. There’s the mission and, by God, figure out a way to accomplish it. Contrast that to many civilian companies, where it’s normal to “program in Word,” which means to write the program in the requirements. The documents not only describe the result, but every painstaking step to reach that goal. Or companies suffer the impossibly long Gantt charts with fictional duties and hourly estimates. They describe the how and not the why.

Barney

It reminds me of something the Corps calls “Barney style.” Whenever we failed, we’d be reminded just how “freakin’ retarded” we all were, and then they would walk us through every procedure step by step. That’s how a recruit learns to tie their shoes. One lace at a time, left over right. Barney style.

Sadly, too many companies only ever use Barney and never leave the implementation details to the programmer. That way the chief architect gets their way, but nobody ever progresses past infantile stages. Nothing new is ever attempted and no chances taken. While it does guarantee a certain base line, all the shoes do get tied, but it also suppresses even better solutions.

Barney style should only be used in the most trying cases. Instead, the Corps has many ways of identifying what it calls the “end state.” This is where you should end up after a mission, what’s supposed to happen. Most of the time, as long as the end state is accomplished, then little else mattered. If you had to get creative, then you were simply being a good Marine.

We had all kinds of phrases that meant a Marine got creative, my favorite being ”crack deal.” That’s a couple Marines who, unknown to their superiors, worked out some deal to get the job done. Contrary to the name, it was often a good outcome. As Stanley Kubrick noted, the Corps doesn’t want robots. They want a professional, aggressive Marine who’ll use all of his abilities to learn and adapt.

Companies should want that, too. Otherwise companies resign themselves to the knowledge and expertise of just a few. No matter how well intentioned or brilliant, they can never cover everything. Instead, overly detailed requirements guarantee a suboptimal solution — every time.

Worse, usually only the most important projects warrant a project manager. In fact, the more visible a project is, the more chaffing the requirements become. That’s completely backwards.

Senior programmers shouldn’t need detailed instructions. The more junior the developer, the more direction and supervision they may need. Whether or not the project is important doesn’t have any effect on a developer’s ability to follow through on a project.

Update: ESPN gets it? “Upon talking to those involved with the projects discussed here, we got the impression that the bigwigs basically let the technologists run their own show (within reason, of course).”

4 Responses to “Project Management should go to Boot Camp”

  1. xyzklm 03. Jun, 2010 at 4:55 am #

    Senior programmers shouldn’t need detailed instructions.

    By this way at the end of the day you will get completely different from what you want.

    • Mike 03. Jun, 2010 at 8:06 am #

      I wouldn’t think so. First you have to identify what the end state should be and allow people to work towards that goal the best way they can.

      If you get something completely different at the end, then that’s a failure to either specify the goal or you’re worrying about the implementation too much.

  2. PHB 13. Jun, 2010 at 6:32 am #

    Ouch. A lot of points hit home for me. I want to work at a place like that.

    One thing I think you miss is

    “detailed instructions” != “requirements”

    It’s possible to view requirements as a shared responsibility – a map you create as you explore the problem together. And also something that tells you when you’re ready to start hacking – when you go through the requirements and there’s no more questions, no more flip-flopping between painful choices, then it’s time.

    But yeah, typically it’s a CYA exercise so blame can be assigned later and the requirements suck.

    • Mike 13. Jun, 2010 at 9:48 am #

      Great comment! You’re right. Thanks for giving me another topic to think about. :-)

Leave a Reply