Discuss: Implementation planning¶
Discuss the effect of implementation planning and reason the role of affinity analysis on reengineering effort.
- Implementation planning is one of the steps of reengineering that follows project initiation, analysis and design.
- The implementation plan incudes defining the new jobs that will be crated on the light of analysis and design that had been done on the project, then putting a clear definition for the new re-engineered organization and its goals, objectives and systems.
- The implementation plan also includes plans for information technology, training, and the actual implementation of the new system(s).
- affinity matrix: “is a matrix that clusters (aggregate) business process by their closeness to their functions on data entities they share” (Conger, 2008).
- affinity analysis is an analysis that is been performed on data gathered in previous steps; this analysis maps the process hierarchy diagram to ERD (entity relationship diagram) to identify the data entities that are shared between processes.
- the affinity analysis generates the CRUD matrix (affinity matrix) which clearly displays each process and all actions (subset of CRUD) that this process can perform on each data entity.
What results are based on affinity analysis?
- per the definition of affinity analysis, the results are the affinity matrix (CRUD matrix) that shows a process on each row and a data entity on each column, and the intersection of each process and data entity shows the actions that this process can perform on this data entity.
- analyzing this matrix will detect any overlapping or interdependent responsibilities between processes, and will help in identifying the processes that can be merged or eliminated.
Also discuss, why cost and schedule estimates are done before detailed requirements/design analysis?
- cost and schedule estimates are done before detailed requirements/design analysis to get a general idea of the project cost and schedule, and to get a general idea of the project feasibility.
- it can allow for the staffing (assembling the team) and the budgeting (allocating the budget) to be done in parallel with the requirements/design analysis, since these tasks takes time usually, and you don’t want to wait till the requirements/design analysis is done to start the staffing and budgeting.
- it allows for immediate notification of the project stakeholders if the project is not feasible, and to start looking for alternatives. If the organization can not afford the project you want to know that as soon as possible, rather than doing the requirements/design analysis and then finding out that the project is not feasible.
When, do you think, can these be estimates be postponed to a later stage of software development?
- If the project manager has already done such a projects with similar organization, based on the data he had from previous projects, he/she can estimate the cost and schedule of the current project to a great accuracy.
- Also, if the contingency resources allows for maneuvers, then you can get the detailed requirements/design analysis, then allocated surprises by using the contingency resources, and then start the staffing and budgeting.
- If, requirements are very very clear, and you’re sure that those requirements won’t change, then you can postpone the cost and schedule estimates to a later stage of software development.
References:
- Conger, S. (2008). The New Software Engineering. The Global Text Project.