April 19, 2010

Where do you devote your efforts on MMIS systems?

Medicaid Management Information Systems (MMIS) are some of (if not the) largest and most complex systems states have to deal with. We’ve been around long enough to know they need to be replaced every 10 to 15 years and are costly to develop. What most states don’t know is when developing systems of this size the bulk of the work goes into removing defects, problems that keep the system from functioning as it should. The graph below is based on information from Capers Jones (from his book “Applied Software Measurement”) for MMIS sized systems.

The graph shows most of the effort in large system development goes into removing defects. Defects can occur in the feasibility, requirements, analysis, design, and coding phases of a project. The sooner a defect is detected in the development life cycle the less expensive it is to correct. So, defects detected in requirements are relatively inexpensive to correct whereas a defect in code is significantly more expensive to correct. Once a system is in operation defects are very expensive to correct. Think about it: not only do you have to fix the code but potentially you fix documentation, retrain users, etc.

So this all begs the question – where do you put your effort and resources during the development of a large system like an MMIS? Focus on quality early (rather than waiting for the testing phase of a project) saves money.  A modest investment in quality assurance or independent validation and verification up front results in real dollar savings down the road.


April 1, 2010

Odds are your next big project will fail or be late

Large public sector projects are almost always late, we’ve already asked if this matters, today we’re going to show you just how many big projects fail or are late. We ran across some interesting data from Capers Jones (from “Estimating Software Costs” – 1998) that we turned into this graph:

The graph points out some interesting things:

  • 72% of large projects (MMIS and TANF systems fall into this category) are late or fail (about half FAIL)
  • Only 28% of these systems are delivered on time
  • Virtually none are delivered ahead of schedule

Based on these statistics there is a high probability that your next project will at least be late. In the coming weeks we’ll analyze some of the reasons why.


March 17, 2010

Purpose and Roles of A Project Steering Committee – Part 2

Roles and Responsibilities of a Steering Committee

If you read part 1 of this series you realize a steering committee really does have a legitimate purpose (if you didn’t read it stop now and go read it).  So the purpose is really important but what are you actually supposed to do as a steering committee? A Steering Committee typically performs the following roles and fulfills these responsibilities:

  • Develops an operating charter formalizing these roles and responsibilities
  • Develop and maintains a set of project “Vision and Goals”.
  • Manages scope. The steering committee is directly responsible for determining what features, end products, or scope the project will include.  The project manager is responsible for informing the steering committee what the requested scope will cost and how long it will take to deliver and then managing project resources to deliver that scope within time and budget constraints.
  • Manages costs.  Again the steering committee is directly responsible for reviewing and approving all costs associated with the project.  The project manager is responsible for providing accurate cost information to the steering committee.
  • Arranges funding.  The steering committee is directly responsible for arranging secure permanent funding for the development and operation of the project.
  • Manages project operational and political issues and risks.  The steering committee is responsible for managing and resolving major politics and operational issues brought to them by the project manager.
  • Champions business process improvement.  During the project, invariably ways to improve portions of business are found.  It is the steering committees responsibility to act to determine the feasibility of these improvements and, as justified, make them a reality.
  • Coordinates with related projects and programs.  Projects do not exist in a vacuum.  Most will touch many other projects or programs in ways that may or may not be envisioned at the outset.  The steering committee is responsible for coordinating with these efforts.
  • Develops policy.  The steering committee reviews and officially creates all policy related to the project.  Typically, a sub-committee at the request of the steering committee does policy research.
  • Obtains support/agreement from stakeholders.  The steering committee is responsible for obtaining the support and cooperation of all stakeholders by both formal (e.g. intergovernmental agreement) and informal means.
  • Resolves obstacles.  Both the steering committee and project manager are responsible for resolving obstacles as they arise.
  • Communicates to the stakeholders.  The steering committee takes responsibility for communicating status and needs to all stakeholder agencies.

That’s it.   We hope you found this series of value and use the tools we outlined here as a starting point for your next project.

Part 1 – Purpose of a Steering Committee

March 9, 2010

Purpose and Roles of A Project Steering Committee – Part 1

Purpose of A Steering Committee

