Working Agile with Scrum and TFS 2013

55
Work Agile with Scrum and Visual Studio Online 2013 Moataz Nabil Senior QC Engineer | Cequens | Egypt MCSD - MCTS - ISTQB Certified @moatazeldebsy | www.moataznabil.com Egyptian Automation Testers

Transcript of Working Agile with Scrum and TFS 2013

Work Agile with Scrum and Visual Studio Online 2013Moataz NabilSenior QC Engineer | Cequens | EgyptMCSD - MCTS - ISTQB Certified@moatazeldebsy | www.moataznabil.com

Egyptian Automation Testers

Part 1

Introduction to Agile

Project Management Methodologies

Waterfall Model

Requirement Analysis

System Design

Implementation

Testing

Deployment

Maintenance

Every Project Story

The customer knows nothing

The developer thinks about new technologies

The PM thinks about the deadline

The analyst thinks he knows everything

He got “everything” from the customer, who knows “nothing” ;-)

Every Project Story

The developer: “I can do it in 3 months”

The PM: “You’ll do it in 2 months”

The project takes 4-5 month

Every Project Story

1st Month: Everybody is happy

2nd Month: Customer sees “something”

3rd Month: Customer makes tons of changes

The developer screams

The project manager blames …. ???

Last Month: Everybody is at office till 8-10 PMEvery DAY:

The PM: Developer, you’re not done yet? LOSER!!

Why does it happen?

Requirements are not fully understood at the beginning of the process.

Requirements change during the process.

The process becomes unpredictable when new tools and technologies are used.

Other Methodologies

CMMI

Agile

AgileWho’s this ???

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

Agile Methodologies

eXtreme Programming (XP)

Pair Programming

Test Driven Development

Continuous Integration

Refactoring, Coding Standards, etc…

Scrum

Scrum??

Prerequisites

Small Team

Good People

Common Sense

SCRUM provide a structure of

ScrumRoles

ScrumProcess

Artifacts

Roles

Product Owner

Scrum Master

Scrum Team

Scrum Roles: Product Owner

Possibly a Product Manager or Project Sponsor

That’s what we call an “analyst”

Marketing

Internal Customer

etc.

Not a technical guy, BUT ….

Scrum Roles: Scrum Master

Responsible for enacting Scrum values and practices

Manages the sprint meeting

Does the sprint reporting

Typically a Project Manager or Team Leader

Scrum Roles: Scrum Team

Cross-functional

QA

Developers

UI Designers

Architect

etc

5-10 members

Scrum Process

All Scrum Meetings are facilitated by the ScrumMaster, who has nodecision-making authority at these meetings.

Backlog Refinement Sprint

Sprint Retrospective

Sprint Planning

Daily Scrums

Sprint Review

Backlog Refinement Meeting

Most Product Backlog Items (PBIs) initially need refinement because they are too large and poorly understood. Teams have found it useful to take a little time out of Sprint Execution — every Sprint — to help prepare the Product Backlog for the next Sprint Planning Meeting.

In the Backlog Refinement Meeting, the team estimates the amount of effort they would expend to complete items in the Product Backlog and provides other technical information to help the Product Owner prioritize them.

SprintA certain period of time with specific deliverables

Lasts for 2-4 weeks – NO MORE NO LESS

Sprint

Before Start: Sprint Planning

Starts with Sprint BacklogChoose highest priority items remaining in product backlog

Ends with Deliverables

New Features Developed / Old Bugs Fixed

Sprint Zero and Sprint One might deliver documents!Architecture Documents

UI Prototype

After End: Sprint Review Product Demonstration

Product Owner declares what’s done

(Optional) Measure velocity

Stakeholder feedback

Sprint Daily Meetings

What did you do Yesterday ?

What will you do today ?

Do you have any problems ?

Sprint Daily Meetings

Stand up Meetings

15 Minutes Max.

Well, don’t exceed 30 minutes at least

Entire Team + Scrum Master

Sprint Review Meeting

After Sprint execution, the team holds a Sprint Review Meeting to demonstrate a working product increment to the Product Owner and everyone else who is interested.

The meeting should feature a live demonstration, not a report. After the demonstration, the Product Owner reviews the commitments made at the Sprint Planning Meeting and declares which items he now considers done.

Sprint Retrospective Meeting

Each Sprint ends with a retrospective. At this meeting, the team reflectson its own process. They inspect their behavior and take action to adaptit for future Sprints.

Time-Boxes

The Time-Boxes in Scrum are the:

Release Planning Meeting

Sprint

– 2 – 4 weeks

Sprint Planning Meeting

– What and how, each 4 hours for one month sprints

Daily Scrum

– 15 minutes Stand up

Sprint Review

– 4 hours for one month sprints

Sprint Retrospective

3 hours

Artifacts

Product backlog

Sprint backlog

Burndown Chart

