Professional Documents
Culture Documents
Table of Contents List of Figures...........................................................................................................ii Preface....................................................................................................................iii Introduction ............................................................................................................. 1 Overview ................................................................................................................. 1 Phase 1: Envisioning............................................................................................... 3 Phase 2: Planning ................................................................................................... 4 Phase 3: Developing ............................................................................................... 6 Phase 4: Stabilizing................................................................................................. 6 Phase 5: Deployment .............................................................................................. 7 Glossary .................................................................................................................. 8 References.............................................................................................................. 9 APPENDIX A: History of Revisions ...................................................................... 10 APPENDIX B: Descriptions of MSF Deliverables ................................................. 12
List of Figures Figure 1: Waterfall Model ........................................................................................ 1 Figure 2: Spiral Model ............................................................................................. 2 Figure 3: MSF Process Model................................................................................. 2 Figure 4: MSF Process Model Phases and its Milestones ..................................... 2 Figure 5: MSF Phase 5 Deploying........................................................................ 6
ii
iii
The Application of the Microsoft Solutions Framework (MSF) Process Model to WILM Web Application Development
Introduction The purpose of this paper is to provide a basic, non-technical understanding of the Microsoft Solutions Framework (MSF) Process Model, and how it will be applied to Web Application Development for WILM. Overview The first version of MSF was introduced in 1994. It was developed by Microsoft, to organize the development process at Microsoft. It is a highly customizable, scalable, fully integrated set of software development processes, principles, and proven practices designed to deliver the type of guidance desired by the user when and where it is needed. MSF provides the best of two popular process models; Waterfall and Spiral, These models provide two different approaches to the project life cycle.
Waterfall model: This model uses milestones as transition and assessment points. When using the waterfall model, each set of tasks in one phase must be completed, before moving on to the next phase. This model works best when project requirements can be clearly defined, and the requirements are fixed, and not modified in the future. Schedules are easily monitored, because there are fixed transitions.
Figure 1: Waterfall Model (Adapted from Microsoft Corporation. MSF Whitepaper: MSF Process Model v3.1)
Spiral model: This model is based on the continual need to refine the requirements and estimates for a project. The spiral model is best used for rapid application development (RAD) of small projects. With this approach, the customer is involved in all stages by providing feedback and approval. The model does not incorporate clear transition points, as does the waterfall model.
Figure 2: Spiral Model (Model (Adapted from Microsoft Corporation, June 2002a)
The MSF Process Model combines the best principles of the waterfall and spiral models. It combines the milestone-based planning of the waterfall model, with the spiral models continuous customer feedback.
Figure 3: MSF Process Model (Adapted from Microsoft Corporation, June 2002a)
The Microsoft Solutions Framework Process Model is composed of five distinct phases:
1) 2) 3) 4) 5)
Figure 4: MSF Process Model Phases and its 5 Milestones (Adapted from Microsoft Corporation, June 2002a)
Phase 1: Envisioning During this phase, the team creates an overview of the business problem to be solved and determines how that problem relates to the organization. This helps the team get a clear vision of what the team must accomplish for its customers. For a successful project, you need to know what the customer wants to achieve with the solution. During the envisioning phase, the development team and the customer define the highlevel business requirements (through the process of gathering requirements) and the project goals. The main focus of the envisioning phase is on creating clear definitions of the problem. Deliverables There are six deliverables that are created in this phase. Please see Appendix B for a description of each deliverable. The deliverables that are created in this phase include the: baseline vision/scope document (this includes the gathered requirements) milestone review report feature proposal project structure document team lead project progress report risk assessment document
Phase 2: Planning The business problem must be fully understood in this phase, so that a solution can be designed to address the business problem. During this phase, the functional specification, which is the blueprint of the solution, is created. The Planning phase is comprised of several sub-processes or steps: Creating the Conceptual Design During this step, the solution is described from the organization and user perspectives. During the envisioning phase, enough information is gathered, so that the team is able to create the baseline vision/scope document. Near the end of the envisioning phase, the team moves on to the planning phase of the (MSF) Process Model. During this phase, you ensure that the business problem to be addressed is fully understood so that you can design the solution that addresses the business problem. In addition, you plan how the solution will be developed and determine whether you have the resources to develop the solution.
Creating the Logical Design During this step, the solution is described from the developers perspective. The project team begins to identify significant objects and entity attributes needed. Logical design helps the developer further refine the requirements that were created during the envisioning phase and refined during the conceptual design process. Creating the Physical Design Along with conceptual and logical design, the project team creates a physical design of the solution during the planning phase. During the physical design, the developer improves the operation of the solution, that was developed during the logical design step. There are four steps used to create the physical design. They are: research, analysis, rationalization, and implementation. Physical design is the last step in the planning phase of the MSF Process Model. The project team proceeds to physical design after all members agree that they have enough information from the logical design to begin physical design. During physical design, the team applies technology considerations and constraints to the conceptual and logical designs. Due to the fact that the physical design evolves from the conceptual and logical designs, its success depends on the accuracy of the previous two designs. The reliance of physical design on the conceptual and logical designs ensures that the team will be able to complete a physical design that meets the business and user requirements. Presentation Layer Design During the presentation layer design process, the user interface (e.g., web page) of the application is designed. Data Layer Design The data layer is designed for the solution. This includes database design, optimizing data access, and implementing data validation. Designing Security Specifications Security policies and features are designed for the application. This includes adding the appropriate authentication and authorization schemes, ensuring data integrity, and performing data validation. Creating the Technical Specification The technical specification document is created. This document is the blueprint of the solution.
Deliverables There are twenty-three deliverables that are created in this phase. Please see Appendix B for a description of each deliverable. The deliverables that are created in this phase include the: backup and recovery plan business requirements document capacity plan conceptual design document deployment plan development plan end-user support plan functional specifications document logical design document master project plan monitoring plan operations plan operations requirements performance plan physical design document pilot plan security plan support plan (different from the end-user support plan) system requirements document test plan training plan usage scenarios user requirements
Phase 3: Developing In this phase, the code is written and the application is created. Deliverable There are two deliverables that are created in this phase. Please see Appendix B for a description of each deliverable. The deliverables that are created in this phase include the: testing and bug report traceability audit
Phase 4: Stabilizing The goal of the stabilizing phase is to improve the quality of the solution to meet the acceptance criteria for release to production. This is the phase where the application is tested. Deliverables There are three deliverables that are created in this phase. Please see Appendix B for a description of each document. The deliverables that are created in this phase include the: pilot review release signoff test specifications
Phase 5: Deploying During the deploying phase, the solution is deployed to the production environment. Deployment includes installation and end-user training. Deliverables There are two deliverables that are created in this phase. Many of these deliverables are updated throughout the life cycle of the project. The deliverables that are created in this phase include the: post-project analysis project closeout report
Glossary
Data integrity Iterative Process
The consistency and accuracy of data. An iterative (repetitive) development process, is a process in which development progresses in incremental stages. This helps to maintain a focus on manageable tasks and ensures that earlier stages are successful, before later stages are attempted. Users are involved throughout the development process. A point at which the team assesses progress and makes mid-course corrections. Milestones are review and synchronization points, not completion points. The project life cycle refers to the overall project from inception to completion. Key life cycle phases include process and project management, requirements, modeling, testing, and software change and configuration management.
Milestones
Project Life-Cycle
References
Microsoft (2003). [MCAD MCSD 70-300] Analyzing Requirements and Defining Microsoft .NET Solution Architectures. Redmond, WA: Microsoft Press. Microsoft Corporation (May 2004). Visual Studio 2005 Team System: Microsoft Solutions Framework. http://www.microsoft.com/technet/itsolutions/msf/default.mspx Microsoft Corporation (April 14, 2004). MSF Sample Templates v3.0. http://www.microsoft.com/technet/itsolutions/msf/default.mspx Microsoft Corporation (June 2003a). MSF Whitepaper: IT Occupation Taxonomy v3.0. http://www.microsoft.com/technet/itsolutions/msf/default.mspx Microsoft Corporation (June 2003b). MSF Whitepaper: Microsoft Solutions Framework version 3.0 Overview. http://www.microsoft.com/technet/itsolutions/msf/default.mspx Microsoft Corporation (June 2002a). MSF Whitepaper: MSF Process Model v3.1. http://www.microsoft.com/technet/itsolutions/msf/default.mspx Microsoft Corporation (June 2002b). MSF Whitepaper: MSF Project Management Discipline v1.1. http://www.microsoft.com/technet/itsolutions/msf/default.mspx Microsoft Corporation (June 2002c). MSF Whitepaper: MSF Readiness Management Discipline v1.1. http://www.microsoft.com/technet/itsolutions/msf/default.mspx Microsoft Corporation (June 2002d). MSF Whitepaper: MSF Risk Management Discipline v1.1. http://www.microsoft.com/technet/itsolutions/msf/default.mspx Microsoft Corporation (June 2002e.). MSF Whitepaper: MSF Team Model v3.1. http://www.microsoft.com/technet/itsolutions/msf/default.mspx Microsoft Corporation. Datasheets for MSF v3 and the MSF Practitioner Program. http://www.microsoft.com/downloads/details.aspx?FamilyID=7d6121ab-7062-4c489181-ffb34d19e0da&DisplayLang=en
History of Revisions
Version 1.0 Date 03-16-2006 Notes First version
10
11
capacity plan
The Capacity Plan outlines the strategy for 1) assessing overall solution and component performance and 2) using this information to develop the plan for component acquisition, configuration, and upgrade.
deployment plan
Deployment Plan describes the factors necessary for a smooth deployment and transition to ongoing operations. It encompasses the processes of preparing, installing, training, stabilizing, and transferring the solution to operations.
development plan
The Development Plan describes the solution development process used for the project. This plan compliments the functional specifications that provide the technical details of what will be built.
feature proposal
This proposal describes the end-users, as well as how the feature will help meet the project goals. It also describes the characteristics most important to the solution, how it will look and act, how it works with other features, etc.
* Descriptions taken from the Microsoft MSF Templates (http://www.microsoft.com/technet/itsolutions/msf/default.mspx)
12
monitoring plan
Monitoring Plan defines the process by which the operational environment will monitor the solution. It describes what will be monitored, what monitoring is looking for, how monitoring will be done, and how the results of monitoring will be reported and used.
operations plan
The Operations Plan describes how day-to-day operations will occur when the solution is in place. It provides guidance for the organization to maintain the solution successfully over an extended period of time. It contains details on both ongoing and contingency operations and how to proactively handle problems that may arise. Key components of this plan include backup recovery steps, managing configuration changes, and the skills necessary to support the operations.
operations requirements
The Operations Requirements describe what the solution must deliver to maximize operability and improve service delivery with reduced downtime and risks. It addresses the key elements of operations reliability, availability, scalability, supportability, and manageability.
performance plan
The Performance Plan describes the solutions performance requirements, what elements of the solution will be developed to measure performance, and how solution performance will be measured to ensure the requirements are continuously met.
13
pilot plan
The Pilot Plan describes what aspect of the solution will be delivered as a pilot and provides the details necessary to conduct the pilot successfully. This includes details on how to evaluate the pilot, the results of which will facilitate a decision whether or not to move the solution to production.
pilot review
The Pilot Review document records the results of the process that validates that what is delivered during the pilot meets specifications and business requirements.
post-project analysis
The Post Project Analysis document records the results of conducting a depth and breadth assessment of the project from its inception (envisioning phase) to completion (deployment phase). This assessment captures successes, challenges and failures, and identifies what should have been done differently on this project and what could be done differently for the next project.
release signoff
Customers and the development team sign off on a sheet that states that the solution is finished and ready for release.
security plan
The Security Plan describes how the solution will be brought to acceptable security levels in order to operate successfully. This plan describes what security threats will exist and how implementing security standards will mitigate those.
14
test plan
The Test Plan describes the strategy and approach used to plan, organize, and manage the projects testing activities. It identifies testing objectives, methodologies and tools, expected results, responsibilities, and resource requirements.
test specifications
This Test Specification is the technical outline for conducting the testing process. It defines the input, output, environment, and procedural guidelines at the solution level as well as for each test case. The Test Specification is developed using the framework of the Test Plan (created during the Planning Phase) and the contents of the functional specifications.
traceability audit
The Traceability Audit documents the processes of 1) comparing specifications to what was actually developed and plans to actual events, 2) identifying if and where change control process broke down, and 3) determining the cause of all variations and deviations. The comparison process focuses on Functional Specification and the Master Project Plan and looks at what occurred in the development phase and how that was different than planned. These differences could take the form of feature reduction, elimination, creation; modifications in the Functional Specification; or scope/schedule/budget changes in the Master Project Plan. The comparison process will also discover if those documents were maintained through the change control procedure. If not, they must be updated and change requests made.
training plan
The Training Plan identifies the needs and processes for training the people who will participate in creating the solution. This training could be on a particular software package or development environment or about specific hardware components. This document focuses on the project teams (which includes the customers information technology staff and help desk); it does not address the training needs of the end-user or support staff for ongoing operations.
* Descriptions taken from the Microsoft MSF Templates (http://www.microsoft.com/technet/itsolutions/msf/default.mspx)
15
usage scenarios
The Usage Scenarios document describes the set of activities that the solution will address and support. These activities are described in terms of what the user wants the solution to do and what other interfacing applications and systems need the solution to do. This information is expressed in terms of actions (functions), actors (users in a specific situation), paths (moving from one state to another within a function), conditions (what must occur to move down the path), and results (output).
user requirements
The User Requirements document defines the non-functional aspect of the users interaction with the solution. It provides guidance on the user interface, expectations of the solutions performance, reliability, and accessibility, and defines what must be done in order to properly train the users on the solution.
* Descriptions taken from the Microsoft MSF Templates (http://www.microsoft.com/technet/itsolutions/msf/default.mspx)
16