1006 The Microsoft Solutions Framework Granville Miller Program Manager Microsoft.

Slides:



Advertisements
Similar presentations
A BPM Framework for KPI-Driven Performance Management
Advertisements

2009 – E. Félix Security DSL Toward model-based security engineering: developing a security analysis DSML Véronique Normand, Edith Félix, Thales Research.
Microsoft ® System Center Configuration Manager 2007 R3 and Forefront ® Endpoint Protection Infrastructure Planning and Design Published: October 2008.
HP Quality Center Overview.
SOFTWARE DEVELOPMENT METHODOLOGIES Methodologies Waterfall Prototype model Incremental Iterative V-Model Spiral Scrum Cleanroom RAD DSDM RUP.
Chapter 10 Schedule Your Schedule. Copyright 2004 by Pearson Education, Inc. Identifying And Scheduling Tasks The schedule from the Software Development.
Ahsan Kabir Project Manager Ahsan Kabir Project Manager ………………………….
Fakultät für Informatik Technische Universität München A Quantitative Perspective on Systems of Systems Formerly: Upscaling for Systems of Systems Astrid,
Improving Process for Better Software. Who We Are An experiential learning program that provides technology solutions for our partners, and real- world.
1 Software Testing and Quality Assurance Lecture 15 - Planning for Testing (Chapter 3, A Practical Guide to Testing Object- Oriented Software)
Computer Engineering 203 R Smith Agile Development 1/ Agile Methods What are Agile Methods? – Extreme Programming is the best known example – SCRUM.
Fundamentals of Information Systems, Second Edition
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.
1 CMPT 275 Software Engineering Requirements Analysis Process Janice Regan,
Enterprise Architecture
Microsoft ® Application Virtualization 4.6 Infrastructure Planning and Design Published: September 2008 Updated: February 2010.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 17 Slide 1 Extreme Programming.
Annual SERC Research Review - Student Presentation, October 5-6, Extending Model Based System Engineering to Utilize 3D Virtual Environments Peter.
® IBM Software Group © 2006 IBM Corporation PRJ480 Mastering the Management of Iterative Development v2 Module 3: Phase Management - Inception.
What is Business Analysis Planning & Monitoring?
MSF for Agile Software Development Granville Miller 8 November 2005.
Visual Studio 2005 Team System: Mastering Software Project Management with Process Guidance and Office System 2003 Integration Beny Rubinstein Randy Miller.
Microsoft ® Application Virtualization 4.6 Infrastructure Planning and Design Published: September 2008 Updated: November 2011.
Introduction to RUP Spring Sharif Univ. of Tech.2 Outlines What is RUP? RUP Phases –Inception –Elaboration –Construction –Transition.
Active Directory ® Certificate Services Infrastructure Planning and Design Published: June 2010 Updated: November 2011.
-Nikhil Bhatia 28 th October What is RUP? Central Elements of RUP Project Lifecycle Phases Six Engineering Disciplines Three Supporting Disciplines.
1 “ Understanding leads to perfection” Author: Herb Isenberg Ph.D A Bird’s Eye View Quality Foundations January 2011.
MSF Requirements Envisioning Phase Planning Phase.
Business Systems Development SDLC and introduction to the Microsoft Solutions Framework Team and Process Models.
Business Analysis and Essential Competencies
1 ISA&D7‏/8‏/ ISA&D7‏/8‏/2013 Systems Development Life Cycle Phases and Activities in the SDLC Variations of the SDLC models.
Testing Challenges in an Agile Environment Biraj Nakarja Sogeti UK 28 th October 2009.
Incorporating Pragmatic Usability Testing Into a Software Test Plan Carla Merrill, Ph.D. Focused Design focuseddesign.com
Extreme/Agile Programming Prabhaker Mateti. ACK These slides are collected from many authors along with a few of mine. Many thanks to all these authors.
DEV 303 Visual Studio "Whidbey" Enterprise Tools: Source Control and Work Item Tracking Brian Harry Product Unit Manager Microsoft Visual Studio.
Design engineering Vilnius The goal of design engineering is to produce a model that exhibits: firmness – a program should not have bugs that inhibit.
Rapid software development 1. Topics covered Agile methods Extreme programming Rapid application development Software prototyping 2.
Sudesh Krishnamoorthy Developer Technology Specialist | Microsoft |
Rational Unified Process (RUP) Process Meta-model Inception Phase These notes adopted and slightly modified from “RUP Made Easy”, provided by the IBM Academic.
Connecting with Computer Science2 Objectives Learn how software engineering is used to create applications Learn some of the different software engineering.
General remarks Goal of the presentation Illustration of the business in a concise way Visual support for your pitch The prompts and tips should be addressed.
MITM743 Advanced Project Management Dr. Abdul Rahim Ahmad Assoc. Professor College of IT, UNITEN Kerzner Chapter 4 Project Management Methodologies.
Overview of RUP Lunch and Learn. Overview of RUP © 2008 Cardinal Solutions Group 2 Welcome  Introductions  What is your experience with RUP  What is.
Rational Unified Process (RUP)
MTA EXAM Software Testing Fundamentals : OBJECTIVE 6 Automate Software Testing.
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.
Siebel Migration Assessment with Microsoft Consulting Services Assess whether your Siebel implementation is the right Solution for your current and future.
Systems Architectures System Integration & Architecture.
MSF Agile Essentials Mikael Deurell Senior Consultant Microsoft Mail: Blog:
Informed Traveler Program and Applications Agile / Scrum Overview Jerry Inberg.
GENERAL REMARKS Guidelines and suggestions for GSVC pitch decks Goal of the Presentation Illustration of the business in a concise way Visual support for.
Lecture 3 Prescriptive Process Models
CIM Modeling for E&U - (Short Version)
Software Development methodologies
September 20, 2017 Agile Techniques Workshop Susan Futey
Hyper-V Cloud Proof of Concept Kickoff Meeting <Customer Name>
2018 Real Cisco Dumps IT-Dumps
Global Social Venture Competition Pitch Deck
Software engineering -1
How to keep your Enterprise GIS Project on Track
Employee engagement Delivery guide
Applying Use Cases (Chapters 25,26)
Topic 1: Introduction to the Module and an Overview of Agile
Executive Project Kickoff
From Use Cases to Implementation
Presentation transcript:

