Responsible Actions to ward off Litigation over Software Project Failures

Friday, January 15, 2010 by Arlene Minkiewicz

 

Failed software projects are always bad but there are additional complications when there is a contract in place to deliver the software.  Disputes over failed software can result in costly litigation that generally damages both the vendor and the buyer. According to observations of Capers Jones in "Conflict and Litigation Between Software Clients and Developers" (2007) , 5% of the projects his clients were involved in either had litigation pending or were currently involved in litigation over project failures.  His findings indicate that it is very large projects, over 10,000 Function Points that are most prone to litigation, which makes sense if you consider the relative increased complexity, as well as the large amount of money such a contract would involve.  Although one occasionally hears of pending litigation over software projects in the news, determining the background and outcomes of such litigation is difficult because they involve large customers and software contracting organizations, both of whom would rather keep their failures out of the spotlight.  This is likely a significant contributor to the fact that such litigations still occur since the industry is denied opportunities to examine and learn from the mistakes of others.

A report in Computer World [6] details a law suit filed by health insurer Highmark against KPGM for malpractice, fraud and brief of contract for a software system that Highmark had outsourced to KPMG.  While the article does not detail the outcome of this lawsuit, it makes it clear that the disagreement stemmed from misunderstandings and the failure of the two organizations to communicate and collaborate.

In light of this I have compiled a list of four responsible actions that both bidder and buyer should engage in when software projects are outsourced.  These may seem like common sense and the same old story, but clearly they bear repeating......

1. Create and Communicate Good Requirements ... misunderstood, constantly changing and new requirements are a common source of angst in software development projects.  Bidders need to understand the buyers requirements, document them fully, and incorporate the risk of requirements growth into their plans
2. Create and Maintain a credible cost estimate - the buyer needs to know what the effort should cost to evalute bids.  The bidder needs to properly assess the cost to them in order to make the project profitable and to avoid having the project cost them money
3. Understand and document risks; Plan up front for risk mitigation - bidders should work with buyers to understand their uncertainties.  These uncertainties need to be incorporated into the estimate and documented in the contract.
4. Create and maintain a cooperative relationship... when bidders and buyers collaborate and work nicely together, bumps in the road and set backs are handled sensibly, reducing the possiblities that things get out of hand.


 

Systems Cost Engineering Book Excerpt, Chapter 4

Friday, November 13, 2009 by Brett Schultz
Recently, Dale Shermon presented a webinar, "Preparing Bids Faster with Fewer Resources".  The content for the webinar was taken, as the title of this post suggests, from the recently released book Systems Cost Engineering.

The webinar discussed how parametric estimating could dramatically decrease the time and thus the cost that is required to make important business decisions about whether or not to pursue contract opportunities. There are critical activities that organizations engage in every time there is an RFP such as Bid/No Bid decions or competitive assessments.  So whether the RFP calls for estimating software costs or a system that requires hardware/software integration, parametric estimating can provide fast and accurate information for making decisions. PRICE has been able to save its clients millions of dollars by reducing the resources typically needed to make these decisions and ultimately win the contract.

The presentation also does a nice job of walking through the different applications of parametrics. So if you are unfamiliar with this type of estimation, Dale's commentary at the beginning of the presentation can be very useful. But I'll let you be the judge.

To download the recorded version of this webinar go here.

Why go to the cloud?

Wednesday, September 30, 2009 by Arlene Minkiewicz


Recently I was interviewed by Doug Beizer of Federal  Computer Weekly for an article about the shift of government agencies away from custom software development and towards the use of cloud computing.  The interest in this topic seemed to stem from the introduction of Apps.gov online store earlier this month.
 
Having been in the software cost estimation community for more than 25 years,  I have experienced this transition first hand but never really stopped to think about the whys and wherefores until questioned by Doug.  It was an interesting stroll down memory lane.  As an example, just think for a minute about how much communication has changed.  When Ifirst started working if I needed to discuss something with a co-worker or friend I either needed to pick up the phone or pick myself up out of my chair and go talk to them.  If I wanted to leave a paper trail – I actuallyneeded to use paper.  There was no internet, no e-mail, and certainly no social networking.  Like everyone else,government agencies needed to develop custom application to meet specific communication, networking and other needs.  Because the government had many communication needs – both on the business and mission side – government agencies became a leader in developing these types of applications.
 
With the advent of the Internet and ever evolving forms of social networking, the commercial sector has been forced to get really good at developing communication software – so good that the government agencies are nowl ooking more and more to the commercial sector and the cloud for such capabilities.  Not to say that all government needs can be solved with commercial solutions, but many more so than back in the day.  And while communication capabilities are my favorite example, let’s face the fact that there’s a lot of software out there– many of it that’s completely adequate (if not superior) to meet the needs of the government.

Systems Cost Engineering, A New Book on Parametric Cost Estimating

Wednesday, September 16, 2009 by Brett Schultz