Product BacklogList of work items during the entire project

The Product Backlog represents everything necessary to develop and launch a successful product.

It is a list of all features, functions, technologies, enhancements, and bug fixes that constitute the changes that will be made to the product for future releases.

Product backlog item

IndependentNegotiable

Valuable

Estimable

Small

Testable

Workflow & Characteristics

Sprint backlog

• At the beginning of each Sprint, the Product Owner and team hold a Sprint Planning Meeting to negotiate which Product Backlog Items they will attempt to convert to working product during the Sprint.

• The Product Owner is responsible for declaring which items are the most important to the business. The team is responsible for selecting the amount of work they feel they can implement without accruing technical debt. The team “pulls” work from the Product Backlog to the Sprint Backlog.

Sprint backlog

Definition of Done

Designed

Refactored

Coded

Code review

Design review

Unit tested

Functional tested

Unit test harness Integration tested

Regression tested

Performance tested

Security tested

User Acceptance tested

Task Dashboard

Burndown Chart

Practices

Test early and often

Build and deploy continuously

Acceptance Test Driven Development

Emergent Architectures

Refactor

Test Driven Development

Agile Database Development

Pair Programming

Business Analyst Gather Requirements Analyze Requirements Create Product Backlog

Project Manager Work Breakdown Monitor Tasks Task Control Decisions Report Project Status

Architect Conceptual Design Logical Design Physical Design

Developer Generate Code Write Custom Code Analyze and Review Code Check-in

Tester Create Test Cases Run Tests File Bugs Verify Bug Fixes

Practices

Part 2

ALM With Visual Studio Online

REQUIREMENTS

PRODUCTBACKLOG

OPSBACKLOG

MonitorImplement

WORKING SOFTWARESHARED ARTIFACTS

DefineIdeation

DevelopIdea to working software

OperateWorking software in productionValue realization

Application Lifecycle Management Removing the impediments to continuous value delivery

Users/Stakeholders

Development & testing

Operations

ACTIONABLE LEARNING

Continuous value delivery

TFS enables Visual Studio ALMTeam Foundation ServerFull lifecycle control for mission critical IT projects

Define

• Agile planning tools for stakeholder engagement

• Backlog management and capacity planning

Develop

• Developer productivity enhancements

• Continuous stakeholder feedback

Operate

• Automated build-deploy-test

• Detailed Reporting and Metrics

• Strong integration with Microsoft on-premises offerings

REQUIREMENTS

PRODUCTBACKLOG

OPSBACKLOG

MonitorImplement

WORKING SOFTWARE

Visual Studio Online 2013Cloud-hosted application lifecycle management

Managing the Lifecycle

What is Visual Studio Online?Team

Foundation Service

Planning Source Repos Work Item Tracking Continuous

Delivery (Azure) Build Automation Test Case and Feedback

Management

Plan details and subscriber benefitsIncluded for eligible MSDN subscribers:

Free Plan for up to 5 users

Unlimited number of projects Version control Work item tracking Agile planning tools Build (limits apply) Cloud Load Testing (limits apply)

Additional information at http://tfs.visualstudio.com

Accessible from anywhere

• Source code and work items are accessible from any modern web browser

• Integrates with Visual Studio and Eclipse, includes command-line client for Xcode / other developer tools

Get started quickly, with no infrastructure to manage

• Create an account in minutes, set up continuous integration in a few easy steps

• Data is stored in the cloud, making server configuration a thing of the past

• Request and manage stakeholder feedback from anyone with a Live ID/Microsoft account

All languages and platforms welcome

• From C# to Python, from Windows to Android, developers can use a variety of languages and target a variety of platforms

• Use the tools your development teams are familiar with today – Team Foundation Service helps developers focus on what they do best: building great applications

Team Foundation Service

Cloud-based source code & work item management

• Store and version control code in any language

• Integrates with Visual Studio and Eclipse, includes command-line client for Xcode / other developer tools

• Connectors to sync with Git repositories

Team collaboration and agile planning tools

• Work item and bug tracking

• Backlog management and capacity planning - Scrum, Agile, and CMMI project templates

• Kanban board and task boards

• Request and manage stakeholder feedback from anyone with a Live ID/Microsoft account

Build, continuous integration, continuous deployment

• Build services will build and run unit tests in the cloud (depends on project type)

• Supports deployment of web sites and web / worker roles directly to Azure as part of build

Team Foundation Service capabilities

A consistent experience for developersUsing Visual Studio Using Eclipse

Check In

Once your developer tool is connected to Team Foundation Service, uploading code is easy.

Gated check-in and code merging are also supported.

Uploading code is simple

Consistent web UIHome shows a Burndown chart, task tracking and notifications

DemoWorking with Agile and VS Online 2013

Contact

@moatazeldebsy

moataznabil.com/blog

Egyptian Automation Testers

Thank you ;)