Milen Petrov Griffin Ltd.

Slides:



Advertisements
Similar presentations
MSF: Microsoft Solutions Framework Past and present
Advertisements

Unified process(UP) UP is an OO system development methodology offered by Rational(Rational Rose) s/w, now a part of IBM Developed by Booach,Rambaugh,Jacobson--
Chapter 2 Modeling the Process and Life Cycle Shari L. Pfleeger
<<replace with Customer Logo>>
1 IBM Software Group ® PRJ270: Essentials of Rational Unified Process Module 3: RUP Structure and Navigation.
Agile development By Sam Chamberlain. First a bit of history..
Ahsan Kabir Project Manager Ahsan Kabir Project Manager ………………………….
Sixth Hour Lecture 10:30 – 11:20 am, September 9 Framework for a Software Management Process – Artifacts of the Process (Part II, Chapter 6 of Royce’ book)
Visual Studio Team System (VSTS). Richard Hundhausen Author of software development books Microsoft Regional Director Microsoft MVP (VSTS) MCT, MCSD,
Rational Unified Process
Improving Process for Better Software. Who We Are An experiential learning program that provides technology solutions for our partners, and real- world.
Team System and Microsoft Solutions Framework Team collaboration tools Process authoring Process Guidance MSF-Agile & MSF-CMMI Software Factories Future.
SE 555 Software Requirements & Specification Requirements Validation.
APPLICATION DEVELOPMENT BY SYED ADNAN ALI.
Iterative development and The Unified process
Visual Studio 2005 Team System: Software Project Management Hans Verbeeck
The Software Product Life Cycle. Views of the Software Product Life Cycle  Management  Software engineering  Engineering design  Architectural design.
Systems Analysis and Design. Systems Development Life Cycle (SDLC) Systems Analysis Systems Design Programming Testing Conversion On-going maintenance.
IS&T Project Management: Project Management 101 June, 2006.
Enterprise Architecture
PopMedNet Software Development Life Cycle Chayim Herzig-Marx Harvard Pilgrim Health Care Institute Daniel Dee Lincoln Peak Partners.
> Blueprint Kickoff >. Introductions Customer Vision & Success Criteria Apigee Accelerator Overview Blueprint Schedule Roles & Responsibilities Communications.
Release & Deployment ITIL Version 3
What is Business Analysis Planning & Monitoring?
Developing Enterprise Architecture
1 MSF: Microsoft Solutions Framework. 2 Agenda  Introduction  MSF Team Model  MSF Process Model  MSF Project Management Discipline  MSF Risk Management.
University of Palestine software engineering department Testing of Software Systems Fundamentals of testing instructor: Tasneem Darwish.
Introduction to RUP Spring Sharif Univ. of Tech.2 Outlines What is RUP? RUP Phases –Inception –Elaboration –Construction –Transition.
-Nikhil Bhatia 28 th October What is RUP? Central Elements of RUP Project Lifecycle Phases Six Engineering Disciplines Three Supporting Disciplines.
MSF Requirements Envisioning Phase Planning Phase.
Rational Unified Process Fundamentals Module 4: Disciplines II.
Business Systems Development SDLC and introduction to the Microsoft Solutions Framework Team and Process Models.
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
1 © Quality House QUALITY HOUSE The best testing partner in Bulgaria.
MSF Overview (Microsoft Solutions Framework) Eran Kolber Vice President – LIH Ltd Regional Director – Microsoft Product Management Advisor – MSF Development.
1 מודל ניהול הצוותים של MSF. 2 Causes of failure  Poorly-defined objectives  Insufficient planning  Lack of executive support  Organizational barriers.
What is a Business Analyst? A Business Analyst is someone who works as a liaison among stakeholders in order to elicit, analyze, communicate and validate.
DEV234 Project Management For.NET Developers Marc Gusmano Director of Emerging Technologies The Information Management Group.
IS Methodologies. Systems Development Life Cycle - SDLC Planning Planning define the system to be developed define the system to be developed Set the.
Notes of Rational Related cyt. 2 Outline 3 Capturing business requirements using use cases Practical principles  Find the right boundaries for your.
Microsoft Office Project 2003: Selling EPM in your Organization Matt Wilson Business Solutions Specialist LMR Solutions.
Rational Unified Process Fundamentals Module 5: Implementing RUP.
Search Engine Optimization © HiTech Institute. All rights reserved. Slide 1 What is Solution Assessment & Validation?
Rational Unified Process (RUP) Process Meta-model Inception Phase These notes adopted and slightly modified from “RUP Made Easy”, provided by the IBM Academic.
J. Scott Hawker p. 1Some material © Rational Corp. Rational Unified Process Overview See and use the RUP Browser on lab machines.
PRJ566 Project Planning & Management Software Architecture.
CSPC 464 Fall 2014 Son Nguyen. 1. The Process of Software Architecting, Peter Eeles, Peter Cripss 2. Software Architecture for Developers, Simon Brown.
Overview of RUP Lunch and Learn. Overview of RUP © 2008 Cardinal Solutions Group 2 Welcome  Introductions  What is your experience with RUP  What is.
MSF 4.0 for Agile Software Development Ron Tolido Capgemini.
Visual Studio 2005 Team System: Software Project Management Brian A White Microsoft
Modelling the Process and Life Cycle. The Meaning of Process A process: a series of steps involving activities, constrains, and resources that produce.
1 Introduction Bindia Hallauer & Ajay Sudan Product Management, Visual Studio Team System Microsoft Corporation.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
Copyright 2015, Robert W. Hasker. Classic Model Gathering Requirements Specification Scenarios Sequences Design Architecture Class, state models Implementation.
YOUR LOGO Phase 2 International Providing critical business software solutions at affordable prices.
MSF Agile Essentials Mikael Deurell Senior Consultant Microsoft Mail: Blog:
Enterprise Architectures Course Code : CPIS-352 King Abdul Aziz University, Jeddah Saudi Arabia.
Agile Center of Excellence. Richard K Cheng Agile is just a high level concept.
Iterative development and The Unified process
Process 4 Hours.
Iterative, Evolutionary, and Agile Rational Unified Process
Introduction to Software Engineering
Chapter 2 Modeling the Process and Life Cycle Shari L. Pfleeger Joanne M. Atlee 4th Edition.
Introducing ISTQB Agile Foundation Extending the ISTQB Program’s Support Further Presented by Rex Black, CTAL Copyright © 2014 ASTQB 1.
Introduction to Agile Blue Ocean Workshops.
Executive Project Kickoff
Presentation transcript:

Milen Petrov Griffin Ltd. MSF 4.0 in 60-minutes Session Abstract It is exciting times for Microsoft Solutions Framework (MSF). With the Visual Studio team adopting MSF and creating Visual Studio 2005 Team System (VSTS), MSF now has an enhanced foundation (i.e., code-named MSFv4 Core) plus MSF is now embedded within VSTS enabling process automation and guidance. This creates an opportunity to mature solution delivery capabilities throughout the market. Not only does VSTS/MSFv4 extend MSFv3, but it also introduces two specializations: MSF for Agile Software Development and MSF for CMMI Process Improvement. This session will share with you an overview of MSFv4 Core and MSF Agile. Milen Petrov Griffin Ltd.

MSF for Agile Software Development Extending VSTS Templates Q&A Agenda Motivation Where MSF fits in SDLC What’s New in MSF v4.0 MSF for Agile Software Development Extending VSTS Templates Q&A The goal of this presentation is to quickly acclimate you with the various pieces and parts of MSF and how they relate to each other. MSF, the course offering, has grown to much more than courseware. It is not very integrated into the tooling provided by Visual Studio. You will have a lot to learn… hopefully this presentation will help you get started. Goal: A quick fly-by of what’s new… so that you can explore the details at a later time.

MSF for Agile Software Development Extending VSTS Templates Q&A Agenda Motivation Where MSF fits in SDLC What’s New in MSF v4.0 MSF for Agile Software Development Extending VSTS Templates Q&A Main message of this section: What problem is MSF v4.0 trying to solve?