Whlie most of the books on the topic of parametric modeling take a look at detailed techniques and fundamentals, such as building parent/child relationships or the mathematics behind models, Systems Cost Engineering, takes a more practical perspective to answer a very basic question:  What can parametric estimating do for my organization and how can we implement it? 

The book covers an array of business processes that can be dramatically improved with the application of a standardized parametric cost estimating framework. These processes exist across multiple phases of a program's lifecycle  such as early concept planning through development and production. Chapters are devoted to various How To's such as preparing bids faster, better business planning, evaluating vendor quotes, estimating software costs and schedules and analyzing risk and uncertainty.

The book is a collaboration of work over the past 30 years in the field or parametric cost estimating. It was brought together by PRICE Systems executive, Dale Shermon, who was recently awarded the Frank Frieman Award the International Society for Parametric Analysts' highest honor.

The book is available for purchase at Amazon.com and from Gower Publishing.

The Power of Parametrics

Thursday, August 13, 2009 by Brett Schultz

Let’s start with a simple test. Which is greater: the number of six-letter English words that have "n" as the fifth letter or the number of six-letter words ending in "ing"?

If you are like most people you’re thinking the correct answer is six-letter words ending in "ing". But most people are wrong. And the reason is simple, people rely on what they can easily recall. Since it’s much easier to think of 6-letter words ending in "ing" the fact that people come to that conclusion isn't suprising. Psychologists refer to this as availability bias. This type of bias gives more importance to things that we can vividly remember and easily recall. All too often, bias like this plays a prominent a role in the development of estimates. (By the way, the group of six-letter words that have "n" as the fifth letter include all of the six-letter words ending in "ing")

Part of the power of parametric cost estimating is the ability to substantially diminish this bias and to fill in where data is lacking. A parametric approach uses sophisticated mathematical equations along with historical data from similar systems or projects in combination with existing organizational data to produce an estimate that is external to the types of biases that often plague estimates. Once organizations are estimating software, hardware or systems of systems using a parametric model, the accuracy of the model will increase as data is captured from other projects. This systematic collection of actuals compared to estimates over time leads to data driven decision making.

Parametric cost estimating is a widely used approach for bidding on a contract, input into a cost benefit analysis, or as the pre-planning tool for project implementation. Extensive literature reviews suggest that an effective parametric cost estimating methodology is becoming an essential tool for technology-driven organizations. The use of parametric estimating in budgeting, scheduling, and control of projects will enhance the ability of project management organizations to effectively and efficiently utilize valuable resources. The benefit of parametric cost estimating tools is its use as an estimating model for better determining potential resource requirements during the project pre-planning and conceptual phase. When software cost estimation is performed using a parametric approach with proven commercial framework, the benefits realized far outweigh the cost of doing the estimating.

 

Anything Can Happen.... A Good Coach is Prepared!

Thursday, April 30, 2009 by Arlene Minkiewicz

It's finally Spring!  And along with the leaves on the trees, the beautiful flowers and the happy chirping birds.... it is once again Baseball Season.  Baseball season is a beautiful thing - and not just because, as a resident of South Jersey, my team is the 2008 World Champion Phillies.  I just love the game and everything about it.  I believe this is because with baseball the impossible becomes possible because anything can (and will)  happen and with a good plan in place you can still be successful.

I didn't always love baseball.  When I was a kid growing up in Baltimore - my Dad - a huge baseball fan - would take our family to Memorial Stadium to watch our beloved Orioles play. It was fun for the first few innings but after the hot dogs, sodas and peanuts were finished - it started to get a little boring (Sorry Dad but I just didn't get it).  Years later, as the mother of young little leaguers I actually detested baseball.  The only things worse than spending all your evenings at the little league field watching bad pitchers (cause they were learning) throw balls to bad batters (who were also learning) was the drive home with aforementioned (now angry) bad pitchers and/or hitters.  But as my boys matured something miraculous happened.  The kids started to play well and I started to enjoy the games.  The more enjoyable the games were the more I cared about the rules, the nuances, and the numbers of baseball.  Only after this journey did I realize what a great game baseball is.  A good team with good players, passion and a coach with a good plan can turn almost certain defeat into victory.

Project Planning is not all that different. When starting a software development project you need to start off with a plan and then you need to recognize that absolutely anything can happen.  Like a good coach you need to understand your risks - and you need to have contingency plans in case something unexpected happens.  A tool like PRICE Systems  TruePlanning for IT is a good place to start.  TruePlanning not only supplies cost and effort estimates based on descriptions of your project and your team, but it lets you indicate the uncertainty in these descriptions to add a level of confidence to the plan produced.


Almighty Estimation

Thursday, April 2, 2009 by Arlene Minkiewicz

I have to say that my foray into blogging has been an interesting one.  By definition, the Chief Scientist should be a nerdy sort of geek too high brow to pontificate on topics in such a pedestrian format.  Actually I kind of like it.  In part because I enjoy writing and I'm not picky about what I write - technical documents are OK but pontification works as well.  And in part because I know that in order to be a good writer in a particular genre one must read extensively from that genre.  In other words I now have a good excuse to surf the web for related blogs and have found great ideas that have fueled my imagination

