Taking the Pulse of the Estimation Industry
IT Project Failures
There is much about this discovery that is disturbing. Nothing good happens when large IT projects go off the rails. Money is lost, careers are ruined, and businesses tank. And going forward – it’s not getting any better because projects are getting more not less complex.
OK – while this study is eye opening in some sense - unless you’ve been living in a cave it’s not really news that lots of large IT projects fail. It seems to me the primary reasons for this are
* Failure of business leaders and IT personnel to communicate successfully about the problem to be solved and the plans for how to solve it.
* Project plans that evolve from optimism, bravado, or capitulation
* Failure to understand that change is hard and that technology alone will not effect change
* Refusal or inability to learn from history
* Inability to accept that changing or adding requirements to a software project can have far reaching effects that cost money and take time (seems like a no brainer but it happens all the time)
* Leadership that acts without introspection, self awareness, courage or good sense.
In other words there’s a very human element to most IT Project failures. Some things that businesses can do to mitigate the likelihood of such failures:
* Business leaders should work collaboratively with IT on all aspects of a projects – conversations should be two way with both sides listening to the issues and concerns
* Organizational history on like projects should be studied. If no history exists, look externally to learn what works and what doesn’t in your industry
* Tools and processes should be used wherever possible to support project estimation, planning and decicion making without emotion or bias
* Change needs to be championed from the top down
* Evolve the project in small achievable chunks. Assess progress regularly. Have a plan for how to identify problems as they arise and a criteria for when it is time to cut your losses
* Business and IT leaders need to act with knowledge of the business, knowledge of their teams, honest and realistic progress assessment, and courage to make hard decisions.
Certainly none of this is rocket science. But it seems to me that any organization contemplating a large scale IT change initiative should first turn eyes on their organization and their past history to see how well or poorly they have addressed the issues outlined above.
Is Big Data the new Big Thing?
Check out this Report on Big Data from McKinsey & Company published in June 2011.
Back in the day, when personal computers were becoming widely accepted and Microsoft Windows© was the new cool thing, SneakerNet was a common means of sharing data. Certainly the introduction and subsequent improvements of networking technology and the Internet have made data sharing a whole lot easier and quicker. But the concept of Big Data creates a whole new level of opportunity and potential for collecting and using data in ways heretofore unthinkable.
So what is Big Data? According to the report referenced above – “Big Data” refers to datasets whose size is beyond the ability of typical database software tools to capture, store, manage and analyze. The authors are cautious not to declare a specific size since lightening fast technology advances may quickly make their number wrong thought they do propose currently that datasets in the few terabytes to several petabytes (1000’s of terabytes). (hmm… I just had to add petabytes to my Word® 2007 dictionary). The concept of Big Data requires the collection of data from multiple sources (sensors, smartphones, GPS’s, social media postings, data collected by government agencies, etc.) and performing analysis of that data in ways that will make life better and bring more value to businesses, consumers, citizens, etc.
Some examples of Big Data types of applications include;
* Marketing initiatives like Amazon.com’s “you might also want …” admonition based on information available about your buying patterns and the buying patterns of those purchasing the same item
* Applications like RedLaser which lets a shopper scan a bar code of an in-store item with their smartphone and get immediate price and product comparisons
* Improved supply chain management through access to data across the supply chain helping manufacturers optimize planning and delivery of new products
* Mobile phone apps that allow merchants to track customers from the moment they enter the store to determine traffic patterns and flows through shelves and displays
* Capabilities like OnStar ® where sensors in the automobile send real time data to the service if the airbags deploy or to alert that a system is malfunctioning.
* Capabilities like ShopAlert that sends coupons or offers to smartphones of subscribers when they are in the vicinity of a store, restaurant or bar
The report actually contains a lot more examples across various platforms and sectors. They have specifically Health Care, Public Sector, Retail, Manufacturing and the ever growing business of using personal location data. Within each of these categories – opportunities for creating value as well as potential barriers to adoption are presented.
While the technology and the possibilities create lots of excitement – there are also some areas of concern – how much personal data is too much and how close do we want “Big Data” to look like “Big Brother”. Certainly there are lots of issues that need to be addressed at all different levels before Big Data goes wildly mainstream – but it seems to me that the possibilities for value and capability will, in many cases, be worth it.
How have you seen Big Data used? What possibilities can you see for Big Data applications? Leave a comment to this post to share your Big Data stories.
The Affordability Challenge and Cost Realism
In September of 2009 the United States Government Accountability Office (GAO) submitted a report [1] discussing the lack of robust Analysis of Alternatives for weapons systems. The report indicated that …
“Cost, schedule, and performance problems in the Department of Defense’s (DOD) weapon system programs are serious. One key cause is that DOD allows programs to begin without a sound match between requirements and the resources needed to achieve them. That is, program cost and schedule estimates are based on optimistic assumptions, and a lack of sufficient knowledge about technology, design, and manufacturing. Why do DOD weapons programs experience simultaneous cost growth and decline in program performance? The answer ultimately is found in four sources [2]:
1. Programs start with poor foundations for developing realistic cost estimates
2. Programs move forward with artificially low cost estimates
3. Excessive requirements change
4. Imbalance between wants, needs, and means
These four sources are outcomes of failing to meet the affordability challenge. What is the challenge? It is the ability of programs to balance requirements, cost, and budget. Programs which do not invest up front in affordability analysis will likely result in cost overruns.
This initial blog posting will be the first in a, probably disjointed, set of musing to raise the awareness of a need to think cost early and often during the development process. I hope you will find this interesting and useful enough to join in the conversation. And to that end stay tuned ....
[1] GAO Report, Defense Acquisitions: Many Analyses of Alternatives Have Not Provided a Robust Assessment of Weapon System Options, GAO-09-665 (Washington, D.C.: Sep 24, 2009
[2] GAO Report, Assessments of Selected Weapon Programs, GAO-09-326SP (Washington, D.C.: March 30 2009
INCOSE DESIGN FOR AFFORDABILITY INITIATIVE
PRICE Systems is integral in the INCOSE Design for Affordability Initiative as a vital member of the Working Group Internationally.
The INCOSE Affordability Working Group’s definition of Affordability is:
Affordability is the balance of system performance, cost and schedule constraints over the system life while satisfying mission needs in concert with strategic investment and organizational needs.
The INCOSE Affordability Working Group’s definition of SE Design for Affordability is:
Design for Affordability is the Systems Engineering practice of balancing system performance and risk with cost and schedule constraints over the system life satisfying system operational needs in concert with strategic investment and evolving stakeholder value.
To meet the Affordability Working Group goals we need to move from the conceptual to the concrete (i.e., how do we demonstrate that the affordability of a system has been improved; or define the trade space). To do this, we can decompose the definitions into their potential constituent parts. The definitions lead to considering three constituents for affordability:
Which represent the central concept of affordability as “Cost of Capability over time.”
a. Required Capability – what does the system contribute to the mission or the next higher System Context, or How does the system generate operational value? e.g., search, detection, rescue, transport
b. Required Capability Performance – How well must the system perform the required capability, e.g., defeat X% of the threats, detect Y% of the targets, or top speed of N kts. How do we measure?
c. Budget, Risk and Schedule – Resources, technical, financial & temporal available to provide the capabilities and needed performance (system value). How do we measure?
System Life Cycle or Affordability over time
It is important to note that there is a significant difference between the INCOSE approach and the Gate’s definition. That is, INCOSE is addressing the entire system life cycle while Gate’s considers “conducting a program”. This is a significant difference as the B-52 is a single system; however, there have been many programs over the life of B-52 system. Since INCOSE is considering the total life of the system, the traditional Development Engineering V must be expanded to account for the life of the system beyond Initial Operational Capability.The Affordability Working Group recognizes that IOC is:
· The initial release of both the Primary and Enabling system; and
· The initial release of a successful system continues to evolve to meet environmental changes.
Further, monitoring and feedback by PRICE Systems as a member of the INCOSE Working Group are integral parts of the evolutionary process.
Its all about the triangle
Check out this article from CIO magazine about managing your project budget. The author, Jason Westland, suggests four things necessary to maintain control of your project budget. While these are not earth shattering suggestions, sometimes project managers in the throes of a project can lose sight of their importance. The strategies are:
* Continually forecast the budget
* Regularly forecast resource usage
* Keep the team informed
* Manage scope meticulously
Or to put it another way – respect and revisit the Project Management Triangle. (To learn more about the Project Management Triangle go to this link and look for the “Respect the Triangle: Scope, Time and Cost” paper) Successful projects require constant vigilance around scope, people, dollars and the calendar. The Triangle is an excellent tool for project leaders to use as a visual tool to facilitate negotiations with customers when things change in a project (and things will change!). You can also check out my webinar on this topic.
How do you keep your projects in check?
Reused Code - what's it really buying you?
There is a ton of code out there and we’re constantly adding more. Gartner reported in 2009 that there were more than 310 billion lines of code in use worldwide. MS Word has grown from 27,000 lines of code in the first version to about 2 million in 2010. The Windows Operating System grew from 3 million lines of code in 1992 to 20 Million in 1998. You get the point – there’s lots of code out there doing lots of the same things that we may want our software to do.
One of the challenges software project leaders have in estimation and planning is successfully quantifying the functionality they can reuse and understanding and communicating the effort and cost associated with that reuse. In projects where significant reuse is anticipated, reuse is really going to shape the project. Reuse comes in many forms. A firm grasp of the types of reuse and the potential pitfalls of such reuse facilities a thorough analysis of the impacts that reuse has on the project. It is ill advised to expect to get a one to one benefit for reuse. It is even more problematic to plan on reuse as a quick fix to schedule pressure.
Some of the things you want to consider:
* Reusing legacy code can be a great productivity booster if the code is stable, well written and some of the original developers are on hand. On the other hand, if you’re working with legacy code that has become spaghetti code which is only supported by a mildly deranged programmer in the corner cube – you might be better off starting from scratch
* The auto translation of existing code to newer technologies can also boost project productivity but one cannot expect the process to be transparent or without hiccups. It is important to understand the nature of the translation tool, the amount of preparation required to use it and the expected amount of human intervention to make the translation complete
* The use of Commercial Off the Shelf Software (COTS) can significantly impact the schedule for a software project but there needs to be a thorough evaluation of the capabilities of the COTS against the requirements of the project. There also needs to be acknowledgement with the consumer of the software system that using COTS software limits the amount of customization possible resulting in the risk that the finished product is not exactly what they expected.
Also it is often more complicated to integrate reused (not developed here) solutions since there is a steeper learning curve during the integration phase. Code reuse can be a great way to achieve increased productivity but it is important not to assess this improvement over optimistically but rather through a careful appraisal of what the reuse activity entails.
Have a reuse story (success of horror) you want to share? Post it as a comment to this blog.
Software Adaptation: Design and Code…
While teaching an introductory TruePlanning for Software Estimating course this week at an Army location, I was asked to follow up with a clarification on “percent adapted” calculation.
The official PRICE training materials definitions are:
• Percent of Design Adapted - the percentage of the existing (adapted code) design that must change to enable the adapted code to function and meet the software project requirements;
• Percent of Code Adapted - the percentage of the adapted code that must change to enable the adapted code to function and meet the software project requirements.
The former, Design, was received by the class as straightforward. Again, this adaptation includes architectural design changes, detailed design changes, and any necessary reverse engineering. Entered as a percentage of the Adapted Code size, this metric essentially captures the effort to modify/ enhance the underlying concepts for data and transaction algorithms.
As my class later reviewed a fellow-student’s modeling of a “real-world” example, we found that our jury was hung on the verdict of what’s really meant by adapting the latter, Code. Again, the instruction is to also enter this metric as a percentage of the pre-determined adapted code size.
But the legitimate question was: “Why isn’t it always 100%?” If we labored to already identify new code, deleted code and reused code… then isn’t any remaining modified code all adapted?
The answer, per our resident software Yoda, is consider the code in terms of modules, not just source lines. To answer what percentage of a target must change to meet new functional and project requirements, evaluate what sub-modules/ CSCIs must change and what are reused WITHIN each module. If an entire module is not modified, then it’s count is reflected in the percentage of reuse. But if module(s) have some components that are modified and some that are not, that information is captured in this latter percentage of code adaptation.
If you’ve followed my blogs, you know what’s coming next: another car example!
Say I have an automobile to rebuild. The body, wheels & tires are fine. Even the suspension requires no modification. (No car guy would ever accept not spending time & money on handling too, but suspend your disbelief for now).
Only the motor needs “adaptation”… but also, only in certain areas. The ignition, fuel injection, water pump, A/C & exhaust all require little to no adaptation. But the cylinder heads, valves, camshafts, rods, pistons & crank all must be worked on. My percentage of motor component “code” that actually needs modification is clearly less than 100%.
Of course, the changes made above are a function of what requirements we're trying to acheive, e.g., horsepower, torque, RPM, etc. Likewise, this analogy holds true in typical software modification. What we are given, as previous deliverables, is more than just total lines of code. It’s functioning modules/ systems that may, or may not, require some re-work under the hood.
Agree?
Additional insight into how TruePlanning defines and utilzes these inputs is detailed in the True Software White Paper.
How To Develop Data-Driven Cost Estimating Relationships in TruePlanning - 2011 ISPA Workshop Takeaways
At the 2011 ISPA Conference, I conducted a ½ day workshop How To Develop Data-Driven Cost Estimating Relationships in TruePlanning. The attendees at the workshop learned how to import their own data into TruePlanning and develop custom Cost Estimating Relationships. We covered three case studies:
· In the UCAS case study we demonstrated how we can build CERs at a higher level to provide a test of reasonableness to the CAPE.
· In the SRDR case study we demonstrated how we develop a CER to estimate SLOC based on historical data and use the results to within the new code parameter of the UCAS Reconnaissance software estimate.
· In the Aircraft case study we demonstrated how we can build higher level trend lines across various aircraft system platforms and classes of aircraft to compare as “ball-park” estimates.
In each case, the attendees learned how to work with real data and develop CERs traceable back to the original data points that generated them. This was a “hands-on” workshop and everyone had a chance at generating a number of CERs. Overall, we had a very successful session and provided a new and exciting capability to our TruePlanning framework.
I also wanted to share with you a few takeaways from this workshop.
- By setting up the trend lines equations in the Equation Cost Object, estimators can create libraries of data-driven CERs for future projects
- All data used to develop the equation can be attached to the CER to identify datapoints and methodology used.
- The power of this approach is that the CERs are integrated into the TruePlanning framework and can be used with other cost objects (H/W, SW, IT, etc)
- Libraries of CERs can be shared among projects.
- CERs are “white box” and auditable both in terms of the trend line equation and underlying data points.
- CERs represent an “estimating database” in addition to TruePlanning Cost Objects.
If you are interested in obtaining a copy of the workshop presentation including the data files and results, please e-mail me at Zachary.Jasnoff@pricesystems.com .
If all you have is a hammer......
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.
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?
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)
TruePlanning Installation Tips
The following is a collection of some of the more common installation issues. If you have additional questions, concerns, or issues with any upgrade or installation, please call our Technical Support line anytime at: 1-800-43-PRICE.
Default Password Override
TP’s default password may not be strong enough based on your security policy. Please review your specific requirements for passwords and follow the directions below to change the default: When you get to the screen, uncheck the “Use Default Password” and enter a valid password based upon your specific security settings. Then click next and continue the installation process.
Existing TruePlanning Installations
If TruePlanning 2008 SR2 is currently installed, it is recommended that users export their projects, then uninstall TruePlanning, making sure to backup their database when prompted to do so during the uninstall. The uninstall of TruePlanning can be initiated from the Control Panel. Also, please select the option to uninstall MSDE when prompted during the uninstall. Once this is complete, install the new version of TruePlanning, making sure to manually import the projects which were exported from the older release once the installation is complete. Upgrades from TruePlanning 2009 and above do not require TruePlanning to be uninstalled as the TruePlanning 2010 installation will automatically upgrade the projects in the database; however, it is recommended that users still export their projects manually and before the upgrade to be safe.
Administrative Rights
The user installing TruePlanning requires administrator rights on the machine. On Vista it is advisable to launch the installation of TruePlanning by navigating the “Setup.exe” file on the TruePlanning CD and initiating the installation using the “Run as Administrator” option. This option is available from the right click menu in Windows Explorer (My Computer).
XmlLite
XmlLite is a resource provided by Windows to perform certain XML parsing abilities. It is a prerequisite for installing TruePlanning 2010. If TruePlanning 2010 is installed on a computer that does not have XmlLite, and error will occur when TruePlanning is launched. The installation will not produce any errors or warnings. This error is Windows XP specific. Vista and Windows 7 contain the XmlLite natively. Normally XmlLite is installed when Internet Explorer 7.0 (or newer) or Windows XP SP3 are installed. Installing either of these resources should resolve the error. Some customers are not able to install IE 7.0 or Windows XP SP3 and should therefore install XmlLite directly. It is available from Microsoft at: http://support.microsoft.com/kb/915865. It should be noted that TruePlanning 2010 has features that rely on Internet Explorer 7.0 or higher. Some of the Calculators contained in TruePlanning will not function properly without Internet Explorer 7.0 or higher. Therefore, if possible, upgrading Internet Explorer is the preferred option.
MSXML6 SP2
There is a known issue installing TruePlanning 2010 on computers that have Windows XP SP3 and MSXML6.0 SP2 installed. The issue occurs because of an incompatibility between SQL Server 2005 Express and MSXML6.0 SP2. This issue is described by the following Microsoft Knowledge Base article: http://support.microsoft.com/kb/968749. MSXML6.0 SP2 is installed by the Windows XP Service Pack 3. This is not an issue on Vista. The above MS KB article provides a fix for the issue. It is advisable to execute the fix before attempting to install TruePlanning 2010. It is possible to identify computers that have had MSXML6.0 SP2 installed by examining the “Add/Remove Programs” feature under the Control Panel. If the issue in encountered during the installation of TruePlanning it can be identified by the failure of SQL Server to install. The failure will be identified as pertaining to MSXML6. This can be ascertained after the installation has been exited, by examining the log of the SQL Server installation. The summary of the SQL Server 2005 Express installation can be found at the location defined by the following support page: http://msdn.microsoft.com/en-us/library/ms143702%28SQL.90%29.aspx. If the error has been encountered please contact PRICE System’s Support for help resolving the issue.
Cloud Nine - Are We There Yet?
In 1961 at the MIT Centennial, John McCarthy opined “if computers of the kind I have advocated become the computers of the future, then computing may someday be organized as a public utility just as the telephone system is a public utility…. the computer utility could become the basis of a new and important industry” [1]. In 2006, Amazon Web Services was launched providing computing on a utility basis. Since that time the notion of cloud computing has been emerging and evolving.
Cloud computing is a paradigm that makes the notion of utility computing a reality. Instead of Information Technology (IT) organizations investing in all of the hardware, software and infrastructure necessary to meet their business needs, cloud computing makes access to hardware, software and infrastructure available through the internet, generally utilizing a pay for use model. Basically cloud computing allows an organization to adopt a different economic model for meeting IT needs by reducing capital investments and increasing operational investments, a model which is likely to offer cost savings to many organizations.
There is still a great deal of hype around cloud computing, as many vendors have their marketing engines further into the clouds then their technology supports. Despite this Gartner predicts that by 2012 one in five businesses will not own its own IT assets. [2]. In late 2010 the Office of Management and Budget (OMB) under direction from the White House told federal agencies that starting in 2012 they are expected to consider cloud first “whenever a secure, reliable, cost-effective cloud option exists.” [3]
There are certainly many reasons why an organization would consider moving at least some of their IT functions into the cloud. In addition to potential cost savings the cloud offers the possibility of increased availability, easier collaboration, lower capital costs, scalability and virtualization. There are of course concerns as well. The technology is still relatively immature with no definitive set of standards for interface or compliance with regulations. Businesses lose hands on control of their IT resources with little recourse if their IT vendor shuts down or goes out of business. Additionally, there are security and data privacy concerns. There is also the fact that not all ventures into the cloud will be cost effective for the business.
This paper introduces the concept of cloud computing and discusses the potential benefits for a business as well as those things which could be barriers to adoption. It examines the types of applications where cloud computing is an efficient cost effective solution and the types of applications where its use could be problematic or costly. Several examples of successful cloud implementations are presented and discussed.
For a white paper describing this reearch on cloud computing email info@pricesystems.com with the code word CLOUD in the subject line. To share your cloud computing experiences comment on this post
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!