Creating Repeatable Success In Custom Software Development

Creating Repeatable Success In Custom Software Development

A Series Proposing Strategies for Software Development Project Success

Software development is weird. Did you know that more than 70% of projects fail? 30% of software projects are never used in the real world at all - they are eventually, mercifully killed. It is usually unnecessary for software projects to fail. It is patently possible to start with an idea and navigate all the way to a successfully completed project. So, how is it that such rampant failure is accepted?

This is the beginning of a series dealing with factors for project success and project failure. I am going to treat this as a community collaboration project, where feedback will be incorporated into the articles until they are clear, succinct and actionable.

Most projects fail before the first line of code is written. In this article, I will address two early project steps that are often overlooked or underappreciated. Repeat that mistake, and your chances of project failure are nearly guaranteed.

Project Charter

No alt text provided for this image

I have seen three types of projects - projects with no charter, projects with perfunctory charters and projects with a chance to succeed.

The project charter answers the most critical and most commonly ignored question in software development - WHY? Why are we doing this project? I cannot imagine building software without a thorough understanding of the business justification for the project.

The business justification provides the rationale for project governance in budget negotiations, scope tradeoffs and risk management. It’s simply impossible to successfully build meaningful software without knowing the business justification. 

Beyond the critical question of “Why?” the charter defines the project sponsor, the key stakeholders, team, budget, objectives, key assumptions and constraints affecting the project, important risks, and criteria for success.

Finally, critically, the project charter empowers the project manager, granting the authority to execute the project.

A sample project charter is found in the references at the end of this article. We'll deal with project charters in detail in a subsequent article.

Project Budget

Inadequate project budget is identified as the second most common cause of project failure. There are strategies to accomplish the goals of a project, without undue risk, while conforming to a budget lower than the estimated cost of the project. Before discussing the strategies to successfully complete a project on a limited budget, let’s look at the failed strategies most frequently employed:

  1. Insist that the project team make the budget work - the actual cost of a project is not reduced by angry voices, threats of termination, etc.
  2. Throw the project offshore - Offshoring a project is no simple matter. One cannot simply throw the project offshore. It requires expertise and intentionality to manage costs through lower cost labor.
  3. Wishful thinking - ignore the project risks and just assume the best case scenario for the project.

I have seen inadequate budgets addressed with these three strategies many times over the years. I have never seen it work out well.

Overcoming Inadequate Project Funding

There are strategies by which you can overcome inadequate project funding:

  1. Decrease cost of labor

A strategy to decrease the cost of your project is to use a lower cost labor pool, usually by engaging offshore developers. The key here is to understand the special risks going offshore introduces on your project, and understand the culture-specific nuances of every offshore development market.

Attempting to engage an offshore team without expertise on successful offshore project execution on your team dramatically increases risk of failure. An expert on your team should be intentional in risk management specific to the offshore engagement from the beginning. They should facilitate the vendor selection, knowledge transfer, project planning and project execution based upon industry best practices for engagement with the specific market where your project is executed.  

2. Decrease project scope

In many cases, it’s possible to negotiate a scope reduction to meet the goals of the project without exceeding the project budget. Notice - if you do not have a project charter, then you do not have the information necessary to propose scope changes which will keep the project aligned with the project’s business justification.

3. Leverage open source and off-the-shelf software for components of the system -

My software development practice is based upon a policy of avoiding custom software development whenever possible. When custom software development is required, then we work very hard to avoid inventing new code patterns. These two principles dramatically decrease total cost of construction in software development.

It is critical to perform necessary due diligence when leveraging open source and OTS software in a custom platform. This topic will be addressed in a separate article.  

Conclusion

The probability of project success significantly increases when a proper project charter has been approved by the controlling entity and the project is sufficiently funded based upon a realistic project cost estimate.


Ivan Poyda ????

Tech Leader at EPAM, ex-Oracle | Seasoned Manager with Success in Agile Development and Leading Diverse Teams

4 年

Business justification does matter. The sponsor should aware of what’s the value vs budget, schedule constraints, and risks associated (from the initiation). As well as important the right processes in time later and a great team. The world is more complex and changing faster. These are what matters to every organization to run your product development successfully, bring up timely the product that people will love, and not screw up on the way. Good article Kenn Palm!

回复
Kanstantsin Shmialiou

.NET Software Engineer

4 年

Well, pretty curious article.

回复
Edwin Dirkzwager

Eigenaar CIP Software B.V.

4 年

Great article which has given me some additional insights. Thanks !

回复
Chandrika Johri

Solutions Architect @ Bajaj Technology Services

4 年

Hey Kenn Palm, I think, with your article here, you might have answered some of the queries of people struggling with project development. Your perception on business justification being the rationale for project governance interested me as it is something that I strongly follow and recommend.

回复

要查看或添加评论,请登录

Kenn Palm的更多文章

  • Software Development - To Measure or Not To Measure

    Software Development - To Measure or Not To Measure

    OK, this was humbling! Last week, I pulled together a group of the fractional CTOs that Pilgrim Consulting integrates…

    117 条评论
  • Success unmeasured is not repeatable.

    Success unmeasured is not repeatable.

    Occasional success at anything can be a simple struck of luck. The world’s worst project manager can stumble in…

    2 条评论
  • Project Success and Risk Management

    Project Success and Risk Management

    Setting the Stage The Project Review was a thing of beauty. Feature Complete with 25% of time and budget remaining! As…

    102 条评论
  • Project Failure and Project Budget

    Project Failure and Project Budget

    Summary As children, we all LOVE fairy tales! The beautiful princess… the handsome prince… the evil dragon… the wise…

    137 条评论
  • Now, More Than Ever, Sell By Listening

    Now, More Than Ever, Sell By Listening

    Crazy markets like the one we are in today don't change the rules of the marketplace, they just make the rules much…

    45 条评论
  • Upwork, Freelancer and Fraud

    Upwork, Freelancer and Fraud

    Software is hard. Inadvertently engaging a scam artist on your project guarantees failure.

    7 条评论
  • The Hollow Agency

    The Hollow Agency

    By Kenn Palm and Wayne Norris Welcome to Generic Soft! “Here at Generic Software, we promise you mobile, web-based…

    7 条评论
  • The best networking opportunity in Nashville

    The best networking opportunity in Nashville

    A great breakfast! An amazing speaker! The best networking opportunity in Nashville. JOIN ME at the next Accelerent…

  • Turbo-Charging A Turtle

    Turbo-Charging A Turtle

    When assessing the performance of applications, we typically measure the ability of the system to respond to user…

    2 条评论
  • Risks & Waterfalls: IT Development

    Risks & Waterfalls: IT Development

    The best way to anticipate and potentially eliminate risks in IT development projects is to ask all of the right…

    4 条评论

社区洞察

其他会员也浏览了