1006 The Microsoft Solutions Framework Granville Miller Program Manager Microsoft

Goals In this session we will use CaliberRM, Together, and Visual Studio Team System to show Microsoft’s Agile Software Development Process. This session will provide an overview of the MSF Agile process.

The Problem with Process PredictableRepeatable Productive Complex Complex Disconnected Disconnected Hardened Hardened Challenges Challenges Getting people to know about it Getting people to know about it Getting people to use it Getting people to use it

Microsoft Solutions Framework MSF offers guidance in how to organize people and projects to plan, build, and deploy technology solutions successfully and effectively

MSF (v4) is… The right content for the right person at the right time 1.An agile software development process 2.A formal software development process 3.Framework for customers and partners to implement custom software development process

AdventureWorks Project Team Jacqui Ackerman Project Manager Art Benson Architect Mort Gaines Developer Renee Davis Tester Larry Sykes Product Manager

Run TestIdentify a BugWrite Validation Tests Plan a Scenario Implement a Development Task Create Solution Architecture Create a Scenario Define Personas Create Scenario List Write Scenarios Prioritize Scenario List Review Scenarios Decompose System Run a Test Case Determine Interfaces Create Architectural Prototype Estimate Scenario Schedule Scenario Divide Scenario into Tasks Cost a Development Task Write Code Integrate Write and Perform Unit Tests Review Code From Team Collaboration to Team Partnership Storyboard a Scenario

Select and Run Test Identify a BugWrite Validation Tests Define PersonasCreate Scenario List Write ScenariosReview Scenarios Plan a Scenario Implement a Development Task Create Solution Architecture Test a Scenario Prioritize Scenario List Estimate Scenario Schedule Scenario Cost a Development Task Write Code Integrate Write and Perform Unit Tests Review Code Decompose SystemDivide Scenario into Tasks Determine Interfaces Create Architectural Prototype Storyboard a Scenario Setup and Guide Project Write Vision Statement Define Test Approach Create Infrastructure Architecture Create a Scenario Evaluate Complexity Review Objectives Determine Progress

Iteration 0 Write Vision Statement Define Personas Add Scenario to Scenario List Add Quality of Service Requirement to Requirements List Prioritize Scenario List Prioritize QOS Requirement List Review Objectives Assess Progress Evaluate Complexity Create Infrastructure Architecture Define Test Approach Plan Iteration 1

