MSF Agile Essentials Mikael Deurell Senior Consultant Microsoft Mail: Blog:

Slides:



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

COPYRIGHT © 2012 ALCATEL-LUCENT. ALL RIGHTS RESERVED. 1 Agile documentation development methodology Giby Panicker and Judith Benjamin 1-Dec-2012.
PROC-1 3. Software Process. PROC-2 What’s a process? Set of activities in creating software It involves creativity –hard to automate –Requires human judgment.
Agile 101.
Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall B.1.
Agile Project Management with Scrum
NAUG NAUG Knowledge Evening – th February 2007.
Agile development By Sam Chamberlain. First a bit of history..
Ahsan Kabir Project Manager Ahsan Kabir Project Manager ………………………….
Agile
The Secrets of Repeatable Success Adam Gilmore Solutions Architect & WW ALM Community Lead Microsoft Services June 27th 2011.
Sudesh Krishnamoorthy Developer Technology Specialist | Microsoft |
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.
Computer Engineering 203 R Smith Agile Development 1/ Agile Methods What are Agile Methods? – Extreme Programming is the best known example – SCRUM.
Visual Studio 2005 Team System: Software Project Management Hans Verbeeck
Agile Process: Overview n Agile software engineering represents a reasonable compromise to conventional software engineering for certain classes of software.
An Agile View of Process
Introduction to Agile Methodologies and Concepts Roy Osherove Principal, Team Agile Blog : ISerializable.com.
Introduction to Agile.
Software engineering Process models Pavel Agejkin.
MSF for Agile Software Development Granville Miller 8 November 2005.
Software Development Process
Introduction to RUP Spring Sharif Univ. of Tech.2 Outlines What is RUP? RUP Phases –Inception –Elaboration –Construction –Transition.
Chapter 3 – Agile Software Development 1Chapter 3 Agile software development.
Software Engineering 1 Object-oriented Analysis and Design Applying UML and Patterns An Introduction to Object-oriented Analysis and Design and Iterative.
Chapter 5 Software Process Models. Problems with “Traditional” Processes 1.Focused on and oriented towards “large projects” and lengthy development time.
Milen Petrov Griffin Ltd.
Current Trends in Systems Develpment
Business Systems Development SDLC and introduction to the Microsoft Solutions Framework Team and Process Models.
Project Workflow. How do you do it? -Discussion-
Gayathri Devi (GD) Senior Program Manager Agile Development, Design and Project Management in Visual Studio Team System 2008 where technology meets process.
1 מודל ניהול הצוותים של MSF. 2 Causes of failure  Poorly-defined objectives  Insufficient planning  Lack of executive support  Organizational barriers.
1 Software Process Models-ii Presented By; Mehwish Shafiq.
1006 The Microsoft Solutions Framework Granville Miller Program Manager Microsoft.
Object-oriented Analysis and Design Stages in a Software Project Requirements Writing Analysis Design Implementation System Integration and Testing Maintenance.
Chapter 2 Iterative, Evolutionary, and Agile You should use iterative development only on projects that you want to succeed. - Martin Fowler 1CS
Tejasvi Kumar Developer Technology Specialist | Microsoft India
CS3100 Software Project Management Agile Approaches.
CSPC 464 Fall 2014 Son Nguyen. 1. The Process of Software Architecting, Peter Eeles, Peter Cripss 2. Software Architecture for Developers, Simon Brown.
Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall Appendix B Agile Methodologies B.1.
Overview of RUP Lunch and Learn. Overview of RUP © 2008 Cardinal Solutions Group 2 Welcome  Introductions  What is your experience with RUP  What is.
Ivar Jacobson, Grady Booch, and James Rumbaugh The Unified Software Development Process Addison Wesley, : James Rumbaugh's OOMD 1992: Ivar Jacobson's.
Agile. Processes Waterfall Traditional With prototyping Sprial Agile Dynamic Systems Development Method (DSDM) Scrum Crystal eXtreme Programming (XP)
MSF 4.0 for Agile Software Development Ron Tolido Capgemini.
Visual Studio 2005 Team System: Software Project Management Brian A White Microsoft
Agenda: Overview of Agile testing Difference between Agile and traditional Methodology Agile Development Methodologies Extreme Programming Test Driven.
Agile 101. Feasibility Study SDLC – What is it? Systems Development Life Cycle: The most commonly used, and generally accepted, project management approach..
Copyright 2015, Robert W. Hasker. Classic Model Gathering Requirements Specification Scenarios Sequences Design Architecture Class, state models Implementation.
Project Workflow.
Embedded Systems Software Engineering
Chapter 5 Agile Development Moonzoo Kim KAIST
Software Engineering: A Practitioner’s Approach, 6/e Chapter 4 Agile Development copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc. For University.
Agile Project Management and the yin & yang of
Appendix B Agile Methodologies
Software Engineering Process
Software Engineering: A Practitioner’s Approach, 6/e Chapter 4 Agile Development copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc. For University.
Project Workflow.
Iterative and Agile Development
Hyper-V Cloud Proof of Concept Kickoff Meeting <Customer Name>
Approaches to Systems Development
Introduction to Software Engineering
How to Successfully Implement an Agile Project
Lecture 2 Revision of Models of a Software Process
Agile Process: Overview
Software Engineering: A Practitioner’s Approach, 6/e Chapter 4 Agile Development copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc. For University.
Software Engineering Fundamentals
Software Engineering: A Practitioner’s Approach, 6/e Chapter 4 Agile Development copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc. For University.
Appendix B Agile Methodologies
Presentation transcript:

