Displaying topic: "General Interest"

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