A Brief History MSF Offering 1994 1995 1997 1999 2002 2005-06 21 Rules “Dynamics” Solutions Dev Discipline (SDD) MSF v2 Principles of … App Dev (PAD) Infra Deploy (PID) Ent Arch (PEA) Comp Des (PCD) MSF v2.5 MSF v3 Essentials + Exam Core Agile CMMI … MSF v4 MSF Offering MSF v1 MSF was born out of a movement to capture and share best practices in the industry of software engineering. That mission has not changed. What has changed is the scope and impact of MSF. MSF v4.0 specifically is a very important transition from pure “framework”, to “framework” and “methodology”. MSF v4.0 “the framework” can apply to just about any methodology, including SCRUM, RUP, etc. However MSF v4.0 specifically calls attention to two very important methodologies, arguably at opposite ends of the formality spectrum, “Agile” and “CMMI”. 1994 1995 1997 1999 2002 2005-06

Why Can’t Process Help Productivity? Framework Methodology Complete Sufficient Rules Guidelines MSF v4.0’s focus area is to address a critical problem: The seeming conflict between process discipline and productivity. Productive Predictable Repeatable

Process & Tools Integration enacts Visual Studio 2005 Team System Microsoft Solutions Framework guides How VSTS enables MSF? Productivity tools & processes Integrated tools & processes Extensible tools & processes So what type of architecture is needed to join Productivity with Process Discipine? MSF is the guidance infrastructure. Visual Studio is the tooling infrastructure.

MSF for Agile Software Development Extending VSTS Templates Q&A Agenda Motivation Where MSF fits in SDLC What’s New in MSF v4.0 MSF for Agile Software Development Extending VSTS Templates Q&A Main message of this section: How does MSF the “framework” fit with Visual Studio the “tooling”.

Framework Methodology MSFv4 Family Tree Framework MSFv4 Core Discipline Application Development Infrastructure Family MSF for Agile Software Development MSF for CMMI® Process Improvement MSF v4 has three major components: MSFv4 “Core” MSF for Agile Software Development MSF for CMMI Process Improvement. Product (instantiated) Methodology

Content Relationship MSF v4 CMMI Infrastructure Agile MSF v3 MSFv4 “Core” Discipline Application Development Infrastructure Family MSF for Agile Software Development MSF for CMMI® Process Improvement Product MSF v4 CMMI Infrastructure Build Slide Build 0: Application Development MSF v4 is an expansion of MSF v3, as well as the more detailed application of MSF to two methodologies, Agile and CMMI. “Agile” is a methodology you would choose when you want to be “light weight” in methodology. This is appropriate for smaller and less complex projects. “CMMI” is a methodology you would choose when you are more “formal” in methodology. CMMI supports the most complex projects, from both a social and engineering perspective. Build 1: Infrastructure The principles of MSF can also be used for non-application development types of projects, such as Infrastructure projects. MSF 4.0 lays the foundation for a more explicit inclusion in this area. No doubt an MSF v5.0 investment area… Agile MSF v3

Continuum of Methodologies Note: MSF is not specifically “competition” with any specific methodology or tooling. This is a frequent point of confusion. This Giga Research chart exemplifies this very well, calling “MSDN” a methodology. In addition to Microsoft releasing two implementations of MSF, Agile and CMMI, other companies are releasing implementations of XP, Scrum, even RUP.

MSF for Agile Software Development Extending VSTS Templates Q&A Agenda Motivation Where MSF fits in SDLC What’s New in MSF v4.0 MSF for Agile Software Development Extending VSTS Templates Q&A Main message of this section: Changes to MSF v4.0, the “guidance” portion of MSF

What is MSFv4? A set of foundational principles, mindsets and proven practices with an adaptable framework for successfully delivering solutions faster, requiring fewer people, and involving less risk, while enabling higher quality results. Models Team Model Governance Model MSF 3.0’s organization as a collection of principles, proven practices, etc. is successful. MSF 4.0 continues with this organization of models, expanding in some areas, refining in others. Disciplines Project Management Discipline Risk Management Discipline Readiness Management Discipline

