I’m on my way home from the ISPA/SCEA (International Society of Parametric Analysts, Society of Cost Estimating and Analysis) Conference held in Albuquerque this week. Attendance was very good (2nd best in the conferences history) and as the content seemed especially good this week. I attended lots of good talks on topics ranging from SEPM (System Engineering, Project Management) cost estimating, Joint Confidence Levels, Software Estimating, Affordability, Agile software development and estimating for Enterprise Resource Planning Systems. Of course, just because the topics are good and well presented doesn’t mean I have to agree with everything that gets said.
One particular talk entitled “Function Points, One Size Fits All” got me a little worked up. It seems as though there is an on-going and completely unnecessary amount of energy devoted by some to convince the software community that we need to settle on a single method of measurement for software. The author makes some really good, credible points. Function Points are a much better method of measuring software if your intent is to compare productivity across or within specific industries. They help eliminate development technologies, programmer inconsistencies and software architecture decisions from an analysis of how productive an organization is at delivering business value to their customers.
Having said this, I firmly believe that sometimes SLOC (Source Lines of Code) are a better tool to help organizations estimate the costs of the software development projects they are planning. Knowing how your productivity stacks against the industry is great information when you are looking for process improvement or identifying best practices. But if you want to know how much the next project is going to costor how many months it will be before you can deliver content, your own history is much more relevant than the industries. Not that your history can’t be in Function Points – it just doesn’t have to be. Many of the weaknesses sighted with SLOC – while they certainly can be considered weaknesses) -aren’t really noticeable when working within a certain context. Within an organization, software development projects are often similar to previous projects, targeted at similar markets and are being developed by similar teams with similar (on average) coding styles. And SLOC Counting processes can be institutionalized within an organization. When this is the case, SLOC counts are just as good, if not better, than Function Point Counts and probably much easier to count since their count can be automated and does not require certified specialists.
The author contends that SLOC is a bad option because it is hard to estimate early on. I contend the same is true with Function Points - which if the Counting Practices Manual is followed to the letter – one is required to make an assessment of not only all transaction but also all the data element types and record element types. The author contends that SLOC is a bad option because there is no standard for what a SLOC is. I contend that the same can be said for Function Points. Perusal of the International Software Benchmark Standards Groups’ (ISBSG) database shows that there are several different ‘standards’ for counting Function Points – because one standard was not deemed sufficient by many in the community to meet all software measurement needs.
Don’t get me wrong – I do not disagree with many of the assertions the author made, only the notion that one size fits all. Let’s be real – software measurement is not easy and there are many different ways to approach it depending on the reasons for the measurement and the circumstances around those needs. Function Points are a good tool to have in your software measurement tool box, so are Source Lines of Code, Use Case Points and user Stories. It’s true that if all you have is a hammer every problem is a nail. Fortunately we have many different tools and should feel empowered to choose the right tool depending on the current need.
Estimation Trivia
How To Develop Data-Driven Cost Estimating Relationships in TruePlanning
Going to ISPA SCEA in New Mexico? If so, join us for a workshop on data driven cost estimating. Register: http://www.pricesystems.com/services/predictive_modeling_schedule.asp#/?i=3
Description: Building transparency and traceability into your estimating process leads to more defendable estimates. This hands-on workshop demonstrates how historical data is transformed into predictive models. You will learn how your organization’s data can be synthesized into custom models that can be employed in support of third party models within a single analytical framework.
Participants will learn: (1) To develop system level estimating relationships to provide a test of reasonableness and historical cross-check to proposed estimates. (2) To develop sub-system level relationships that estimate Software Lines of Code based on requirements. (3) To develop historically-based relationships across classes of aircraft systems in support of “ball-park” estimates based on specific program actuals.
Location: 2011 ISPA/SCEA Joint Annual Conference / Hyatt Regency Albuquerque - Fiesta 1-2 / June 7th, 2011 / 9:00 am – 1:00 pm (includes complimentary lunch). Hope to see you there! To register go to: http://www.pricesystems.com/services/predictive_modeling_schedule.asp#/?i=3
TruePlanning’s Role in Should-Cost Management
I was recently asked by a client to provide a synopsis of what TruePlanning offers in response to the Ashton Carter Memorandum – Implementation of Will-Cost and Should-Cost Management. In the memo, the Undersecretary of Defense AT&L listed “Selected Ingredients of Should Cost Management”. It was interesting to note how much capability is provided by TruePlanning to effectively support efficient should cost management. In this month’s blog, I will share with my response to our client with you.
Selected Ingredients of Should Cost Mgmt (Ashton Carter Memorandum) | TruePlanning “Should Cost” Capability |
Scrutinize each contributing ingredient of program cost and justify it… | Can model size, technology and schedule parameters and understand the interaction of each on cost. |
Benchmark against similar DoD programs and commercial analogues… | Benchmarking using cost research knowledge databases based on both military and commercial programs. Can also include specific program history. |
Promote Supply Chain Management to encourage competition and incentivize cost performance at lower tiers. | Can model the entire supply chain to analyze and understand impact of competition and cost incentives. |
Identify opportunity to breakout GFE vs. prime contractor-produced items | Contains models for both GFE vs. CFE allowing including estimating new development vs. modification |
Identify items or services contracted through a second or third party vehicle. Eliminate unnecessary pass-through costs by considering other contracting options. | Ability to model different vendor scenarios using True Planning's System Level Cost Model. |
Identify an alternative technology/material that can potentially reduce development or life cycle costs for a program. Ensure the prime product contract includes the development of this technology/material at the right time. | Robust capability to quickly select alternative technologies/materials and quantify impact on lifecycle costs. |
Systems Engineering and Parametrics…
Parametrics is more than estimating. It represents the complete process of capturing and utilizing (often with calibration) non-cost drivers, as well as associated programattics and configuration levels. The Wiki definition of systems engineering immediately speaks to project complexity, life cycle management, and logistics. Any question that parametrics and systems engineering are interrelated?
In many of our customer organizations, affordability and cost-benefit analyses have migrated to system engineering functions. How and where does your organization perform these analyses? As we enhance our capabilities and applications, it’s beneficial for all concerned to understand your adaptation of parametrics within the core activities of systems engineering, such as Life Cycle Planning, Life Cycle Integration, and Baselining. Estimation of Life Cycle Cost and Total Ownership Cost is well understood. Also appreciated here is your need to discern functional requirements, within context of missions, environments and constraints, in order to model affordability/ tradeoff studies.
I became very appreciative of the latter while teaching the Introductory True-Planning Hardware and Systems sessions last month to a class that included “old-school” Price Estimating Suite users. As part of our next release, the COM interface allows end-users to execute custom scripts from outside the framework to initiate modeling and call values (essentially using TP as a function call). For an example, I invited in a developer to demonstrate his sensitivity-tool built within Excel. The earlier-entrenched PES users were unanimous in their desire to utilize this new capability. My job is to train and empower, not to market. But I walked away impressed with how often these “estimators” were, in fact, integrated within organizations that accomplished cost/ benefit affordability activities.
Illuminate me please: how do your systems engineering functions take advantage of parametrics and tradeoffs tools?
Estimation Trivia
Estimation Trivia
Agile Estimation
Agile software development practices are predicated on the following tenets as introduced in 2001 in the Agile Manifesto [1]
- Individuals and interactions over processes and tools
- Working software over comprehensive documentation
- Customer collaboration over contract negotiation
- Responding to change over following a plan
Agile development processes rely on experienced, highly skilled people communicating with clients and each other to deliver software that provides the clients with the most value for the money they spend. This requires both developers and consumers of software to accept the reality that things will change over the course of the project and that the software that is eventually delivered may not be the same as that was envisioned when the project was first kicked off.
At any given time, the agile software development team is only working on the feature that the customer currently feels is the most valuable. Estimation is performed by the team (including developers, BAs, QAs and customer representatives) and is only focused on the feature that is currently on deck. At the end of an iteration, the customer has an opportunity to review the implementation to date and can reprioritize remaining features based on changes in their requirements, market or expectations. So estimating beyond the current feature doesn’t really make agile sense.
Unfortunately, the fact that estimation doesn’t make sense for the agile team does not mean it doesn’t make sense for the business. The business needs to see the forest not just the trees. Customers need an idea when their software will be delivered, businesses need to prep the market for new products and features, businesses need to be able to optimize resource allocations across many projects, etc. This of course begs the question of how to perform an estimate for software when you really don’t know exactly what software you’re going to build. As an industry, we’ve been pretty unsuccessful estimating software projects even when we think we have a handle on the end product – how can we be successful with so much uncertainty.
First we accept uncertainty and commit to incorporating uncertainty into our estimates. Once we’ve made that commitment we are then free to pursue one of many top level estimating techniques to help us get our head around a likely range of values for cost and schedule based on what we currently know about the software project. Parametric techniques are particularly suitable for this task especially for an organization that has some historical data from previous agile projects. Parametric estimating models like TruePlanning for Software provide a repeatable framework through which an organization can study their past performances on similar projects (similar number of features, similar market, similar customer, etc) and use what they learn to perform estimates on the project at hand. The amount and nature of the similarities should guide the amount of uncertainty in the estimate. Organizational history can be used to map Story Points or User Stories to a size measurement such as source lines of code, function points or user points. Analysis of performance on past projects can inform decisions about productivity and other project drivers. This information can be used to drive the parametric algorithms to develop estimates for cost, effort and schedule.
Since we have already acknowledged that we didn’t get the question right, it’s unreasonable to assume that the answer will be ‘the right answer’. What we do come away with is a range for cost, effort and schedule which will give decision makers realistic data to work with. If we have properly studied our history and thoughtfully assessed uncertainty, we can present these ranges with a quantifiable degree of certainty.
What process does your organization employ to plan around agile induced uncertainties?
[1] Agile Alliance, “Agile Software Development Manifesto”, Feb 2001, available at www.agilemanifesto.org (retrieved January 2010)
Estimation Trivia
Happy Easter! What is the weight of the world's largest jellybean? Submit your answer in the comments section!
Estimation Trivia
What is the aircraft speed record, in mph or km/h, for an unmanned jet airplane? Submit your estimate in the comments section!
Estimation Trivia
In mph or km/h, what is the average cruising speed of a Boeing 737 jet? Submit your estimate in the comments section!
Estimation Trivia
Manhattan Beach - Estimating & Analysis Best Practice Workshop - April 27th
This FREE workshop features government and industry speakers discussing how the current fiscal environment impacts the day-to-day estimating challenges faced by government program offices and their commercial counterparts. These events seek to bring leaders together to share ideas and experiences about their most pressing issues.
We are looking to professionals, such as you to contribute ideas and best practices. For more information or to register:http://www.pricesystems.com/services/predictive_modeling_schedule.asp
So you think you are good? Can you prove it?
“I think we have an obligation to work with industry to ensure that our suppliers do not just remain world class in defence, but aspire to be world-class manufactures that can withstand comparison to other industries.”
Chief of Defence Procurement, Sir Robert Walmsley
Is this a practical proposition or is it a pipe dream? The following excerpt from Dale Shermon’s Systems Cost Engineering attempts to make the case that this type of comparison is possible.
Many of the statements in proposals and marketing literature stating the superiority of a company are anecdotal or at best qualitative evidence. It has not been possible to quantify the productivity of industry to demonstrate that one manufacturer is more efficient than another.
In the ship building industry it is possible to benchmark commercial ship yards using a metric called Compensated Gross Tonnage (CGT). CGT measures the complexity of building a ship. It is calculated by multiplying the gross tonnage by the relevant CGT coefficient (calculated by the Organisation for Economic and Commercial Development [OECD]). However, this is only applicable to this one industry. Other metrics exist in other industries, but what is really required is a single benchmarking technique and measure.
Benchmarking with Cost Normalization. Forty years ago, PRICE Systems developed a metric that can be used to normalize cost and support the benchmarking practices needed to reach Sir Walmsley vision. Manufacturing Complexity represents the normalized cost density of an item that has been manufactured. It has two dimensions: technology and productivity. Hence, more than one Manufacturing Complexity can exist. As aircraft are made using different technologies and by different companies, these have various complexity figures. However, if the technology is constant, the only dimension that changes is productivity. As a result, it is possible to compare the efficiency of companies that produce similar technologies.
Supplier Assessment. One obvious and practical application of this technique is Supplier Assessment. This technique exploits the capability of parametric models to compare organization’s normalized cost density or Manufacturing Complexity. If, on paper, you have very similar proposals, how can you judge which organization will provide the best value for money? Heritage data will determine the level of development that is required and Operating and Support Cost will establish the Through Life Cost, but if these cannot differentiate the proposals perhaps the productivity of the companies should be considered. This is not a simple comparison, but with manufacturing complexity this can be achieved easily.
This process will lead to your suppliers knowing that you are able to control them; they will need more control on themselves. It will enable you to perfect your negotiation skill, leading to more success, as better negotiation material is utilised based on technology cost drivers. A parametric questionnaire is a possible tool to enable proposal validation in minutes. All this information can be garnered at a very early stage in a project if required, providing better estimating accuracy for the purchased items. Normalization enables a bigger data sample as previous proposals received from the same companies can be compared. This in turn enables the establishing of trends. Are the suppliers becoming more or less efficient? Ultimately, these comparisons can be used to determine preferred suppliers.
Conclusion. This method of benchmarking a project or company can be used for all environments. With the ability to move across environments it is possible to compare commercial and military organisations equally. Decisions and judgments can be made between Commercial and Military suppliers where no military competition exists. It is possible to assess the productivity of an organisation or country at System, sub-system and equipment levels. The technique can be used to compare the whole cost or just the labour cost if that is the focus of your efficiency drive.
It is possible to determine preferred suppliers on a justified basis, or alternatively it is possible to demonstrate the efficiency of your organisation when the customer is skeptical about your productivity or your drive to improve productivity.
Finally, many organisations already have a license to use the PRICE models and over 8,000 people worldwide have been trained and are familiar with the PRICE methodology. This is not a new idea, PRICE has been established since 1975, but this new application of an established technique can help decision maker take the right decision regarding source selection cross industry and national companies. Alternatively, it can enable industry to demonstrate, with proof, that they are more effective than other solutions.
Is competition possible?
Competition seems like a sensible practice on the path to best value. However, is it possible to create a truly competitive environment?
“It is a tradition that we don’t trust our business partners, people don’t have a clear understanding of how sharing information would result in better performance. The lack of understanding induces fear and skepticism.”
There are two behaviors that debunk competition in regards to complex systems wrought with uncertainty: over-optimism and deception. Government buyers share the dual burden of seeking advanced technologies to meet future capabilities while asked to determine best value of goods and products that lack historical reference or data. The real challenge in meeting cost reduction and competitive initiatives falls in the hands of those responsible for defining and achieving best value for their organization – acquisition and purchasing professionals.
Acquisition professionals must be armed with tools, knowledge, and methods that provide rapid, credible identification of predicted cost and risk. Knowledge capture and estimating practices have proven to detect deceptive estimating, eliminate mistakes and anticipate the risks associated with optimistic predictions of new technologies. From better selection of COTS, to benchmarking suppliers, to supporting real business case - our customers are working to understand the systems they are acquiring and the goods they are purchasing. They are finding ways to come to the negotiating table from a position of knowledge - a position that promotes cost realism and ultimately honest competition.
Have you seen real competition at work in your industry?
Estimation Trivia
The perfect swing
I’m not a golfer. But we’ve all heard one say “that’s why I play” after hitting a shot and feeling like it all came together. What “it” is, in terms of mechanics and timing, I’m not really sure.
In our own world of parametrics, it’s the feeling of adding value in that golden moment of facilitating decisions and forward momentum. We wear many hats: estimating, consulting, systems engineering...even cost accounting. Building an AoA, ICE or ROM is where rubber-meets-the-road in regards to configurations and assumptions.
Not too long ago I was in a discussion with a number of Subject Matter Experts and realized that most of us at the table hadn’t had a chance to hear each other’s perspectives. Enter the consensus-maker! With parameter pick-lists and definitions displayed as talking points, we talked through the scenarios and operational expectations.
We clearly needed a common frame of reference to get to a real-time resolution. The group built momentum, carrying over past the meeting. My role that day was to facilitate. When it all comes together, bridging between representatives from business operations, program management, systems engineering and field operations, it’s a very good feeling to add value. Maybe not as perfect as a hole-in-one, but I’ll take “it” every time!
Me and quality
- A round table peer review, where we describe and defend our parametric modeling approach as well as consistency across similar objects/ systems/ alternatives.
- Introduction of an independent 3rd party, not part of the estimating team, who is an experienced modeler. This resource can take the client perspective in reviewing, say, procurement versus cost-of-ownership as well as comparables from similar program experiences.
- Take an agile approach where your project leader is the “product owner” who reviews all interim deliverables top-down.
- Another option is incorporating a client representative into your pre-release reviews for similar validation testing.
- Finally, we pair off internally to verifying each other’s work against the real-time documentation we keep per common templates. (Available from PRICE Systems, for both hardware and software modeling inputs). They are great visualization tools for internal parameter-tracking, plus external pre/ post model review with customers.
The cobbler's kids...
...wear the worst shoes. The cobbler was a master at his craft; he was just too tired to practice it when he got home from the shop. Sound familiar?
A disciplined approach to understanding (functional) requirements as well as analogous projects (with actuals) is our not-so-secret sauce. Why run the risk of creeping back up our career learning curve? There’s already enough scope creep to keep us busy. Plus, for you management types charged with prospecting, a consistent approach towards estimation is a great way to connect with people who've felt the pain of being the cobbler's kids.
I recently reconnected with a colleague who found himself immersed in an early-stage, large-scale federal software project. Discussion points ranged from parametrics utility to sizing to Earned Value Management. Not leaving my toolset at the shop translated into good conversation with followup request. A bad example is yours truly, a year ago, so immersed in a highly-featured personal project, that he neglected to find agreement on scope and cost with his team. Bad idea! Now my “shoes” (a one-off custom hot-rod) are way behind schedule and way over budget. Keeping on my professional cost estimation consulting hat would have saved on both… bigtime!
Work Breakdown Structures are Workable!
True Planning results have many options, including viewing Costs by Activity. While simple, this view can be quite powerful, especially when exported for re-organization manipulation.
In a recent exercise, the WBS mapping of common objects, estimated by separate multiple scenarios, presented a non-trivial chore in Excel. “Transposition” features work fine for matrices, as do pivot tables. But how does one map object by activity grids into activity lists, similar to MIL-STD 881a, with singular “roll up” instances of all nonzero object costs?
The secret is in how True Planning appends each activity output with the [object] tag. Once exported (via “Send to Excel” or “Copy Grid” options), a simple Data-Sort by Activity name will, by default, alphabetically group activities. From there, either then group by phase and/or group by scenario. The latter can be the original organization or an entirely new one. Next, use Excel’s Data-Group option to build subtotaling and roll up controls. This also gives you the ability to hide/view object instances, which are essentially activity subtotals. Finally, at your discretion, shred any scenario-shared costs such as SE/PM or personnel. Of course, build checksums to cross-check.
Last piece of advice on this: for each step in your approach, document process refinements and save your interim artifacts as templates. The next time you are asked to rework the steps with a new scenario set or organization, your life will be even easier.