What is a Vision Statement? A vision statement is a short, coherent statement that concisely describes the purpose of building the new or improved system. It provides the justification for building the system to the team. It should provide its readers with an understanding, at a high level, of the users of the application, what they need, and how this application is going to provide that.

What is a Vision Statement? The language of the end user in their domain should be used. Writing this purpose in twenty- five words or less is often difficult. It is often more difficult to write a good short vision statement than a longer one. A twenty-five word vision statement is a good guideline.

Write Vision Statement Sub-activity Type Sub-activityDescription RequiredDetermine key value and the stakeholders of the application 1.Write the value proposition of the new system. 2.Determine the set of stakeholders who obtain the primary value from the system. 3.Distill the key concepts down to a single value proposition for these stakeholders to be included in the vision statement.

AdventureWorks AdventureWorks expands the local store presence and creates new revenue growth by offering sporting and camping equipment through the internet to online shoppers.

Create a Scenario Define Personas

What are Personas? In the context of product development, personas are descriptions of a group of typical users. Instead of talking about the group of users in an abstract, impersonal way, a persona represents a 'proxy' for the user group, and provides a means to talk and reason about the group through the characteristics of one fictional individual, the persona.

What is in a Persona? A persona describes the typical skills, abilities, needs, desires, working habits, tasks and backgrounds of a particular set of users. A persona is fictional reality, collecting together real data describing the important characteristics of a particular user group in a fictional character.

Defining Personas Sub-activity Type Sub-activityDescription RequiredDefine Roles1.From the stakeholders in the vision statement, choose a role that interacts with the system. 2.If the vision statement does not contain enough information (i.e. rolls up roles) to determine all of the roles that interact with the system, gather more information on the intended users. 3.If the system has security requirements, be sure to include disfavored roles such as unauthorized users. RequiredCreate Persona1.Gather real data to create a persona. Use data obtained from usability studies, user visits, focus groups and marketing studies to ensure that the persona represents reality, rather than some 'made-up' person, who we think represents the typical user. 2.Complete the persona descriptions by including a short 'life history', personality 'quirks' or interests and hobbies. Adding this type of information makes the persona easier to relate to since the person seems more real and also provides a little bit of humor, and makes the personas fun to work with. 3.Include links back to the data that was used to build the persona in the descriptions of personas. The only fictional characteristics of a persona are their name and life history, and optionally any pictures associated with the persona.

Jack Role: Online Shopper Motivation: Get it Quick Usage: Jack hates to shop but wants his equipment immediately. He will place his order on Thursday night for his weekend activity. Jack doesn’t want to wade through a catalog. Instead, he wants things that he typically orders to show immediately.

Judith Role: Online Shopper Motivation: Get it Cheap Usage: Judith shops for the best bargain. She looks for the best deal on similar items. She will visit half a dozen sites to find the best deal.

Create a Scenario Define Personas Add Scenario to List

Add Scenario to Scenario List For each persona, determine their goals of the system. Decompose each goal into the scenarios that are required to achieve that goal or may result from an unsuccessful attempt to achieve that goal. Write each scenario name in the form goal: scenario.

Scenario List GoalTitle PriorityMust HaveDescriptionRough Order of Magnitude Rent VideoSunny Day Scenario Provision VideosSunny Day Scenario

Demo Create Scenario List

Prioritize Scenario List Determine the importance of the scenario or quality of service (qos) requirement Determine the dissatisfaction level if the scenario or qos requirement is not implemented

Create a Scenario Define Personas Create Scenario ListPrioritize Scenario List Plan a Scenario Write Scenarios Storyboard a Scenario

Writing Scenarios A scenario is a single path of user interaction through the system. As the user attempts to reach a goal, the scenario records the specific steps that they will in attempting to reach that goal. Some scenarios will record a successful path; others will record an unsuccessful one. When writing scenarios, be specific. Since there are an infinite number of possible scenarios for all but the most trivial systems, it is important to be discerning in deciding which scenarios to write (see Create a Scenario List)..

Sees Work Item Tasks in VS

Demo Decompose Scenario into Development Tasks

Plan a Scenario Implement a Development Task Create Solution Architecture Create a Scenario Define Personas Create Scenario List Write Scenarios Prioritize Scenario List Review Scenarios Decompose System Test a Scenario Divide Scenario into TasksDetermine Interfaces Create Architectural Prototype Estimate Scenario Schedule Scenario Cost a Development Task Write Code Integrate Write and Perform Unit Tests Review Code Run TestIdentify a BugWrite Validation Tests From Team Collaboration to Team Partnership Storyboard a Scenario