Principles Mindsets Proven Practices Key Concepts  Mindsets Fundamentals Principles Mindsets Key Concepts  Mindsets Proven Practices MSF 4.0 makes a subtle shift in fundamentals. MSF V3 Principles Foster open communications Work toward a shared vision Empower team members Establish clear accountability and shared responsibility Focus on delivering business value Stay agile, expect change Invest in quality Learn from all experiences MSF V4 Principles Partner with customers Quality is everyone’s business, every day Stay agile, adapt to change Make deployment a habit Flow of value Mindsets Qualify id defined by customer Pride of workmanship Team of peers Frequent delivery Willingness to learn Get specific early Qualities of service Citizenship

Requirements Prioritization Planning Risk Analysis Scheduling Process Stakeholder Analysis Readiness Management Requirements Prioritization Simple Kano Analysis MSF has refined governance activities. Requirements Prioritization is an important addition.

Team Model Advocacy Groupings New: Architecture Release Operations Was: Role Clusters New: Architecture Responsibilities pulled from Proj Mgmt and Dev Release Operations Was: Release Mgmt More functional areas in each advocacy group The team model remains conceptually the same – it is a team of peers, not an organizational hierarchy. However in order to even more explicitly widen the gap between “principle” and “org-chart”, what was formerly “role clusters” is now called “advocacys”. A new advocacy has been added: Architecture. It was formerly represented primarily by Program Management and Development.

Governance Capacity Governance Capacity Governance Model Which projects should we do? Which features? How much capacity to allocate? How is value delivered? Capacity Enactment Measurable productivity Manageable delivery How to improve? Governance Capacity The concept of “Governance” has been wrapped around the capacity to deliver projects. This is very important: Governance is a process – something that is ongoing and never ends Solution delivery is a project – with an explicit beginning and end Activities that occur to support governance include determining exactly when the project will start, and what it will do. Once the project starts, the efficiency of the project team drives the delivery capacity of an organization. The more productive they are, the more capacity an organization has, and the more projects they can accomplish per unit cost.

Process Model Deploy Envision Release 1 Stabilize Plan Build Phases  Tracks Develop Track  Build Track Milestones  Checkpoints Deploy Envision Release 1 Stabilize The process model has been “fuzzified” – to draw particular attention to the notion that this is a “model”, not a “project plan”. Milestones, a project plan concept, have been renamed to “checkpoints”. Plan Build

Minimize risks by breaking large projects into multiple versions Iterative Approach Minimize risks by breaking large projects into multiple versions Risk Solution Completion Knowledge The concept of a “rhythm of development” is more explicit. Some rhythms are “in the project”, others are at the “program” level. Time

MSF Envision Track Envision Deliverables Goals Vision/scope document Project structure document Initial risk assessment document Core Team Organized Envision Vision/Scope Baselined Vision/Scope Approved The Envisioning track conceptually is unchanged – it has been clarified with more explicit descriptions of deliverables and goals. 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

MSF Plan Track Deliverables Plan Goal Functional specifications Master project plan Master project schedule Technology Validation Complete Functional Specification Baselined Plan Master Project Plan Baselined Master Project Schedule Baselined Supporting Environments Set Up Project Plans Approved The Planning track is conceptually the same. 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

MSF Build Track Deliverables Build Goal Completed Solution Training materials Documentation Marketing materials Updated master plan, schedule and risk document Scope Complete Proof of Concept Complete Build 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 The Build track, formerly the “Develop” phase, is conceptually the same. However it now more explicitly includes activities that occur outside of the “developer” role. Such as marketing, training, etc.

Testing is not just for testers Testing the Solution Goal Expose issues, uncover design flaws and identify unexpected behavior Role of testing: Proactive: Leads build effort (e.g., test-driven development) Supportive: Follows build effort (e.g., design a little, build a little, test a little) Testing is not just for testers Can be performed by anyone helping improve the completeness and/or quality of work item deliverables Testing is an important area. In fact some methodologies call for “Test Driven Development”, and important part of the Agile process. Two distinct roles are called out: Proactive and Supportive.

