The Modern Agile Application Lifecycle Management ... · PDF fileThe Modern Agile Application...

Click here to load reader

  • date post

    20-Mar-2018
  • Category

    Documents

  • view

    223
  • download

    6

Embed Size (px)

Transcript of The Modern Agile Application Lifecycle Management ... · PDF fileThe Modern Agile Application...

  • The Modern AgileApplication Lifecycle Management

    Methodology & Tools

    Alon Fliess, Chief Architect

    http://codevalue.netalonf@codevalue.net

    Modern ALM - Scrum & TFS1

    http://codevalue.net/mailto:alonf@codevalue.net

  • 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, Wor