Controlling Software Projects in Process
Controlling Software Projects in Process
There’s a project. There’s a goal. And there are three basic concerns that you have:
- That the project will take longer than initially planned.
- That the project will cost more than initially budgeted.
- That the project won’t produce the desired results. In other words, it will fail.
Nevertheless you forge ahead. To reach your goals, you have to establish a plan. With the plan in place you start working toward your objective.
But plans rarely turn work out just exactly as projected. Life has a way of throwing in little, or big, surprises that have a tendency to divert you from the original plan and perhaps take you down an entirely new path.
Because most people are optimists, there’s a tendency to exaggerate the benefits of a project/process and to underestimate the costs.
Your option then is to try to make corrections on that particular path or pick an alternate route that is the best option to help you reach your goal and objectives as quickly and efficiently as possible. That could require some recalculation on your part in terms of time, effort, and yes, cost, in order to determine how you will eventually reach your goal.
As you develop your plan, you need to factor in what the options might be if, or rather, when the obstacles arise. That way, when the inevitable challenges come, you already have options in place.
Dan Galorath provides a concise summary of viable metrics in his article: The 6 Characteristics of Effective Metrics.
Planning and project process is much the same when dealing with software and systems. While the elements of the project or plan may vary, the concept of controlling the process is virtually the same.
An honest look forward brings an understanding that the goals will not be met based on the original objectives.
What does it mean to control the process?
Controlling the process means that the project manager or developer will need to make adjustments along the way to either control or correct the project activities. Doing so will bring the project back into focus and put it back on track to meet the goals.
In simple terms, the process goes like this.
You start with a project plan.
As you progress with the plan you will need to assess the project and the goals at regular intervals. Ask yourself if you are moving towards the stated goal. If you find that your assessment shows that you are moving away from the stated goal, then logically the probability that you are not going to meet the goal increases.
For a project to be successful there needs to be not only a plan to be implemented, but there needs to be leadership and control measures to ensure the best project results.
Here’s the basic outline for software management for a new project or a project you want to maintain.
- The first thing you need to do with your plan is to establish achievable goals. Those goals should include functionality, effort and cost and schedule.
- Second, you need to break down the work into manageable units of effort. Establish what will be your achievable deliverables, how much effort this will take, and your schedule.
- You need to peer review. Don’t try to do it alone, get a second or third set of eyes. At the same time the project needs to be thoroughly tested.
- Measure the effort, the progress and the input from others. You need to be committed to the project as well as accountable to the outcomes. Management resources need to be allocated to address problems or necessary adjustments to meet the stated goals.
- Finally, you need to make a note of your progress, or lack thereof, and be able to show or demonstrate your findings.
So begin by asking yourself, “What are the appropriate metrics.” Determine what you want to know. What you want to learn. Each of these elements will provide information or help you to ask the right questions to determine the course of the project.
Gathering this information gives you the performance metrics you can use to determine a corrective course of action. Metrics is a method used to measure something or the results gathered from this measuring.
When you take a corrective action, you are then controlling the process. Typically that will involve more than one action.
It’s a basic life concept, applied to a more difficult subject of software development, but it boils down to this: When a plan doesn’t work, you change the plan.
There is a tendency to overestimate. The anticipated results of a project because of the desire to be credible. It’s better to have a lower estimate and be prepared for the project to exceed to goals than to fail because the estimate was too high. This can be managed by using the “control theory.”
The benefit then of using the control theory will be saving money and time by completing the project on the desired schedule as well as helping the project to function better within that schedule. Getting a project to work is not just a way to work harder; it’s often working smarter by making the necessary adjustments. Using this method that is planned out helps add credibility to the project and helps in the achieving of the goals.
Read more about Dan Galorath’s Software Size Estimation: The 10 Step Software Estimation Process For Successful Projects.
So, what’s an example of using the control method?
One of the most common examples of the control method is the cruise control on your automobile. In this case the measured variable is the speed of the car. The driver sets the cruise control to the desired speed. The controller in the automobile monitors the speed and makes comparisons to the set point. As things change such as grade, drag or wind speed, the controller compensates with an adjustment to the fuel valve. The controller, in this case the cruise control system, makes an assessment according to the perceived error and adjusts accordingly.
The other aspect of managing a project is cost and support. Whether you’re spending your company’s money or grant money keeping costs under control is important. Spend where you obtain the most value – savings to company or additional revenue due to the software/project.
Galorath recommends using the parametric model as a model to help determine the return on investment (ROI). Parametric modeling determines a range of variations and how those variations affect the process. Using this model will help select the best alternative action plan. But even as the alternative plan is put in place the results should continue to be monitored. Reality is that, even as adjustments are made, external circumstances will continue to influence the project.
Dr.Denton Tarbet, Senior Consultant with Galorath Incorporated helps companies monitor their projects and use a parametric model to evaluate performance against the project plan. The model is used to evaluate alternatives to apply corrective actions when the process in place has been impacted by unplanned events.
Dr. Tarbet says, “For any project there is a required objective, such as the development of a new software capability or system. A project plan is developed to execute the project and meet the objectives that accomplish the end goals. The project is initiated but in the real world external forces and unplanned events will happen which force the project to deviate from the plan. Since the project is deviating from the plan the result is that the project will not meet the initial objectives. Controlling the process means that we, the manager, must make corrective, or controlling actions with a goal of returning to a method to meet our objective.”
Galorath's SEER-SEM with Project Monitoring and Control (PMC) option provides a simple tool to overcome the schedule prediction shortcomings of traditional Earned Value Management (EVM) methods. Galorath believes that a valid and complete parametric estimate is critical to developing a valid project estimate that can be accomplished within the project parameters and goals with a certain degree of confidence.
The SEER user interface is intuitive and enables users to generate a new project by either using an existing template or by defining the individual elements of the project. The interface guides users through the process using annotations and pop-up windows to help the user define the scope and comlexity of the project. The SEER tool will develop sophisticated models based on input, history of other projects and more.
Sometimes a project developer may need assistance in defining the project terms. The SEER Knowledge Base provides default project definitions, values and calibrations basing those on other project histories of similar scope. This allows the user to begin to look at estimates and make adjustments as additional information becomes available.
The competitive bid process is a second issue that drives a project plan. Often with government or private projects there is a bidding process. The developer has to provide a price that is competitive and will allow the developer to actually "win" the business. Price is market driven and is not a function of cost.
The developer needs to find a way to give the lowest bid to win the process but do so in a way that will still allow the project to be adequately implemented.
The SEER Project Management application allows you to describe your project in a few easy steps with a process that is based on solid science and a history of similar projects. Using this tool will give you the most likely and most credible estimate for your project cost, for your effort and for the time you will need to complete the project. You will see that if you change project variables you will almost instantly recalculate the anticipated results. An added benefit is that it will help in determining the specific success and fail ratios of your project.
Dr. Tarbet writes, "The goal for project management should be to identify potential corrective actions that can be implemented by the project management and not as a function of asking the team to "work harder."
Indeed this comes back to the old adage "work smarter, not harder." With Galorath's more than 20 years of experience in providing project management applications, you can do just that.
Galorath offers a variety of professional services using a cadre of consultants with hundreds of years of combined experience in project estimation, process design, cost analysis, project management standards and best practices. Contact Galorath today or call at +1 310-414-3222 to learn more about how your business can benefit from SEER Project Management Tools.
Please download a PDF of this article.