Upload
ngonga
View
236
Download
6
Embed Size (px)
Citation preview
The Modern AgileApplication Lifecycle Management
Methodology & Tools
Alon Fliess, Chief Architect
http://[email protected]
Modern ALM - Scrum & TFS1
The Lecture Goal
Introduce the Modern TFS based Agile (Scrum) ALM process in order to improve your application development method
Modern ALM - Scrum & TFS2
About CodeValue
Modern ALM - Scrum & TFS3
CodeValue is the home of software experts. CodeValue builds software tools, foundations and products for the software industry. CodeValue offers mentoring, consulting and project development services.
http://codevalue.net
Agenda• Introduction to Agile Methodologies
• Introduction to Scrum
• TFS – Modern ALM Tool for Agile Teams
• The Scrum Process in TFS
• Best Practices
Modern ALM - Scrum & TFS
Introduction to Agile Methodologies• Individuals and interactions over processes and
tools
• Working software over comprehensive documentation
• Customer collaboration over contract negotiation
• Responding to change over following a plan
Modern ALM - Scrum & TFS
Twelve principles underlie the Agile Manifesto• Customer satisfaction by rapid delivery of useful software
• Welcome changing requirements, even late in development
• Working software is delivered frequently (weeks rather than months)
• Working software is the principal measure of progress
• Sustainable development, able to maintain a constant pace
• Close, daily co-operation between business people and developers
• Face-to-face conversation is the best form of communication (co-location)
• Projects are built around motivated individuals, who should be trusted
• Continuous attention to technical excellence and good design
• Simplicity- The art of maximizing the amount of work not done - is essential
• Self-organizing teams
• Regular adaptation to changing circumstances
Modern ALM - Scrum & TFS
Introduction to Scrum
• Scrum is a process implementation of Agile
• Developed early 1990’s by Ken Schwaber and Jeff Sutherland
• First published on 1995
• Surpassed waterfall on 2008
Modern ALM - Scrum & TFS
Scrum Principles• Transparency
– The process must be visible
• Inspection– Scrum users must frequently inspect Scrum artifacts and progress toward a
goal to detect undesirable variances
• Adaptation– If an issue is inspected the process must be adjusted
– An adjustment must be made as soon as possible to minimize further deviation
Complete Guide: http://www.scrum.org/scrumguides
Modern ALM - Scrum & TFS
Scrum Roles
Scrum Master
Product Owner
Team (Dev & QA)
Modern ALM - Scrum & TFS
Other Stakeholders- Managers
- Customers
- External Users
The Scrum Team• The Scrum Team consists of a Product Owner, the
Development Team, and a Scrum Master
• The team model in Scrum is designed to optimize flexibility, creativity, and productivity
• The Product Owner is the sole person responsible for managing the Product Backlog
• The Scrum Master is responsible for ensuring Scrum is understood and enacted
Modern ALM - Scrum & TFS10
The Product Backlog• The Product Backlog is an ordered list of everything that might be
needed in the product• It is the single source of requirements• The Product Owner is responsible for the Product Backlog
– its content, availability, and ordering
• A Product Backlog is never complete– It evolves as the product and the environment in which it will be used
evolves
• The Product Backlog lists all features, functions, requirements, enhancements, and fixes
• Product Backlog items have the attributes of a description, order, and estimate
Modern ALM - Scrum & TFS11
Sprint – The Heart of Scrum• Duration: a week, two, three or a month• A “Done”, useable, and releasable product Increment is created• A new Sprint starts immediately after the conclusion of the previous Sprint• Sprints contain Sprint Planning Meeting, Daily Scrums, the development
work, the Sprint Review, and the Sprint Retrospective• During the Sprint:
– No changes are made that would affect the Sprint Goal– Development Team composition remains constant– Quality goals do not decrease
• Each Sprint has a definition of what is to be built• Sprints enable predictability by ensuring inspection and adaptation of
progress • Sprints also limit risk to (max) one calendar month of cost
Modern ALM - Scrum & TFS12
13
Ask for
Feedback
Stakeholder Gives Feedback
Feedback
Incorporated
Plan
a Sprint
Run
a Sprint
Daily Cycles
Manage the
Backlog
Deploy to
Stakeholders
Telling the
story
Scrum Process CycleScrum Basics
• Product Backlog
• Sprint
• Sprint Backlog
• Tasks
• Meetings
Modern ALM - Scrum & TFS
Scrum MeetingsRelease Planning
Plan the scope of a Release
Sprint Planning Plan the scope of a Sprint in a Release
Daily Meeting What did you do yesterday? What will you do today? Are there any impediments in your way?
Sprint Review Reviewing what was done in the Sprint
Sprint Retrospective What worked? What didn't work? What will we do differently?
15
Agile Analysis• Let’s begin by describing what agile analysis isn’t:
– It isn’t a phase in the lifecycle of your project
– It isn’t a task on your project schedule
– It isn’t a means unto itself
• What it should be:– Communication rich
– Highly iterative & incremental (Analysis Through the Lifecycle)
– Exploration and illumination of the problem space
– Estimation and prioritization of requirements
– Results in artifacts that are just good enough
Introduction to TFS
Modern ALM - Scrum & TFS18
• The first ALM tool designed for Windows\.NET ecosystem
• First release by Microsoft in 2005
• Key features:
– Version Control
– Work Item Tracking
– Build Automation
– Project Management
– Test Planning & Automation
– Reporting
Scrum Process Implementation in TFS
Modern ALM - Scrum & TFS20
• New Team Project with a scrum process template
• Users & Groups
• Areas & Iterations
• Work Items
• Feedback
• Reporting
Team Project
A team project is a collection of work items, code, tests, work products, metrics, that is used by a defined team to track a common set of related work
Modern ALM - Scrum & TFS21
You can customize the process template
Users & Groups
Modern ALM - Scrum & TFS22
(Global) ServiceTechnical Writers
Administrating Users & Groups:
Product OwnersScrum MastersDevelopersQA ManagersTestersProject ManagersApplication
Work Items Types
Modern ALM - Scrum & TFS23
• What is a work item?
Types:
• Product Backlog Item
• Task
• Bug
• Sprint
• Test Case (+Shared Step)
Custom Work Item Types:• Your Specific Work Item• Examples:
• HLD• Custom Code Review• Enhancement Request
Product Owner ResponsibilitiesTFS Actions:
Modern ALM - Scrum & TFS25
• Creating a new PBI
• Viewing the Backlog
• Assigning iteration
• Assigning priority
• Approving or Removing PBIs
PBI
Modern ALM - Scrum & TFS26
• The Product Backlog Items (PBIs) define the individual features (User Story)
• The PBI needs to be approved, committed and when all tasks and tests are done, its done
Scrum Master ResponsibilitiesTFS Actions:
Modern ALM - Scrum & TFS27
• Viewing the approved PBIs
• Linking a new Task to a PBI
• Assigning a sprint
• Assigning tasks to the team
• Creating new Sprints and Iterations
• Handles Impediments
Impediments• Impediments are obstacles to progress• If a task, bug or PBI is blocked, then an impediment is
created• Each impediment is linked to a PBI, task or bug • The Scrum Master’s responsibility is to remove
impediments• Examples of impediment:
– Technical issues - missing a hardware– Human resource - Sickness– Unclear requirement
Modern ALM - Scrum & TFS28
Team ResponsibilitiesTFS Actions:
Modern ALM - Scrum & TFS29
• Linking a new Task to a PBI
• Update states
• Update remaining
• Report Impediments
Development Task
30
• Each development task must be linked to at least one of the following:– Parent PBI
– Another task
– Or a bug
• Each task should be tested by a test case
• A task is done by a developer, mean “ready for testing”
Bug
Modern ALM - Scrum & TFS31
• Each bug must be linked to at least one parent PBI or task
• Each new bug should be tested by a test case
• A bug is done by a tester, mean “verified as fixed”
TFS Clients
Visual Studio Team Explorer
Web Access
Excel, Outlook, Word
MS Project
Modern ALM - Scrum & TFS32
Command line (tf.exe)
3rd party tools (TFS-API)
Benefits Obtained From Implementing Agile
• VersionOne Research:
Modern ALM - Scrum & TFS36
Learning Resources
Agile Planning Tools In Visual Studio Team System
http://msdn.microsoft.com/en-us/magazine/dd347827.aspx
Analyzing Work Item and Test Case Data Using the Work Item Perspective
http://msdn.microsoft.com/en-us/library/ms244678
Course Title38