Today I want to share an article I found on 'Quips On Software Development' by David Longstreet called "Ancient Wisdom for Software Estimating".  In it Longstreet traces the need for good estmating all the way back to the Bible.  From Luke 14:25-33 Jesus says to the crowd of discipleship "Which of you wishing to construct a tower does not first sit down and calculate the cost to see if there is enough for its completion?  Otherwise after laying the foundation and finding himself unable to finish the work the onlookers should laugh at him and say, 'This one began to build but did not have the resources to finish'"

Of course this was posted on April 1st so my first thought was of practical jokes. After thinking about how cool it would be to get this kind of powerful buy-in on the importance of estimating I figured I would check it out.  So I powered up another browser and went to Bible.com (who knew!).  Sure enough it was the real deal.

So what's my point here?  Regardless of your religious beliefs - it seems prophetic that a document representing life and times more than 2000 years ago recognizes the importance of estimation and resource management.  And further acknowledges the fact that people will notice if you say you're going to do something and then don't finish it because you've run out of time or money.  Even before there were machines or factories, computers or software; before the words process improvement had ever been uttered - people understood that estimation was important when embarking on a project. 

The next time you think about starting a project with a WAG (Wild A** Guess) or with the number your boss wants to hear - first stop and ask yourself... "What Would Jesus Do?"

Does Your Estimating System Pass the Test?

Tuesday, March 17, 2009 by Anthony DeMarco

Doing business with the Department of Defense (DOD) requires that you have disciplined company governance in specific areas as noted in the Defense Federal Acquisition Regulations (DFARs). In particular, DFARs 215.811 and 252.215-7003. DFARs 215.811 requires all DOD contractors, large and small, have adequate estimating systems to support their proposals. As part of a regulatory oversight requirement, the Defense Contracts Audit Agency (DCAA) will periodically perform contractor estimating system reviews. If you are a large defense contractor, you can expect your estimating system to be reviewed routinely. Smaller defense contractors can be audited at any time at the request of their customer. If DCAA finds that you have estimating system deficiencies, "Flash" reports are broadcasted to your customer and other defense agencies. If the deficiencies are serious, you may be suspended from submitting any further proposals until your estimating system is deemed adequate.

So what is an adequate estimating system? It is DOD policy that contractors have estimating systems that consistently produce well supported proposals acceptable as a basis for negotiating fair and reasonable prices. Estimating systems should be consistent and integrated with a contractor's related management systems, and be subject to applicable financial control systems. To be considered adequate, an estimating system must be established, maintained, reliable, and consistently applied. It must also produce verifiable, supportable and documented cost estimates.

DFARs 215.811-70 delineates attributes of an adequate estimating system. So if your estimating system is tested, you will be scored on following:

The Contractor…

1. Establishes clear responsibility for the preparation, review, and approval of cost estimates.

2. Provides a written description of the organization and duties of personnel responsible for contributing to the estimating process

3. Ensures that relevant personnel have sufficient training, experience and guidance

4. Identifies sources of data and the estimating methods and rationale used in developing cost estimates.

5. Provides for appropriate supervision

6. Provides for consistent application of estimating techniques.

7. Provides for detection and timely correction of errors.

8. Protects against cost duplication and omissions.

9. Provides for the use of historical experience, including vendor pricing information where appropriate.

10. Requires use of appropriate analytical methods.

11. Integrates information available from other management systems as appropriate.

12. Requires management review [of the estimating system]

13. Provides for internal review of and accountability for the adequacy of the estimating system, including the comparison of projected results to actual results and an analysis of any differences.

14. Provides procedures to update cost estimates in a timely manner.

15. Addresses responsibility for review and analysis of subcontract prices.

The new Administration has renewed attention to Defense Acquisition Reform. I suggest that you do not wait for DCAA to come knocking at your door to ensure that you have an adequate estimating system. Do a self-audit of your practices using the attributes above. Put yourself in the shoes of your local DCAA auditor – did you pass the test? Fill in the gaps, document your process, practice what you documented, and revisit and renew your vows periodically. An adequate estimating system is not just a DFAR requirement; it is a sound business practice.

The Value of Value Estimating

Friday, March 6, 2009 by Anthony DeMarco

Barak Obama's 2010 U.S. Federal Budget proposal promises a "New Era of Responsibility", and in the introduction he says,  

"...we must begin the process of making the tough choices necessary to restore fiscal discipline, cut the deficit in half by the end of my first term in office, and put our Nation on sound fiscal footing."

Tough choices indeed. There in lies the greatest challenge.  With the best intentions, our government tries to do good things, but always starts more projects than it can afford.  And often the expected "value" of an initiative is never fully vetted before a project is launched. 

How can you decide among project alternatives and choose an optimal strategy if you have not determined the value of each?

