This article contains some information I found online about the Microsoft Solutions Framework project template for MS Project.
Note This article describes a Project template. You can download this template by clicking the link in the See Also list in this article.
The Microsoft Solutions Framework (MSF) template is based on the Process Model for Application Development, a key component of the MSF. This flexible model has been used successfully in the software industry to improve project control, minimize risk, improve product quality, and increase development speed.
The process model is developed as part of Microsoft’s Principles of Application Development course. The template is intended to assist in applying the process model in practical situations; however it does not take the place of the course itself.
The process model combines a milestone (milestone: A reference point marking a major event in a project and used to monitor the project’s progress. Any task with zero duration is automatically displayed as a milestone; you can also mark any other task of any duration as a milestone.)-based planning model with an iterative creative process. The milestones represent review and synchronization points rather than freeze points; that is, they allow the team to adjust the scope of the project to reflect changing customer requirements or to respond to risks that materialize over the course of the project.
Because the development process is iterative, certain tasks (task: An activity that has a beginning and an end. Project plans are made up of tasks.) within the development and stabilization phases may be repeated several times, depending on the needs of the specific project. In these cases, the template elaborates only the first iteration (for example., task 125, Beta release 1). Subsequent iterations (for example, Beta release n) should be added or repeated as determined by the program manager or project team.
The MSF template includes the four phases outlined in the MSF process model: envisioning, planning, development, and stabilization. Each phase contains numerous subtasks (subtask: A task that is part of a summary task. The subtask information is consolidated into the summary task. You can designate subtasks by using the Project outlining feature.) and culminates in a milestone event; however, specific tasks within a phase may overlap the milestone and extend into the next phase.
Tasks are assigned typical durations (duration: The total span of active working time that is required to complete a task. This is generally the amount of working time from the start to finish of a task, as defined by the project and resource calendar.), dependencies, and resource allocations (allocation: The percentage of a resource’s capacity that is designated for a specific assignment.), which may be edited to suit the specific project. The overall project timeline depends on the number of cycles spent on iterative tasks. The template includes six resources (resources: The people, equipment, and material that are used to complete tasks in a project.), which are defined by the MSF application model: program management, product management, development, user education, logistics management, and testing.
The following sections present an overview of the four phases of the process model, a description of the resources that make up a typical team, and a summary of major tasks.
Phase 1: Envisioning (milestone 1: vision approved)
In the envisioning phase, you create a high-level view of the project’s goals and constraints (constraint: A restriction set on the start or finish date of a task. You can specify that a task must start on or finish no later than a particular date. Constraints can be flexible [not tied to a specific date] or inflexible [tied to a specific date].). This phase is an early planning process that sets the stage for the process that will take place during the formal planning phase of the project. Envisioning addresses one of the most fundamental needs for project success: unifying the team. The deliverables from the envisioning phase are a vision document, a risk-assessment document, and a project-structure document.
The envisioning phase culminates in the vision approved milestone. This milestone is the first point at which the project team and customer agree on the overall direction for the project, including what the product will and will not include.
Phase 2: Planning (milestone 2: project plan approved)
The planning phase provides an opportunity to establish priorities and set expectations. The deliverables are the functional specification, risk assessment, and project schedule.
The planning phase culminates in the Project plan approved milestone. This milestone is the point at which the project team, the customer, and key project stakeholders agree on the feature set and the design of the application. The Project plan approved milestone is essentially the contract with the customer to proceed with the project.
Phase 3: Developing (milestone 3: scope complete)
During development, the team strives to develop and implement all features, even if they are not stable. The development team joins with user education and testing to focus on building the product described in the functional specification, and works with testing to ensure reliability from one internal release to the next. The key deliverables include the frozen functional specification, source code and executables, test specification and test cases, and the master project plan and master project schedule.
The development phase culminates in the Scope Complete milestone. At this milestone, all features are complete, and the product is ready for external testing and stabilization. This milestone is the opportunity for customers and end users, operations and support personnel, and key project stakeholders to evaluate the product and identify any remaining issues they need to address before it ships.
Phase 4: Stabilizing (milestone 4: release)
By entering the stabilization phase, the team shifts its focus from scheduling to shipping. It includes beta testing as well as testing of release candidates. The focus of testing has shifted to usage testing as the number of bugs revealed by coverage testing continues to dwindle.
The stabilization phase culminates with the release of the product. The Release milestone occurs when the team has addressed all outstanding issues and shipped the product or placed it in service. At the Release milestone, responsibility for ongoing management and support of the product officially transfers from the project team to the operations and support organization.
- Product management The product manager acts as the customer advocate to the team. The product manager must understand customer requirements, create the business case, establish the shared vision between the team and the customer, and ensure that the solutions developed by the team solve the customer’s business problem. The product manager handles high-level communications, manages customer expectations, and drives feature identification and prioritization.
- Program management The program manager is responsible for delivering the final product on time through leadership and coordination. In addition to driving the overall process, program management manages resource allocation (allocation: The percentage of a resource’s capacity that is designated for a specific assignment.); manages the project schedule and reports the status (status report: A description of the status of a member’s project work and related work. Status reports are requested, filled out, and reviewed in Project Server and cannot be used to automatically update project information in Project.); manages the product scope and specification; and facilitates team communication and negotiation.
- Logistics management The logistics manager plays an important feedback role on the team by advising on manageability and supportability issues based on lessons from previous and current product deployments. The logistics manager supports the day-to-day operational needs of the team.
- Development Developers provide input into high-level designs, evaluate technologies, and help to validate potential solutions and mitigate risks. As builders, developers provide low-level product and feature design, estimate the effort needed to deliver on the design, and then build the product.
- Testing The role of testing is to accurately portray the status of the product at any time by clearly saying what is currently wrong and what is currently right with the product. Testing should have a good grasp of user needs and a clear understanding of how the product will meet those needs. On smaller projects, the test team may also be responsible for the build process.
- User education The goal of user education is to ensure that the product is both useful and usable. User education participates in design with the goal of minimizing the need for user support material and lowering the cost of such materials. If the product needs any support materials, user education designs, builds, and tests them. User education tests and tracks usability issues and ensures that the product design addresses these issues