Demo Implement a Development Task

Run a Test Case Integrate Identify a BugWrite Validation Tests Write Code Integrate Write and Perform Unit Tests Review Code Fix a Bug Triage Bugs Schedule Bugs Run Test Verify Bug Close a Bug Report Triage Close Out a Bug Report Close a Bug Report Create Development Task

Plan a Qos Requirement Implement a Development Task Create Solution Architecture Create a Qos Requirement Add Qos Req to Scenario List Review Qos Req Decompose System Run a Test Case Determine Interfaces Create Architectural Prototype Prioritize Scenario List Estimate Qos Req Schedule Qos Req Divide Scenario into Tasks Cost a Development Task Write Code Integrate Write and Perform Unit Tests Review Code Run TestIdentify a Bug Write Performance Test Write Qos Requirements Develop a Perf Model

Run TestIdentify a BugWrite Validation Tests Define PersonasCreate Scenario List Write ScenariosReview Scenarios Plan a Scenario Implement a Development Task Create Solution Architecture Run a Test Case Prioritize Scenario List Estimate Scenario Schedule Scenario Cost a Development Task Write Code Integrate Write and Perform Unit Tests Review Code Decompose SystemDivide Scenario into Tasks Determine Interfaces Create Architectural Prototype Storyboard a Scenario Setup and Guide Project Write Vision Statement Define Test Approach Create System Architecture Create a Scenario Evaluate Complexity Review Objectives Determine Progress

MinimumAcceptanceLevel Iteration 1 Iteration 2 Iteration 3

Review Objectives Define PersonasCreate Scenario List Write Scenarios Review Scenarios Prioritize Scenario List Divide Scenario into Tasks Cost a Development Task Write Code Integrate Write and Perform Unit Tests Review Code

Engineering Effort High Technological Risk Design Difficulty High Organizational Risk Resources Windows XP VisualStudio Halo 2 Halo 2

Focus on Architecture High Technological Risk Design Difficulty High Organizational Risk Resources Windows XP VisualStudio Halo 2 Halo 2 Decompose SystemDivide Scenario into TasksDetermine Interfaces Create Architectural Prototype Storyboard a Scenario Evaluate Complexity

Testing that is acceptable on one project may be criminal on another Testing Targets Trend Analysis Metrics: –% Code Coverage –Bugs Found –% Code Churn –% Tests Passed –% Scenarios Tested Context Driven Testing

Run TestIdentify a BugWrite Validation Tests Divide Scenario into Tasks Cost a Development Task Write Code Integrate Write and Perform Unit Tests Review Code Define Test Approach “No Critical Failure Or Major Impact Bugs (Impact Severity 1 or 2) In Shipping Product” “100% Code Coverage Achieved” % Scenarios Tested % Code Coverage % Tests Passed BugsFound % Code Churn severity 1 or 2 bugs

Create a Scenario Create Scenario List Write Scenarios Prioritize Scenario List Divide Scenario into Tasks Write Code Integrate Write and Perform Unit Tests Review Code Run a Test Case Run TestIdentify a Bug Write Validation Tests Implement a Development Task Cost a Development Task Create Solution Architecture

Microsoft Solutions Framework Key goals for MSF: Drive business success through business & technology alignment Ensure high quality solutions; handling the many facets of quality as defined by multiple stakeholders Accelerate delivery, reduce costs, minimize risks Improve team effectiveness

Methods of Adoption Organizational/Team – The team has decided as a unit to adopt some flavor of MSF (or your process) Grassroots – Individuals on the team find the practices useful and the process spreads by providing value MSF provides friction-free usage that doesn’t get in the way

Methods of Extension Framework – Build a process within the MSF meta- model, adopting pieces or all of MSF Agile or Formal Prototype – Using pieces or all of MSF Agile or Formal as a base to build your own process without the meta-model

MSF Process Model Structure

Conclusions MSF version 4.0 comes in two flavors to deliver maximum flexibility MSF is fully integrated in Visual Studio Team System MSF updates are delivered via MSDN MSF can become a basis for your software development process

Questions?

Thank You 1106 The Microsoft Solutions Framework Please fill out the speaker evaluation You can contact me further at …