How can you restore fiscal discipline and cut the budget deficit if you do not know the cost-benefit analyses your projects? 

Since a new era of government spending responsibility will hinge upon making tough decisions, they must be supported by the disciplines of 
business case analysis, analysis of alternatives, and portfolio management optimization to be successful.


 These disciplines have been areas of study for us at PRICE Systems for the past two years and our work was released this week in TruePlanning 2009.  There are three innovative new features in this release:
  1. Value models - enabling analysts to estimate the value and benefits of project once it is delivered, and over its lifetime
  2. Business Case Analysis - enabling analysts to prepare and score a case for the project including the cost/benefit analysis, payback period, investment rate of return, strategic benefits, and other evaluation criteria scoring.  The business case tells the story of the project.
  3. Analysis of Alternatives and Portfolio Analysis - enabling decision-makers to view Risk/Reward charts of alternatives and planners to reconcile total project estimates to budgets.
In this post I will give you an overview of these features and I hope to dive deeper in future posts.  Consider the decision a government planner must make on whether or not to launch a Business Process Automation (BPA) project.  The figure below shows a TruePlanning Payback view for the BPA project.

TruePlanning Project Payback View

The three panels in this view tell the story of the project and make its business case.  The product breakdown structure view below identifies the elements of the project that will cost money and identifies the various benefits expected from the project implementation.

TruePlanning PBS Tree

Each element in the tree represents either a cost item or a benefit associated with the project.  The cost items and benefit items are grouped into separate folders so that they can be reviewed individually or summarized.  

The Payback chart below shows how costs and benefits are realized over time so that project cost/benefit cash flow can be analyzed.

TruePlanning Payback Chart

Each bar quantifies the costs and benefits realized in each year, the line shows the cumulative cash flow over time.

The Metrics table shown below shows the most commonly used financial metrics used for business case analysis.

TruePlanning Financial Metrics Table

This alternative of the BPA has a payback period of just over five years and has an IRR of nearly thirty-nine percent.

However, there is a problem.  When we combine our BPA project with the other projects in our portfolio we identify an estimated budget overrun.  As shown in the project portfolio view below, the sum of the project estimates exceeds our agency budget over time.

TruePlanning Budget vs. Project Estimate View


Now we must decide what we cannot do or what project we must cancel to stay within budget.  We know the business case for the BPA project,  how does that compare to the other projects?  The chart below shows the risk/reward for the projects under consideration. 

TruePlanning Risk and Reward Bubble Chart

Tough decision time!  If you only had budget for two projects, which would you choose?  Are you willing to say NO to the others? 

TruePlanning 2009 has been delivered just in time to empower government decision-makers with the right tools so that they can "begin the process of making the tough choices necessary to restore fiscal discipline, cut the deficit in half by the end of my first term in office, and put our Nation on sound fiscal footing".  TruePlanning cost management software estimates software development costs, IT project costs, and now, the value of those projects. The value of determining a project's true value is more important than ever. 


The Black Swan Meets the Cost-Estimator: 2009 Edition

Wednesday, February 25, 2009 by Brett Schultz

Author Nassim Taleb describes a Black Swan as an unexpected event that ultimately leads to what best can be described as a paradigm-shift. In his book, The Black Swan, he includes 9/11, the rise of the Internet, Google and the personal computer as Black Swan events. We could not have predicted those events but they have had a huge impact on us.

Even positive Black Swans can be a source of frustration. Since so few people are prepared for them, it becomes impossible to profit from them. The group that is most frustrated by Black Swans are probably those whose jobs involve cost estimation.Cost-estimators rely on past data to forecast costs so it becomes very difficult to estimate the costs of Black Swans. So where are the new Black Swans and how should Cost-estimators prepare?
I think that the new Black Swans are those that deal with smart technology. This category includes:

  • Smart Infrastructure: roads, bridges, etc that have built-in detection and analysis capacity
     
  • Smart Energy: While there has been a lot of emphasis on alternative energy, the real paradigm shift will be in a grid that adjust itself to maximum efficiency. This will involve estimating software costs for new systems
  • Smart Healthcare: Healthcare IT will create efficiencies in our bloated healthcare ecology. The digital exchange of records will eliminate redundancy and enable cost-effective delivery. This will usher in the need to develop effective IT project cost estimation.

Many of these technologies are captured in the stimulus. With the blessing of the federal government, we will see venture capital quickly follow suit. So how does the cost-estimator adapt?

First, we must analyze analogous systems. The ATM/Banking System is usually good place to start since there are a lot of similarities, especially with Health IT. There also have been some small-scale implementations of these technologies. Abu Dhabi is building a city of the future that includes smart technology.

Second, we must learn the effect that networks have on cost. Too often, we, cost estimators, wallow in the weeds of systems. We concern ourselves with how many laptops do we need rather than what effect do the laptops working together have on costs. We must ask ourselves repeatedly if the whole is greater than the sum of the parts.

