The Modern Agile Application Lifecycle Management...
Embed Size (px)
Transcript of The Modern Agile Application Lifecycle Management...
-
The Modern AgileApplication Lifecycle Management
Methodology & Tools
Alon Fliess, Chief Architect
http://[email protected]
Modern ALM - Scrum & TFS1
http://codevalue.net/mailto:[email protected]
-
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
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 1990s 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
http://www.scrum.org/scrumguides
-
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 Lets begin by describing what agile analysis isnt:
It isnt a phase in the lifecycle of your project
It isnt a task on your project schedule
It isnt 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
-
http://www.agilemodeling.com/essays/agileRequirements.htm
-
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
-
TFS The Tool for Modern ALM
Modern ALM - Scrum & TFS19
Define Design Develop Build Test Deploy
-
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
-
Work Items Relations
Modern ALM - Scrum & TFS24
-
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 Masters 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)
-
Report Burndown Chart
Modern ALM - Scrum & TFS33
-
More Reports
Modern ALM - Scrum & TFS34
-
Agile With TFS Summary
Modern ALM - Scrum & TFS35
-
Benefits Obtained From Implementing Agile
VersionOne Research:
Modern ALM - Scrum & TFS36
http://www.nl.capgemini.com/agileblog/2012/02/agile-reasons-results/
-
Q & A
37 Modern ALM - Scrum & TFS
-
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
http://msdn.microsoft.com/en-us/magazine/dd347827.aspxhttp://msdn.microsoft.com/en-us/library/ms244678
-
Modern ALM - Scrum & TFS39