A-to-Z of MSF v3 (Microsoft Solutions Framework)

advertisement
1
Microsoft Solution
Framework (MSF)
Najwa Al-Ghamdi
ID : 427220110
Najwa_alghamdi@yahoo.com
2
MSF
Microsoft Solutions Framework
Established in 1991, last major revisions in
1998 and January 2003 (v3) [1].
Related to MOF, Microsoft Operational
Framework [1,2,3]
Which concentrates on the management of IT
infrastructure [1,2,3]
3
Lifecycle of IT
Microsoft Solutions Framework
Microsoft Operations Framework
[1]
4
MSF
MSF offers guidance in how to organize people
and projects to plan, build, and deploy
technology solutions
successfully and effectively [1,3].
Microsoft Solutions Framework (MSF) is an
integrated system of process guidance that
embraces both agile and formal methodologies
and provides a framework to implement a
customized solution for a wide variety of projects
[10]
5
Does it Work?
Yes, as long as you chose the right bits of
MSF for your project [1]
High-profile projects that used MSF [1]
www.nasdaq.com and www.marriott.com (Aris
Corp, now Ciber, www.ciber.co.uk) [1]
UK Government Gateway [1]
Visual Studio, Windows 2003, Windows XP [1]
6
Is It For Everyone? [1]
Some parts of MSF will work for every
project, but in general, most of MSF works
for larger projects
How small is large enough?
3-12 months (best of all 4-6) and with a
team of at least 3 (best of all 7-11)
7
MSF Foundational Principles
Work toward a shared vision [5].
Focus on business values [5].
Stay agile, expect change [5].
Empower Team member [5].
Foster open communication [5].
Establish a clear accountability, Shared
responsibility [5].
8
Key Concepts and Proven
Practices
Concepts [5].
Team of peers.
Customer focus mindset.
Product mindset.
Zero-defect mindset.
Willingness to learn.
Proven Practices [5].
Use small, interdisciplinary teams.
Enable teams to work together at a single site.
Create a solution design through total team
participation.
9
MSF Process Templates [10]
MSF for Agile Software Development
It makes iterative software development enterprise ready by
providing features like
risk management
release management
design for operations.
1
MSF for CMMI Process Improvement
It provides rich connections to the CMMI process to help organizations
quickly implement mature software development practices.
In this presentation, I’ll discuss the 1st template.
____________________________________________________
1: CMMI: Capability Maturity Model® Integration (CMMI®) , for more information click here. [11]
10
Key MSF Components [1]
Models
Team
Process
Model
Model
Disciplines
Project
Management
Discipline
Risk
Readiness
Management
Discipline
Management
Discipline
11
Key MSF Components
Models
12
1.Team Model – Team of Peers
Delivering the solution
within project constraints
Satisfied
customers
Program
Management
Product
Management
Building to
specification
Development
Communication
User
Experience
Enhanced user
effectiveness
Test
Release
Management
Smooth deployment and
ongoing operations
Approval for release only
after all quality issues are
identified and addressed
[1,5]
13
1. Team Model- Scaling The Model
You can combine some roles to teams as
small as 3 people [1].
Do not combine some (like Product and
Program Manager, or anything with Developer)
[1].
You can scale it to 10, 100s and 1000s by
using two methods:
Functional Teams (many people for one
role)[1,5]
Feature Teams (sub-teams for each feature)
[1,5]
14
1. Team Model- Scaling The Model
[1,3,5]
15
2. MSF Process Model
Deployment
Complete
Release Readiness
Approved
Vision/Scope
Approved
MSF
Milestone :
Used to plan and
monitor project
progress and schedule
major deliverables
Scope
Complete
Project Plans
Approved
[1,5]
16
2.MSF is an Iterative process
Version 3
Functionality
Force closure on project
issues
Set clear and motivational
goals with all team
members
Manage the uncertainty
and change in project
scope
Encourage continuous
and incremental feature
delivery
Enable shorter time to
market
Version 2
Version 1
Time
[1,5,6]
17
Iterations
[7]
18
MSF Envision phase [2]
Deliverables
Vision/scope document [ Example , Template [12] ]
Project structure document [template [12] ]
Initial risk assessment document [ example ,
Template , Risk Assessment Tool [12]]
Core Team Organized
Vision/Scope Baselined
Vision/Scope
Approved
Goals
Develop a clear understanding of what is needed within context of project
constraints
Assemble necessary team to envisage solution with options and approaches
that best meet those needs while optimally satisfying those constraints
19
MSF Plan Phase [2]
Deliverables
Functional specifications [Template [12] ]
Master project plan [Template [12] ]
Master project schedule
Technology Validation Complete
Functional Specification Baselined
Master Project Plan Baselined
Master Project Schedule Baselined
Supporting Environments Set Up
Project
Plans
Approved
Goal
Evolve conceptual solution into tangible designs and plans so it
can be build in the developing track
Find out as much information as possible, as early as possible
Know when you have enough information to move forward
20
Plan phase-Design Process Overview [5]
Conceptual Design
Scenarios
Logical Design
Objects and Services,
User Interface, and
Logical Database
1.
2.
Physical Design
Components,
User Interface, and
Physical Database
[conceptual Design Template] [12]
[ user scenarios template and
example] [12]
[ logic design template]
[12]
[ physical Design Template]
[12]
21
Plan Phase -Relationship to Planning [5]
Vision
Approved
Project Plan
Approved
Conceptual Design
Logical Design
Physical Design
Conceptual
Design Baseline
Logical Design
Baseline
Physical Design
Baseline
22
MSF Developing Phase [2]
Deliverables
Completed Solution
Training materials
Documentation
Marketing materials
Updated master plan,
schedule and risk
document
Scope
Complete
Build
Proof of Concept
Complete
Internal Release 1
Internal Release 2
Internal Release n
Goal
Build various aspects of the solution in accordance with plan track
deliverables (e.g., designs, plans, requirements)
Develop solution features and components, complete deliverables and
other elements of the solution
Test the various aspects of the solution to assess the state of quality of the
solution
23
MSF Stabilize phase [2]
Deliverables
Pilot review
Release-ready versions
of solution and
accompanying collateral
Testing and bug reports
Project documents
Goals
Release Candidate n
Pilot Complete
User Acceptance Testing Complete
Release Candidate 1
Pre-Production Testing Complete
System Testing Complete
nth Functional Testing Pass Complete
Issue Log Cleared
User Interface Stabilized
Issue Convergence
1st Functional Testing Pass Complete
Release
Readiness
Approved
Stabilize
Improve solution quality to meet release criteria for
deployment to production
Validate solution meets stakeholder needs and expectations
Validate solution usability from a user perspective
Maximize success and minimize risks associated with solution
deployment and operations in its target environment(s)
24
MSF Deploy Phase [2]
Deliverables
Operations and support
information systems
Revised processes and
procedures
Repository of all solution
collateral
Deployment Stabilized
Site Deployments
Complete
Core Solution
Components
Deployed
Deployment
Complete
Goals
Place solution into production at designated environment(s)
Facilitate smooth transfer of solution from project team to operations
team as soon as possible
25
Daily Build [2]
Building the product in
an executable form on a
daily basis
A public daily build is
A strong indicator that a team is
functional
A way to make the product and its
progress visible
The heartbeat of the development
process
26
Tips for Daily Build [2]
Use source-code control system (such as Microsoft
Visual Source Safe, Rational ClearCase etc.)
Each developer works locally, i.e. all code and
executables on every station
Every day code is collected, built and published and
every morning developers download the newest build
Automate it all (batch files etc.)
Developing them is an ongoing activity that will be complete when
your first project completes
Use Visual Studio.NET 2003 with MSDN Universal – there is new
automation for daily build in it!
27
Key MSF Components
Disciplines
28
1. Project Management
discipline [4]
Project Management is the application of
knowledge, skills, tools, and techniques to
project activates to meet project
requirements.
Dose not equate to “being the boss”
29
2.Risk Management Discipline
[1,4]
Project Risk
Distinguish risk form existing problems
Define a risk management process for
identifying, analyzing and addressing the risk
Increase the likelihood of success in the
project By minimizing the potential of failure.
30
2.Risk Management Process
[4]
31
3. MSF Readiness
Management [4]
It address the need for team readiness that
spans the entire project.
It focus on the area of knowledge, skills, and the
abilities required at individual and solution level.
How to optimize team readiness?
Measure proficiencies (self and skill assessment)
Analyze gaps.
Create learning plans.
Execute learning plans
32
XP vs. MSF [6]
Extreme Programming (XP) came after MSF.
Similarities regarding the Zero Defect Mindset and Daily Builds
But they are different in
•XP doesn’t define a development cycle like MSF. That development cycle is replaced
by a set of practices that reduce the development quantum’s, notably short releases
and continuous integration.
•MSF as a traditional approach is geared to large teams performing long development
cycles, XP is geared to small teams performing many short development iterations.
33
XP vs. MSF – Testing [7]
1.
MSF defines test both as a team role and as a set of tasks to implement during
implementation. While XP refers test as code that verifies the correctness of
implementation code. The team members have the responsibility of writing test code and
implementation code.
2.
MSF includes on its development cycle a task for stabilizing. XP dispenses the need for
such stage by continuously running tests.
3.
MSF does not define any testing tools, the test team is responsible for choosing and/or
developing them. XP, uses Junit and Xunit.
34
Visual Studio 2005 Team
System [8]
Recently announced by Microsoft
Team development tools based on MSF
MSF itself is about to be updated to
support new development techniques
MSF “v 4”
[10]
35
Team
Tools [9]
List ofCollaboration
things to do
36
Team
Tools [9]
List ofCollaboration
things to do
Guidance on what to do
37
Team
Tools [9]
List ofCollaboration
things to do
Guidance on what to do
Status reports
38
Team
Tools[9]
List ofCollaboration
things to do
Guidance on what to do
Status reports
Planning
-MS Project
-MS Excel
39
Team
Tools [9]
List ofCollaboration
things to do
Guidance on what to do
Status reports
Planning
-MS Project
-MS Excel
Source control
40
Team
Tools [9]
List ofCollaboration
things to do
Guidance on what to do
Status reports
Planning
-MS Project
-MS Excel
Team
builds
Source control
41
Team
Tools [9]
List ofCollaboration
things to do
Guidance on what to do
Status reports
Rules
Planning
-MS Project
-MS Excel
Team
builds
Source control
42
Team
Tools [9]
List ofCollaboration
things to do
Guidance on what to do
Status reports
Rules
Planning
-MS Project
-MS Excel
Team
builds
Source control
43
Team Foundation [9]
Facilitates team
collaboration
Work Item
Management &
progress monitoring
Bugs
Development Tasks
Issues
…
Team Foundation Server
Source control
Team Build & Test
Document
management
SharePoint
Guidance
44
Using Metrics in Team System
Through MSF, Team System uses metrics
to measure the project progress [example]. [13]
45
Conclusion
MSF provides productive, integrated, and extensible process guidance
and a flexible toolset for software development by presenting the right
process to the right person at the right time. [10]
46
Appendix
CMMI
Risk Assessment Example
47
CMMI [12]
Capability Maturity Model® Integration (CMMI®) is a process
improvement approach that provides organizations with the essential
elements of effective processes.
It contains 22 process areas that describe the aspects of product development that
are to be covered by organizational processes. They are :
1.
2.
3.
4.
5.
6.
7.
8.
9.
Causal Analysis and
Resolution
Configuration Management
Decision Analysis and
Resolution
Integrated Project
Management
Measurement and Analysis
Organizational Innovation and
Deployment
Organizational Process
Definition
Organizational Process Focus
Organizational Process
Performance
10. Organizational Training Product
Integration
11. Project Monitoring and Control
12. CMMI Project Planning
13. Process and Product
14. Quality Assurance
15. Quantitative Project Management
16. Requirements Development
17. Requirements Management
18. Risk Management
19. Supplier Agreement Management
20. Technical Solution
21. Validation
Back To Previous
22. Verification
Slide
48
Risk Assessment Example [3]
condition
Consequence
Mitigation
Contingency
Trigger
Owner
Developers
will work on
new
technology
Developer time will
be longer due to
need for learning
Provide
technical
training to
developer
Reverse back to
previous version
Developer
have not
passed related
technology
exam by
project plan
approval
Branda Diaz
49
Risk Assessment Metrics [3]
•To analyze and prioritize risk, MSF uses “Risk Exposure” to measure the
overall threat of the project as a result of the risk .
Risk Exposure = Risk Probability × Risk Impact
Where
Risk Probability : The likelihood that the risk consequence will occur.
Risk Impact : An estimate of the severity of effect if risk consequences
occur.
Back to previous slide
50
Refrences
[1]: Rafal Lukawiecki, Microsoft Solutions Framework (MSF) v3 , download.microsoft.com/download/0/c/8/0c8cea70-f35d-4e13-87b847f81068c793/MSF%20v3.ppt
[2] Quent Herschelman, MSF 4.0 in 60-minutes, conferences.codegear.com/article/images/32205/32205_08022027_S.PPT
[3] Microsoft Training and certification , MSF Workbook.
[4] Granville Miller, The Microsoft Solutions Framework ,
www.webdesignmagic.com.au/Assets/Presentation/WDM-MSF.ppt
[5] Thomas Lee, MSF & MOF ,
download.microsoft.com/documents/uk/msdn/events/Team_System_and_Microsoft_Solutions_Framework_Part_1.ppt
[6] Rafal Lukawiecki , MSF core and its families,
http://www.00001001.ch/Download/TechDays_07/Zurich/Arch/A105_MS_Solutions_Framework_40.pdf
[7] Luís Miguel Reis, Test engineering: Microsoft Solutions Framework vs Extreme Programming,
http://berlin.inesc.pt/cadeiras/pfsi/PFSI2003/SEMINARIO/pdfs/testes-luis-reis.pdf
[8]http://en.wikipedia.org/wiki/Microsoft_Solutions_Framework#Foundational_Principles
[9] Alan Cameron Wills, Team System and Microsoft Solutions Framework,
download.microsoft.com/documents/uk/msdn/events/Team_System_and_Microsoft_Solutions_Framework_Part_1.ppt
[10] http://msdn2.microsoft.com/en-us/library/aa302179.aspx
[11] http://en.wikipedia.org/wiki/Capability_Maturity_Model_Integration
[12] http://www.microsoft.com/downloads/details.aspx?familyid=ea75784e-3a3f-48fb-824e-828bf593c34d&displaylang=en
[13] Sam Guckenheimer, Team Foundation: Using Metrics to Manage and Troubleshoot Your Projects,
download.microsoft.com/download/7/8/4/784fb86b-b95c-4b64-9609-49717b5b9dd1/dev233_guckenheimer.ppt -
Download