MSF Agile Essentials Mikael Deurell Senior Consultant Microsoft Mail: Blog:

Agenda Setting the Stage Agile MethodologiesAgile Methodologies Microsoft Solutions Framework The FrameworkThe Framework MSF Agile The MethodologyThe Methodology

Setting the Stage

Defining Agile Development Better communication Customer, your team, other teams ‘executable’ requirements, less unneeded documentation Deal with constant change Make it a customer right Shorter iterations Simpler and stricter requirements management Have practices that help mitigate the risk of change Unit testing, continuous integration etc.. Improve and adapt the way the team works Give value quick, by priority Incremental development, keep it simple Customer has more responsibility

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 Source:

What are we trying to solve? High failure rate of projects Time, Budget, Quality, Cancellation Find out about problems much earlier in the process Compensate for not predicting the future Will the client change their mind? Do we really know how much it will cost to build? Did we make the design good enough? Did we take all the requirements? Will our team stay the same throughout? Do we understand the task fully?

Dealing with unpredictability Short Iterations Keep it simple A better priority mechanism Team based estimation

Some example methodologies XP, Scrum

Short iterations Customer prioritization Team estimation Clear and simple artifacts Reports, documentation Daily meeting (Scrum) Adjustable process Scrum eXtremeProgramming

Overview of Scrum Unit Testing & TDDUnit Testing & TDD Pair ProgrammingPair Programming CICI others… others… Write StoriesWrite Stories Priority selectionPriority selection Writes customer TestsWrites customer Tests Runs tests at end of each iterationRuns tests at end of each iteration

The road to MSF Agile… Take the previous… Add Roles… Add Work Streams… Add Microsoft Best Practices… This is MSF Agile!

Introduction to MSF Core

MSF Microsoft Solutions Framework Established in 1991, v4 Core formally made public October 2006 Solution delivery framework for creating software Related to MOF, Microsoft Operational Framework Which concentrates on the management of IT infrastructure

Framework or Methodology Product (Methodology) Family Discipline (Framework) MSF 4 Core Application Development MSFAgileMSFCMMIMSFScrum Infrastructure Visual Studio Team System

Key components of MSF 4.0 Core Team Model Program Management, Product Management, Architecture, Development...Program Management, Product Management, Architecture, Development... Governance Tracks: Envision, Plan, Build, Stabilize, DeployTracks: Envision, Plan, Build, Stabilize, Deploy Go/No Go project checkpointsGo/No Go project checkpoints Iterations Potentially shippable product increasePotentially shippable product increase Daily Builds The heart of the projectThe heart of the project Readyness Management FIRO based model for empowering the teamFIRO based model for empowering the team Risk Management Practices for attacking project risksPractices for attacking project risks

Elements of an Iterative Approach

Agile Software Development with MSF 4.0

Agenda Agile Software Development with MSF Team Model Personas/Scenarios The “Agile” Pattern ArchitectureTesting

What is MSF for Agile Software Development? MSF for Agile Software Development is an iterative, scenario-driven, context-based software development process for building.NET, Web, Web Service, and other object-oriented applications. It guides the team through the whole project

Activities in MSF Composed of 14 basic work streams Basic activity building blocks of MSF A work stream is an activity that is composed of other activities Contains 70 activities (not including work streams) Most work streams are performed by a single role