Finally, we must view technology as a service rather than a product. We must evaluate architectures such as SOA, Cloud Computing and Grid Computing. We must analyze how such systems determine requirements and values.

So this is the challenge. The Black Swans have landed. They require estimation to be accurate and thus, proven cost estimating tools must be a part of the equation. Now, we need to shift the way we approach our work and answer the call.


Be a Project Management Hero

Thursday, January 22, 2009 by Arlene Minkiewicz

                     
Like many others, I was astonished last Thursday by the images on my browser of those 155 extremely lucky people standing in the Hudson River.  And they certainly were very lucky last Thursday.  If you’re destined to fly on a flight bound for collision with birds, you want it to be piloted by a hero like Captain Sullenberger.  The incident made me think about what a hero is and how we all have the opportunities to be heroic in our chosen professions.


According to Wikipedia, a hero refers to a character that, in the face of danger and adversity or from a position of weakness, displays courage and the will for self sacrifice.  As a project manager you may not encounter danger daily, at least of a physical nature, but you certainly deal with adversity on many levels.  And courage is essential!

An heroic project manager is one who makes project decisions based on facts and who stands behind those decisions.  He or she defends the project team from those who wish to impose unrealistic deadlines and stands up to those who want to abuse or ignore the Project Management Triangle.  In order to be heroic, a project manager needs to have the tools necessary to plan a project right the first time as well as manage it with agility as situations change.  TruePlanning from PRICE Systems is just such a tool.  TruePlanning is the worlds leading solution for software cost estimation and IT Project Planning.  It gives project mangers the cost estimates they need to plan projects successfully and the courage necessary to defend those numbers to the naysayers.

Although the use of TruePlanning is unlikely to lead to instant fame or enable people to walk on water, a project manager who uses it regularly will be a hero to the team!
 


Is accurate estimating harder than rocket science?

Tuesday, January 20, 2009 by Anthony DeMarco

Today, change is in the air.  As I write this, Barack Obama is about to be sworn in as our new U.S. President and the space community, among others, should be braced for change.  A recent LA times article reported that of the 74 questions asked of NASA by the Obama transition team, over half were on basic spending issues, including cost overruns.

The Obama team and the NASA Administrator Michael Griffin clearly do not see eye-to-eye.  Monday, it was announced that Mr. Griffin will step down from the post.  Griffin characterizes himself as an engineer and states that NASA shouldn't be evaluated by how well it estimated the cost of projects.

"We start these things out, and we admit up front we don't completely know how to do them. That is what makes them interesting," Griffin said recently.

"If we are to judge the worth of our work by our ability to estimate, then that is a standard I am not ready to apply or to accept," Griffin said.

Others are more realistic about NASA's obligation to create credible expectations for spending taxpayer money.

"Our space program is running inefficiently, and without sufficient regard to cost performance," wrote Alan Stern, a former NASA associate administrator who has been mentioned as a possible replacement for Michael Griffin, the current NASA administrator.

In a recent op-ed piece in the New York Times, Stern called the cost overruns a "cancer" that has cost the agency's science program about $5 billion over five years.

Agency officials said they had improved financial controls -- including forcing managers to better estimate costs.

Considering NASA's great technical achievements, one must wonder, "Is accurate estimating harder than rocket science?" 

I don't think so.  I believe the clue to accurately estimating the cost, uncertainty and risk associated with large, complex space projects can be found in a recent Defense AT&L article by Col. Brian Shimel, USAF.  Col. Shimel states,

"We cannot relieve ourselves of the need to plan for the future just because the future is uncertain. For our plans to be reasonably accurate and reliable, it is prudent we base them on rational analysis and not on wishful thinking.", and...

"We must think clearly about uncertainty and risk, and we must fight the temptation to discount those factors when communicating the real conditions of our management situation. We don't get in trouble because of risk and uncertainty. We get in trouble for not admitting to ourselves - and those who rely on us - all of the risk and uncertainty that inherently exist in everything we plan to do."

Our TruePlanning estimating and cost management software gives managers metrics and benchmarks of previous projects, and methods to realistically quantify uncertainty and risks.  TruePlanning's reports and charts expose over-optimism and show managers the real conditions of the situation.  I routinely recommend that government agencies quantify all the risks and uncertainties of each project in their portfolio and budget to the sum of the 70% confidence levels of each project, yielding 80% confidence that the projects can meet taxpayer expectations for the budget.

President Barack Obama just finished his acceptance speech.  He called upon us all to increase our service to the country.  Government managers can help by stepping up to the estimating challenge.

Accurate estimating is not rocket science.  There are sophisticated cost estimating models to accurate estimate software development costs, hardware development costs, IT project costs, and operation and support costs - we just need to be realistic, responsible and courageous about presenting the results for our analysis. Contact us and we'll help you get started today.

Software estimation is hard

Thursday, October 30, 2008 by Arlene Minkiewicz