Oh no! You’ve been asked to serve on another project steering committee.  You’re envisioning hours of wasted time in pointless meetings, hundreds of emails and documents to read, and real work piling up on your desk.  But it doesn’t have to be this way.  An good steering committee for public sector projects is productive and fun.  The first step in forming a good steering committee is to have a clear purpose .  Regardless of the type of project, a “good” steering committee:

  • Sets the tone for cooperation.  Often project participants do not freely cooperate.  In some cases agencies compete for the same funding resources.  It is the purpose of the steering committee to rise above this competition and make sure agencies cooperate in completing the shared vision and goals.
  • Gives “authority” to matrix organizations.  In multi agency projects (and even projects within an agency) there are rarely direct lines of authority between cooperating entities or agencies.  It is the role of  the steering committee to ensure the means and mechanisms are in place to get things done.
  • Represents stakeholders that do not directly sit on the steering committee.  A steering committee can only have a limited number of members.  It is the job of the steering committee to represent those that do not have a direct representative in the governance structure.
  • Ensures equality in decision-making.  The steering committee must make sure the project meets the needs of as many participants as possible.  This means it must fairly weigh all requests and act impartially to do the most good with the resources it has available.
  • Acts as the ultimate decision maker in handling political, legal, organizational, technical, cost, management, cultural and personnel issues.  There has to be a forum for making final, and sometimes difficult, decisions.  This is the main purpose of the steering committee.

Now you know the purpose a steering committee serves (why it exists).  We’ll finish this topic in a second post next week discussing the roles and responsibilities of a steering committee does (what it does).

March 2, 2010

Why Do Public Sector Software Development Projects Fail – Part 3?

Part 3 – Real Causes

In this third part of our series on why public sector IT projects fail we’re going to discuss the real reasons we believe public sector IT projects fail.

Information technology projects encounter serious problems not as a result of deficiencies in technology, support, methodology or technology staff (note: these problems do occur but they are typically quickly identified and remedied by competent project teams). Looking at IT projects that ran into serious problems (failure, long delays, significant cost overruns), they almost always include most or all of the following:

Users drive development

Ask a user what he or she wants in a system and the response will invariably be some version of: “Everything.”  In public sector IT project, users don’t pay for the system.  They don’t see that every feature and function they request adds cost, time (reflected in the schedule), and complexity to the system. Because they have no way to associate scope (features and functionality) with cost, they ask for everything.  Users when asked will tend to include everything they’ve ever wanted.

Initial and continuing estimates of cost and size are inaccurate

Systems often start with inaccurate estimates of size, which translate into inaccurate budget, return on investment (ROI), and schedule estimates. Once reality strikes, in the form of increased estimates of size and work, budgets and schedules have to be revised, and the project is “late and over budget, again!”  Return on investment goes out the window (“we’re too far along to stop now!”).  However, even revisions to initial estimates  are often skewed by expediency (“senior management won’t accept a 6 month delay, we’ll do it in 3!”) and place the project right back in the same boat it started in: with no real idea of cost, ROI, or timelines.

Measurements used provide the illusion of control

An IT project generates an enormous amounts of data from staff time cards, hours per task, hours of work completed, percent of work completed and so on.  This data is transformed to project metrics that provide a tremendous “feel good” factor (“we are 80% complete on the task”).  However it is of little value if you can’t use it to predict what’s coming for the project (“the remaining 20% will take as much time to complete as the first 80% did”).  Most measurements are worse than no measurement because they tend to placate individuals who don’t know better (“Wow – we’re 80% done – that’s great!”).

Reporting focuses on completed work, not remaining work

Related to the above, projects often focus on what’s been done, and find amazingly accurate ways to measure completed work. What is done is in the past doesn’t give you a very good idea of what the future looks like. Data about how far you’ve come is a bit like driving a car by looking in the rear-view mirror; “We haven’t hit anything so far, so we’re okay.”

Scope is not really managed

The scope of an IT project will change. The business of the organization can change, parameters of the project might change (e.g. funding), and on nearly every systems project the further we get into it the more we learn about the problem we are trying to solve. Early estimates may have over or under-stated (typically under-stated) the real effort required to design, develop, test and implement the system.  However, typically only the largest scope changes are acknowledged and accounted for on the schedule.  The little things add up.

Historic information is used to place blame and avoid responsibility

Historic information unfortunately serves one predominant purpose on too many projects: providing the facts needed to place blame when things go wrong. Failing projects abound with sponsors, staff, vendors, managers and users pointing the finger at each other and producing reams of reports showing that it’s not their fault. The project took twice as long and cost twice as much as planned, doesn’t fully do what we need, and the users hate it. But it wasn’t our fault!

The decision making culture is inappropriate

In anything but the smallest project (one or two staff members) decision-making by micro-management or consensus won’t work. Project managers can’t make all the decisions for all the staff; he or she hasn’t the time, skills, or the needed information. At the same time, consensus management won’t work, either; soon everyone spends all of his or her time in meetings trying to reach consensus. Decisions have to be made by the people with the necessary information, and the responsibility to make them.

Staff work hard, but not necessarily on the right things

IT projects don’t have staff members sitting around with their feet on their desks, working crossword puzzles. Generally, staff members work hard on their projects. However, we regularly find staff are working hard on things that don’t matter much.  Staff have been focused on things that don’t keep the project moving forward.  This is not a problem with the staff but rather with project management.