Work Streams 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

What’s different from other agile processes? Context Driven (Work Streams) Recognizes all the -itties (QoS) Roles Adds Microsoft Best Practices

Agenda Agile Software Development with MSF Team Model Personas/Scenarios The “Agile” Pattern ArchitectureTesting

Roles Advocacies

Getting the Whole Team Involved  Jacqui Ackerman Project Manager  Art Benson Architect  Mort Gaines Developer  Renee Davis Tester  Larry Sykes Business Analyst  Ian Manning Release Manager

Work Streams – cont. Capture Product Vision Create a Scenario Create a Quality of Service Requirement Plan an Iteration Program Management 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

Capture Project Vision Write Vision Statement DefinePersonasRefinePersonas Business Analyst Customer Create a Scenario BrainstormScenarios DevelopLifestyleSnapshot PrioritizeScenarioList WriteScenarioDescription Storyboard a Scenario Scenario Quality of ServiceRequirement Scenario List R Quality of Service Requirement List Vision Statement Personas ScenarioDescription Reports Storyboard R R C C LifestyleSnapshot Brainstorm Quality of ServiceRequirements Write ServiceRequirement DevelopLifestyleSnapshot Prioritize ServiceRequirements Create a Quality of Service Requirement Plan an iteration EstimateScenario Estimate QoS Guide Project ReviewObjectives

Principles (Team) Principles & Mindsets Mindsets (Person)

Agenda Agile Software Development with MSF Team Model Personas/Scenarios The “Agile” Pattern ArchitectureTesting

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.

Where do Personas Fit? On-siteCustomer Actor Persona

Customer Involvement Review Working Software Refine Personas Real Customers Scenarios

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

Example Persona - Anna Role: Online Shopper Motivation: Get it Cheap Usage: Anna 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.

Agenda Agile Software Development with MSF Team Model Personas/Scenarios The “Agile” Pattern ArchitectureTesting

Incremental approach – Why scenarios over use cases? Risk reduction ChangesDeliveryProgress UseCase:Scenario notation RentVideo:MaxLimit

The Agile Pattern (The Engine) Scenario List Iteration Plan Scenario 1 Scenario 2 Scenario 3 Iteration 1 Scenario 4 Scenario 1 Scenario 2 Scenario 3

The Life of a Scenario Schedules Scenario Writes Scenario Divides Scenario Integrates Scenario Tests Scenario Defines Scenario Tester Business Analyst Developer Architect Developer Tester Project Manager Prioritizes Scenario Business Analyst

Agenda Agile Software Development with MSF Team Model Personas/Scenarios The “Agile” Pattern ArchitectureTesting

The MSF Agile Architect If you check the VSTS Guidance for an architect you’ll find: One Work Stream “Create Solution Architecture” Application Diagram System Diagram Logical Datacenter Diagram Prototype

Shadow Architecture Code in Visual Studio can cast shadows

Trailing Shadows Trailing Shadows are visual reflections of the code base These should come for free or nearly free

Leading Shadows The Architectural goal for the iteration Should become working code within the iteration – no BDUF

Agenda Agile Software Development with MSF Team Model Personas/Scenarios The “Agile” Pattern ArchitectureTesting

Getting the Whole Team Involved  Jacqui Ackerman Project Manager  Art Benson Architect  Mort Gaines Developer  Renee Davis Tester  Larry Sykes Business Analyst  Ian Manning Release Manager

Testing that is acceptable on one project may be criminal on another Make a test plan for the project and for each iteration. Context Driven Testing

Test Thresholds Code Coverage for Unit Test Which statements of my application are being executed? Useful to identify incomplete testing Problems with Code Coverage 100% Code coverage says… NOTHING! 20% Code Coverage says… Something… Do not make it a science!

Conduct Exploratory Testing Become the persona… Make a run through the system as the persona Add any new bugs, scenarios or quality of service requirements discovered using this process

What happened after the show?  Jacqui Ackerman Project Manager  Art Benson Architect  Mort Gaines Developer  Renee Davis Tester  Larry Sykes Business Analyst  Ian Manning Release Manager

Famous last words… Agile solves all our problems If we make them do it Agile, it’ll work Let’s do it all at once!

Feedback Mikael Deurell Mail: Blog:

This presentation is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY. © 2001 Microsoft Corporation. All rights reserved.