Software cost estimation is hard.  I have learned this the hard way – as a software developer and later as the manager of software development projects. Today, as a builder of cost estimating software, I learn something everyday about software development that reinforces the fact that software cost estimation is hard.

I attend a lot of trade shows and I talk to a lot of software people about how they estimate software costs.  Many of them have no formal process, many don’t collect data as projects progress, many of them perform estimates off the cuff, and many of them, not surprisingly, are unhappy about the outcome of their software development projects.

Many of these same people are quick to point out, when presented with possible help in the form of TruePlanning for Software, why it will never work for them.  Nine times out of ten, the reason they give me has to do with the uniqueness of their product, their customer base, their market or their software development process.  They question the data behind the model and suggest that this data can not be successfully translated to properly model their specific situation.

And I can’t fight the uniqueness argument – it’s most likely true.  Every software project has factors that make it different from all the other software projects that have occurred in the past.  No two software projects are the same.  I can however argue about the suitability of the data behind my model. The majority of software projects are not defined by their uniqueness.  There is much more about most projects that is similar to other projects than is different.  A good software estimation tool like TruePlanning for Software capitalizes on this fact by allowing the user to take advantage of industry or organizational data for those many places where a project is not unique.  Further, it offers expert systems like guidance to transcend those areas where a software project veers from commonplace to extraordinary.

In software, as in life, we tend to put the most focus on the parts of a project that are challenging and interesting with much less focus on the parts that are ordinary.  If, in doing this, we are discounting the lessons we can learn from history, we are doing ourselves and our software projects a disservice.

The silver bullet - Practice makes Perfect.

Tuesday, October 7, 2008 by Anthony DeMarco

Jacob has a great comment to my recent post on getting it "right the first time".  He notes that requirements are often fuzzy and that estimates rely on peoples' opinion of cost and duration - and that the are often wrong.  He asked what silver bullet we have. Our silver bullet is a proven discipline that makes people better estimators and sheds light on fuzzy requirements.

It starts with the people. Becoming an accurate estimator requires the same step-by-step approach as any learned skill such as golf or tennis or swimming (things I am currently struggling to do well). First you need the right tools, then you need to learn the right way, then you need to be mentored by experts as you practice what you learned until it becomes second nature. Recently, I was struggling with my breathing while attempting to swim. Lap-after-lap I was breathing hard, swallowing water - it was a miserable sight.  Then I consulted an expert that got my head turning the right way and got me into an rhythm of breathing every third stroke.  My swimming quickly improved by 40% - more laps in less time.

We do the same for our clients.  First we arm them with the right tools.  Our TruePlanning software provides a proven step-by-step discipline to do an estimate the right way,  TruePlanning asks the right questions and covers all the bases, including risks.  Then we train people not just how to use our software but how to be great estimators.  Sizing methods, interview techniques, and requirements elicitation are part of our training.  Then our experts are by their side as they hone their skills through email, live-meetings, a 24/7 hot-line, and on-site visits.  Throughout we provide people with benchmark measurements of other similar efforts and tips to guide them. Suddenly fuzzy requirements become clearer. People are doing more accurate estimates in less time. Typically our clients improve their estimating accuracy by 50% within three months and several of our clients now produce estimates that average within 5% of actual scope, cost, and schedule.  Our clients leverage our cost estimating software and cost management software to estimate software costs and schedules, IT infrastructure costs, and custom hardware to improve their overall project and portfolio management.  By the way, I just finished a mile in the pool and improved by another 10% - practice makes perfect.

Some Thoughts on Software Estimation for Service Oriented Architectures

Monday, October 6, 2008 by Arlene Minkiewicz

According to Gartner, Service Oriented Architectures (SOAs) will be used in more than eighty percent of mission critical operational applications and business processes by the year 2010.  Perusal of the literature on SOAs leads to visions of ease of implementation and cost savings of epic proportions.  And it is likely that not only will service oriented implementations results in cost savings, but that without them many currently envisioned capabilities in the corporate world and the Department of Defense (DoD) will be impossible to deploy, maintain, and evolve as technology explodes and requirements and priorities shift.

As with all technology shifts, the cost savings are neither automatic nor are they immediate.  Up front investment is necessary before the cost savings start to roll in.  Businesses are anxious to begin deploying SOA capabilities but are wary as to what the transition may cost them. 

This is an area that we at PRICE are very interested in, not only because we want to help our clients overcome this software cost estimation challenge, but also because we are investigating ways that SOA concepts will help us better serve clients of the TruePlanning Software Cost Estimation capabilities

For purposes of understanding cost implications, a SOA deployment can be segmented into three general areas.  The implementation of the infrastructure necessary to host service based capabilities is a significant investment for a company.  This generally requires a search for the right set of commercial off the shelf middleware components to meet the business’s requirements for security, performance, etc.  The deployment of the infrastructure is a one-time investment with costs being driven by the specific requirements of the organization and the level of technical maturity with respect to SOA.