Next we’ll examine some of the “symptoms” that show up on projects that have these problems.

This is the third in a multi-part series of posts analyzing the causes of failures in public sector IT projects and proposing some pragmatic solutions

Part 1 – Overview

Part 2 – Apparent Causes

February 22, 2010

New State Health Information Exchange (HIE) Toolkit Released

The State Health Information Exchange Leadership Forum, lead by the AHIMA Foundation with sponsorship from the Office of the National Coordinator for Health IT, has developed a comprehensive State Health Information Exchange (SHIE) Toolkit to support State HIE grantees during the planning and implementation of their statewide interoperability projects.  The Toolkit is regularly updated to include guidance, state examples, and lessons learned in the areas of Planning, Governance, Technical Infrastructure, Finance, Nationwide Health Information Network, and Grants Management.  The Toolkit will also be updated to provide sample strategic and operational plans as plans become available.

To access the SHIE Toolkit, visit: http://statehieresources.org/

If you would like some help learning how to use the toolkit please contact us at info@pubknow.com.

February 21, 2010

Can Independent Verification and Validation (IV&V) be too rigorous?

Each proposal you receive for Independent Verification and Validation (IV&V) of a software project will state the vendor’s approach is “rigorous”.  Vendors fight to explain how their methodology is more “rigorous” than a competitor.  This is what you want right?  Isn’t rigor a good thing?  Maybe, but not when rigor:

Takes over for experience. Vendors will try and bury you in details about how rigorous their process is so you’ll hopefully overlook the fact they are staffing your project with individuals that have barely used software let alone written it, performed quality assurance on it, or managed it’s development.   The truth is effective and efficient IV&V is art as much as science.  You need qualified consultants as much as rigorous process.  Make sure you examine who will staff your project very closely, asked to see the results of each individual’s previous IV&V efforts.

Is used as marketing hype.  Vendors will try and convince you they are “scientists” or “engineers” performing science or engineering on your projects/software. After all, V&V was pioneered by NASA and, for software IV&V, the base standard is defined by the IEEE (Rocket Scientists and Engineers) so who better to perform it?  IV&V is, conceptually, pretty simple:

  • Identify the products and processes to undergo verification and validation (preferably before or in the early stages of development),
  • Determine the criteria with which each of those products and processes can be evaluated (starting with standards where available e.g. the IEEE-1012-2004 standard for software verification and validation),
  • Assess the products/processes while in production and upon completion to verify they meet the predefined criteria and note where they don’t,
  • Re-assess products/processes when deficiencies have been addressed.

IV&V is hard work that takes expertise (there are many nuances in developing criteria and evaluating products etc), independence, and yes a degree of rigor.  But it’s not “Rocket Science”.  We’ve seen a significant amount of rigor added to an IV&V process that adds little value to the client and seems to be there to convince the client that IV&V is engineering and they are hiring the best “engineer”.  There is no professional certification of IV&V “engineers” like there is for electrical or civil engineers.  Don’t buy into the hype that this line of reasoning purports.  Understand you need competent, experienced professionals but this is not a mystical art.

Is used as an excuse for lack of social and political savvy of vendor staff. Beyond competence in performing IV&V your consultants need communications skills and an understanding of the political landscape public sector projects face.  We’ve actually witnessed an IV&V vendor reporting to a state legislature stating strictly facts (“the project is 2.3 months behind schedule” and “523 out of 1232 test cases failed”) without explaining context (“critical features were added” and “we’re only a quarter of the way through testing”).  The poor agency receiving the “benefit” of IV&V spent the next month trying to keep funding for what was a thoroughly successful project.  When called on the carpet about this the IV&V vendor explained that their rigorous methodology required they describe only the facts not the context of those facts.  Just what you need, Joe Friday (“Just the facts ma’am”).

Creates unnecessary bureaucracy that just wastes your money. Sign-offs of intermediate IV&V products, large review meetings, and repeated reviews of materials provide you with little value.  Often this “rigor” is applied not for your benefit but for the consultants, to ensure their rear is covered (“but you approved the interim deliverable”) or to enhance consultant cash flow (“you approved the first interim IV&V checklist so we can bill you”).  This unnecessary bureaucracy simply costs you time and money.

IV&V helps your software projects succeed and should be rigorous – meaning thorough, focused, and disciplined.  However, be aware “rigor” can be used for the wrong reasons.  When working with your IV&V consultant or the next time you’re reviewing an IV&V proposal keep in mind excess “rigor” provides little if any value; is used to cover a vendor’s weaknesses or benefits the vendor not you; and unnecessarily raises the costs of IV&V services.