Deliverables Goals MSF Stabilize Track Pilot review Release Readiness Approved Deliverables Pilot review Release-ready versions of solution and accompanying collateral Testing and bug reports Project documents Release Candidate n Pilot Complete User Acceptance Testing Complete Release Candidate 1 Pre-Production Testing Complete System Testing Complete Stabilize nth Functional Testing Pass Complete Issue Log Cleared User Interface Stabilized Issue Convergence Goals 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) 1st Functional Testing Pass Complete The Stabilize track moves away from a focus on “test” and more towards a focus on “convergence”. As one program manager at Microsoft likes to say, “Software doesn’t release… it escapes!” Stabilization strives to create the conditions which allow the solution to escape into production.

MSF Deploy Track Deliverables Deploy Goals Operations and support information systems Revised processes and procedures Repository of all solution collateral Deployment Stabilized Site Deployments Complete Deployment Complete Core Solution Components Deployed Deploy Goals Place solution into production at designated environment(s) Facilitate smooth transfer of solution from project team to operations team as soon as possible The Deployment track, added in MSF 3.0, is conceptually the same.

Governance Track Repackaged Deliverables Goals Status reports Customer/user satisfaction data Final versions of all project documents Project closeout report Customer Acceptance Operations Acceptance User Acceptance Goals Secure approval from: Users that the solution meets their needs and is sufficiently usable Operations that the solution is ready to deploy Customer that the project is complete Optimize and continuously improve team performance and throughput, solution quality and process improvement Wrapping the entire “Project” is a Governance “Process”, which is a critical mechanism which allows new projects to start, and more importantly, existing projects to reschedule functionality into a future release.

MSF for Agile Software Development Extending VSTS Templates Q&A Agenda Motivation Where MSF fits in SDLC What’s New in MSF v4.0 MSF for Agile Software Development Extending VSTS Templates Q&A Main message of this section: Agile is a methodology that has tooling support in Visual Studio.

Individuals and interactions over processes and tools Agile Manifesto Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan Agile is a grass-roots movement to improving the discipline of software engineering. These are the core tenets. Choose Agile when formality is not critcial.

Time Box = Time limit in which to complete an iteration Time-Boxed Iteration Time Box = Time limit in which to complete an iteration How Reduce functionality Reschedule features Agile prioritizes schedule over features. Each iteration adds incremental features.

Personas On-site Customer Persona Actor “Personas” are an important concept that have been used in Microsoft for quite some time. They are a compromise between the overly formal Use Case Modeling, and the overly informal Extreme Programming customer involvement. Actor

Scenarios Working Software Scenarios Personas Review Refine Agile software development is a scenario-driven software development process. A scenario records a single path of a persona interaction through the system in order to reach a goal. Real Customers

The Agile Pattern Scenario 1 Scenario 2 Scenario 3 Scenario 4 Iteration 1 Scenario List Scenario 1 Scenario 2 In MSF Agile – a scenario is a major work item. Each iteration of development implements a specific list of scenarios to some degree of functionality. Scenario 3 Iteration Plan

Requirements Prioritization (Kano Model) Minimum Acceptance Level Description Developed in the 80's by Professor Noriaki Kano, the model is based on the concepts of customer quality and provides a simple ranking scheme which distinguishes between essential and differentiating attributes. The model is a powerful way of visualising product characteristics and stimulating debate within the design team. Kano also produced a rigorous methodology for mapping consumer responses onto the model. Product characteristics can be classified as: Threshold / Basic attributes Attributes which must be present in order for the product to be successful, can be viewed as a 'price of entry'. However, the customer will remain neutral towards the product even with improved execution of these aspects. One dimensional attributes (Performance / Linear) These characteristics are directly correlated to customer satisfaction. Increased functionality or quality of execution will result in increased customer satisfaction. Conversely, decreased functionality results in greater dissatisfaction. Product price is often related to these attributes. Attractive attributes (Exciters / Delighters) Customers get great satisfaction from a feature - and are willing to pay a price premium. However, satisfaction will not decrease (below neutral) if the product lacks the feature. These features are often unexpected by customers and they can be difficult to establish as needs up front. Sometimes called unknown or latent needs. Product differentiation can either be gained by a high level of execution of the linear attributes or the inclusion of one or more 'delighter' features. But, it should be remembered that customer expectations change over time, and a cup holder in a car may be today's delighter, but tomorrow it will be expected. Some users of Kano also suggest that an additional set of attributes can be classified as 'enragers' - features which enrage either through their absence or inclusion. Iteration 3 Iteration 2 Iteration 1

