Project Management, Technology, Life.
RSS icon Email icon Home icon
  • Developing Software as a Project Manager

    Posted on May 28th, 2010 Nelson Bodnarchuk No comments

    Software development is all about balance, between resources and conflicting requirements. The PM must deliver the software for the deadline and also design for unknown future requirements. It’s almost like you’re trying to hit a moving target with a blind fold on, but like anything, if you practice you get good at it.

    The best way to tackle a problem and solve it efficiently and effectively is to apply a systematic process to it. When I was completing my first Six Sigma Black Belt project I heard allot of talk about how Six Sigma was more like Sick Sigma as the projects were always long, drawn out and painful. That’s probably why Lean Six Sigma is what stuck with companies more, over the last decade, because of the ability to only use what is required to get the job done. However, I do believe that the Six Sigma methodology will deliver results when applied properly to a project.

    In the software development field a good 40-60 % of projects fail, this is usually due to poor requirements definition and larger scale software projects require something more than an ad-hock “here’s what we’re going to accomplish until the next set of, wouldn’t this be cool“, requirements from the marketing team, or worse, the customer.

    So how do you complete these projects on-time, on-budget and on-scope? For most PM’s it’s a word, sacrifice. Usually it’s the time and budget that are fixed and the scope ends up being modified to allow for a “successful” completion of a project. However, I would argue that if I was asked to build a house with only $10,000 and eight weeks I may only be able to dig a hole and pour a foundation, if that.

    So how do you solve the problem of scope creep? My solution is to scope out what the customer wants before any deadlines are set or any money is requested to be approved, with a clear view of what is to be accomplished the budget and time frame can be set around that. Now there are exceptions to the rule, as in everything in life, the key is to know the rules so well that you know when it’s appropriate to break them to deliver the product to the customer on-time, on-budget and on-spec.

    Here’s a great article on Wikipedia titled the PM Declaration of interdependence, it discusses six management principles that were initially intended for project managers of Agile Software Development projects, however these principles were re-branded as the “The declaration of interdependence for modern management” because of their applicability to other management situations.

    I like the principles so much so that I posted them here as well:

    • increase return on investment by — making continuous flow of value our focus.
    • deliver reliable results by — engaging customers in frequent interactions and shared ownership.
    • expect uncertainty and manage for it through — iterations, anticipation and adaptation.
    • unleash creativity and innovation by — recognizing that individuals are the ultimate source of value, and creating an environment where they can make a difference.
    • boost performance through — group accountability for results and shared responsibility for team effectiveness.
    • improve effectiveness and reliability through — situationally specific strategies, processes and practices.”

    If you’re familiar with Six Sigma, or Lean manufacturing, you’ll see the overlap with the methodologies goals, and it all comes back to that fundamental skill in not only project management, but in life as well….Balance.

    Leave a reply

    You must be logged in to post a comment.