Once an infrastructure is in place, services need to be developed and existing capabilities need to be migrated from traditional applications to services.  As services are really just software implementations,  drivers in this category are similar to typical drivers for software development costs.

Finally there is an integration and test effort associated with getting services working within the context of the infrastructure to deliver value to end users.  In many ways this effort will be similar to other software integration and test efforts but additional factors will come into play. It's important to understand how the rigor put into developing the infrastructure will impact the cost and effort of actually using that infrastructure to deliver capability. Read more about on-going research into the costs and benefits of Service Oriented Architecture.

Standardizing on estimating software can help you communicate in this global economy

Wednesday, October 1, 2008 by Anthony DeMarco

As I prepare my remarks for the first PRICE Systems International Symposium and User Group Meeting in Asia hosted by the PRIGENT corporation, I am astounded by the recent globalization of the Defense Industry.  Worldwide weapon systems acquisition has been permanently changed by: 


  1. the merger of US defense contractors in the 1990's,
  2. the entry of European contractors into the US Defense Industry (EADS, BAE) in the 2000's, and
  3. the entry of Korea into the global market happening now.


Today, BAE Systems is the sixth largest U.S. defense contractor, U.S. defense contractors dominate European Defense top-ten lists and S. Korea is building its global customer portfolio, including Turkey. Among of the greatest challenges to this newly globalized industry are communication and understanding between customers and contractors, and among the internal organizations within a multi-national corporation. Defense procurement agencies and contractors wishing to succeed in this new world must adopt new communication strategies. 
One of those strategies will be evident at our event.  Negotiations to set the right price and to determine the ensuing operation and support costs are difficult in this environment.  Cost models, which work in the precise global language of mathematics, are the Rosetta Stone in the procurement Tower of Babel.  At our Symposium TruePlanning and the PRICE models will be the common language among Defense procurement professionals from around the world. And they will have little trouble communicating and understanding because the models distill their differences down to a universal set of cost drivers, activities, and resources common to all projects. We will discuss estimating software costs, IT project cost estimating, the effect of software development tools, the challenges of project planning and budgeting - and there will be understanding. When we used acronyms to name our model parameters, an arcane term like ECMPLX (engineering complexity) became the global term for describing the technology maturity and engineering experience of a development task.  Today, our clients from around the world have a universal understanding of our model parameters and can communicate and negotiate effectively using our cost estimating software.  Everyday, I see evidence of vast productivity improvements when multi-national companies and international procurements standardize on our models and cost management software, establishing a common language in the midst of diversity. 

Is it like a Tower of Babel where you work? Consolidation is occurring in nearly every industry today, so think about the efficiencies that can be gained through standardization?  ...communication?  ...immediate understanding?  As you improve communication and understanding, you will become more productive and estimate more accurately.  

Wait! Do some measurement before you cut.

Thursday, September 18, 2008 by Anthony DeMarco
While many at Bear Stearns, Lehman Brothers, Merrill Lynch, and AIG are staggering from the Wall Street financial crisis, others on the acquisition side are contemplating the fate of redundant operations created by the these consolidations.  This reminds me of the rapid consolidation of the global Aerospace and Defense (A&D) during the 90's after the fall of the Berlin Wall.  Granted, this consolidation is happening at a much faster pace, but it would be wise for decision-makers to do a little performance measurement before they slash and burn redundant operations. 

During the A&D consolidation, the General Electric Corporation called upon me to help them measure performance of several redundant operations.  Why me?  Well our activity-based estimating models do a tremendous job of normalizing and measuring the productivity of similar, but somewhat different operations.  When you provide costs as an input to our models, you can calculate productivity.  Doing this for several projects at different operations gives you a clear picture of which operation is the most productive. Decision-makers can then make unbiased decisions about which one to close.  The same method can be employed with our TruePlanning for IT estimating suite.  Centers of excellence and laggards for IT budget planning, IT project management, software development, IT data-center operations can be quickly identified and the best allowed to survive. So, let's hope that the decision-makers are doing their due diligence and apply proper corporate governance.  A little bit of performance measurement modeling will go a long way.  

Get it right the first time, but don't forget the good, the bad, and the ugly

Wednesday, September 10, 2008 by Anthony DeMarco

A good point is made in a comment to my last post, Chris Carter says, "As estimators I think it is our duty to tell our customer (management) what we assess the possible range of outcomes to be so that they can make use of this information ".  I agree that we should always deliver an indication of accuracy every estimate.  Uncertainty and risk analysis is an integral feature of TruePlanning and we educate our clients on the value of estimate ranges to optimizing project and portfolio performance. The uncertainty-based probablistic confidence-level of an estimate that our products produce is an effective means of addressing the issue. Your cost estimating tools and cost estimating software should address uncertainty and confidence so that weapon system project planning and IT budget planning can be optimized.