Visual Studio Team System Visual Studio Team System implements MSF Agile by providing the constructs for “Scenarios” and other Agile work items. The Team Explorer enables you to manage the work items associated with the project.

Using VSTS Agile : Team Explorer Window After an Agile Team Project is created, the menu allow you to add the various work items. Bug Task Scenario QOS Requirement

Using VSTS Agile : Sample Report Tracking the aggregate status of scenarios enables you to take a measure of the health of your project (if it is converging), and forecast how much work remains.

MSF for Agile Software Development Extending VSTS Templates Q&A Agenda Motivation Where MSF fits in SDLC What’s New in MSF v4.0 MSF for Agile Software Development Extending VSTS Templates Q&A Main message of this section: You can customize the methodology templates that ship with Visual Studio Team System, or build your own.

VSTS Template Key Concepts Role Work Item States and Transitions Fields Process Guidance Work Streams Groups of activities that flow logically together Often associated with a particular role Activities Described using EVTX format These are the building blocks of a VSTS template. Role Work Item Process Guidance

Project Manager Business Analyst Architect Developer Tester MSF Agile Roles Project Manager Business Analyst Architect Developer Tester Release Manager For example, Agile defines the following roles. The diagram on the right show the relationship of the roles to their advocacy groups.

MSF Agile Workstreams Capture Product Vision Create a Scenario Create a Quality of Service Requirement Plan an Iteration Create Solution Architecture Implement a Development Task Build a Product Test a Scenario Test a Quality of Service Requirement Fix a Bug Close a Bug Release a Product Guide Project Examples of Workstreams. These workstreams are for MSF Agile.

MSF Agile “Scenario” : States & Transitions Active Resolved Closed Transitions Completed Test Failed Reactivated Split etc. Example of a Work Item, which contains States and Transitions. This example shows the MSF Agile “Scenario” work item.

MSF Agile “Scenario” : Fields Work Items also have Fields. Some of MSF Agile “Scenario” fields are listed here.

MSF Agile “Scenario” : Activities Business Analyst Develop lifestyle snapshot Brainstorm scenarios Project Manager Divide scenarios into tasks Developer Integrate code changes Tester Write validation tests Select and run a test case The state that a work item is in defines which activities can occur, and who can perform the activity.

MSF Agile “Scenario” : Workstreams Role: Developer Workstream: Fix a Bug This activity affects the Scenario work item. From a role’s perspective, a workstream is a series of activities that accomplish a particular goal.

Process Template Manager Work items Work item instances Reports Security groups Project portal Documents / templates Source control settings Process guidance content Iteration structure Entry criteria and exit criteria views Source check-in policies The VSTS Process Template Manager allows you to Export and Import templates. This is the mechanism you would use to customize a process.

MSF for Agile Software Development Extending VSTS Templates Q&A Agenda Motivation Where MSF fits in SDLC What’s New in MSF v4.0 MSF for Agile Software Development Extending VSTS Templates Q&A

Recommended book for learning more about MSF for Agile Software Development.

Stay Active In Your Local .NET Community!! MSF Home Page For More Information Stay Active In Your Local .NET Community!! MSF Home Page http://www.microsoft.com/msf Randy Miller’s Blog (Agile) http://blogs.msdn.com/randymiller Rob Caron’s Blog (VSTS) http://blogs.msdn.com/robcaron/ SCRUM http://www.controlchaos.com/about/ VSTS plug-in available from Conchango Capability Maturity Model Integration (CMMI) http://www.sei.cmu.edu/cmmi/ Microsoft Services QuickPlan for Team-Based Software Development