with Brad Clark, Wolf Goethert, and David Zubrow Brad Clark is a visiting scientist at the Software Engineering Institute at Carnegie Mellon University and a technical consultant with Software Metrics, Inc. Wolf Goethert is a Senior Member of the Technical Staff at the Software Engineering Institute at Carnegie Mellon University. David Zubrow is a Senior Member of the Technical Staff at the Software Engineering Institute at Carnegie Mellon University.
In the previous chapter, the RSS stakeholders agreed on a consensus code migration plan. In this first-fit approach, we estimate the cost of this consensus plan to determine whether it is feasible within project constraints. Management makes the final decision about feasibility. Alternatively, in a best-fit approach, we cost several approaches and use cost and schedule data as evaluation criteria in selecting among them. The RMM approach terminates when a feasible modernization plan has been approved. A feasible plan is one that accounts for the constraints imposed by the legacy system, target technologies, and business requirements. If the modernization strategy is determined to be infeasible, it is necessary to identify the cause. For example, the target architecture may be too ambitious, and something more practical must be attempted. Or, the plan may simply not be implementable as defined and may need to be adjusted to account for staff and schedule constraints. Although it is implicit in the approach that a modernization effort may be terminated at any time if it is determined to be infeasible, an explicit determination of feasibility takes place at the completion of the cost estimate. At this point, it should be apparent whether the defined approach is feasible, infeasible, or salvageable ”feasible once adjusted. After this planning activity is completed, the modernization will be fully staffed with software designers, programmers, quality engineers , and other professionals. Terminating the project at this point has a broader impact on cost, schedule, and the morale of those involved. At the completion of this final step in the approach, you should have an understanding and appreciation of both the legacy system and the target technologies, a defined target architecture, a defined modernization strategy, a risk mitigation plan, and a detailed cost estimate and schedule. These elements, along with more traditional software development plans for configuration management, staffing, and so forth, should be sufficient to successfully manage your modernization effort. |