Many times estimating software cost is the major challenge. I recently came across a strong case for estimating accuracy and the value of risk ranges in a recent Forrester Research report titled,  “Debunking IT Project Failure Myths,” by Lewis Cardin, a former CIO and currently senior analyst. The twelve-minute Podcast is worth a listen. Mr. Cardin found that among the top reasons projects failed were:

[Begin quote]
1. An unrealistic project plan, which dooms the best project.
All too often, when these projects go on the rails of the original project plan, PMs must spend more time on damage control with steering committees and project resources rather than on execution — doubling their work when it is least desirable to do so.

2. First-number syndrome, which makes business execs forget it’s an estimate.
When projects are first sized, which is likely to occur before they are approved, estimates of cost, time, and resources are preliminary with a wide confidence interval…. But business execs remember the number and forget how uncertain it is…[and] may see this simply as increasing costs, not as the inevitable result of greater knowledge.
[End quote]

I have seen these two factors kill many good projects and ruin the careers of many good people.  I served on the "Intenational Space Station Management and Cost Evaluation Task Force" (IMCE) for NASA and this was exactly the situation with that program.  My experience there prompted me to compile "Six Steps to Program Success" where, "Getting the estimate right the first time" is the most important step. It is so important that you create the right expectations at the beginning of project by presenting the possible outcomes, good, bad, and ugly.

Estimating accuracy is not just about one number. It applies to risk ranges and confidence-levels so that management can determine the right number that goes into the bid or budget.

Agile Development and Software Estimation

Wednesday, September 10, 2008 by Arlene Minkiewicz

Martin Woodward ‘s comparison of software development to Sudoku does an excellent job of explaining why software cost estimation is hard.  We constantly hear about software development projects that are unsuccessful because they have violated one or more aspects of the Project Management Triangle  - they are either delivered late, delivered over budget or fail to deliver the capability that users require. And while I firmly believe that software development is an engineering discipline, software project estimation is often more complicated than estimation for other engineering disciplines because software project output is not nearly as easy to quantify and because there are other intangible factors that impact the software development process - the same kind of intangibles that Woodward mentions in relation to a Sudoku puzzle.

Woodward also does a great job in describing how agile software development practices help with software project estimation.  When employing agile development practices, an organization effectively embarks on a new software development project with every iteration (an iteration is a small chunk of time -  usually one or two weeks long - during which the next 'release' of software is completed). The tenets of agile require frequent releases and frequent customer reviews.  These reviews often trigger reprioritization and re-estimation. The agile team develops its own system of software measurement and quickly becomes good at estimating the work required for any given iteration. Agile also promotes good development practices to ease recovery when intangibles threaten to unhinge the Project Management Triangle.  

If every software development project is a two week venture and the development team is very good at estimating the next iteration, why would an organization require a software estimation tool like TruePlanning by PRICE Systems?  This, of course, is an excellent question.  It is true that the software development team doesn’t need a software estimation tool but the organization still does.  The organization needs to be able to put together credible a credible product roadmap.  Customers and sales people still want to know what’s up next and when it’s going to be available.  And although the nature of agile development indicates that content might change, the knowledge of the agile development team will actually help the organization use a software estimation tool successfully. 

Agile is all about measurement.  Successful software cost estimation, even with a great tool, requires good measurement practices.  The tool is the framework for success, but good metrics customize the framework for a specific organization.  Agile organizations that can combine their data with a framework like TruePlanning  can optimize their ability for successful long term planning.

The Evolution of Software Size : A Search for Value

Friday, August 22, 2008 by Arlene Minkiewicz

Software size measurement continues to be a contentious issue within the software industry.  While the software engineering community has made significant progress in it’s quest for the right way to assign value, the journey has not been without missteps and detours.  And there is still more work to be done.

When I first started programming it never occurred to me to think about the size of the software I was developing.  This was true for several reasons.  First of all, back in the day, software had a tactile quality through the deck of punched cards required to run a program.  If I wanted to size the software I could touch, feel or eyeball the deck to get a sense of how much there was.  Secondly, I had no real reason to care how much code I was writing; I just kept writing until I got the desired results and then I moved on to the next challenge.  Finally, as an engineering student I was expected to learn how to program but I was never taught to appreciate the fact that developing software was an engineering discipline.  The idea of size being a characteristic of software was foreign to me – what did it really mean and what was the context?  And why would anyone care?

Twenty five years later, if you Google the phrase “software size” you will get more than one hundred thousand hits.  Clearly there is a reason to care about software size and there are lots of people out there worrying about it.  And still I am left to wonder – what does it really mean and what is the context?  And why would anyone care?

It turns out there are several very good reasons for wanting to measure software size.  Software size is an important component of productivity and quality metrics.  The ability to measure productivity and quality are an important part of any process improvement initiative.  The ability to measure size is essential to successful software project estimation.  Additionally, a good software size measure could conceivably lead to a better understanding of the value being delivered by a software application.  The problem is that there is no agreement among professionals as to the right units for measuring software or the right way to measure within the units we use today.  Read more about Software Measurement.