agile development in practical world

Post on 22-Apr-2015

620 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

Agile development basics, scrum, XP, Sprint and all the other terms explaned deeply by Elhanan Rosental - Matrix Global/TACT (Israel)

TRANSCRIPT

Agile Development In Practical World

A case study of using agile methodologies in a Matrix Global project

By Elhanan Rosental

• R&D Group Manager

• Agile and .Net leader in Matrix Global

Email: Elhananro@matrix.co.il

Short Intro

Synerion New Product Project

•4 Scrum teams

•1 Near shore Scrum team

•1 Offshore team

•More than 40 people

•All are working on Microsoft technologies

Henrik Kniberg

4

Lean

XP

Agile

TDD Continuous

Integration

What is all this stuff?

5

What is ”Agile”?

http://agilemanifesto.org

• Cross-Functional Self organizing

teams

•Time boxed incremental delivery

•Prioritized product backlog

•Inspect and adapt

4 Pillars of scrum

Scrum Framework

•Product owner •Scrum Master •Team

Roles

•Product backlog •Sprint backlog •Burndown charts

Artifacts

•Sprint planning •Sprint review •Sprint retrospective •Daily scrum meeting

Ceremonies

Sprint Planning

Scrum Process Overview

10 - 30 days

24 hours

Product Backlog As prioritized by Product Owner

Sprint Backlog

Backlog tasks expanded by team

Potentially Shippable Product Increment

Daily Scrum Meeting

Source: Adapted from Agile Software Development with Scrum by Ken Schwaber and Mike Beedle.

Daily Example

Name What have I done

yesterday?

What will do today? Remarks Automation

Break

Chagit Task 6212,6218-Serach

by Flexible Fields in

Staffing Request and

customer Select

Bug Fix+UT Problems in job flexible

fields in job SDV prevent

closing the task for job

No

Chedva Task 5978-Integrate

Mail Listener

Task 5980-Integrate

new document

services

No

Sari Reich Flexible fields in SDV Flexible fields in SDV A mail with problems was

sent to Kostia

No

Sari Shachar Task 5984- Add Flexible

fields to Select results

grid

Task 5984- Add

Flexible fields to Select

results grid

No

Margalit Changing fields to new

localized string (5 lang)

Changing fields to new

localized string (5 lang)

SDV definitions will have to

be changed as well

No

Efrat Task 5970 Tasks 5970,5972 No

Rivki STD for Integration tests Candidate WF

integration tests

Hana STD for task

5986+testing

Son!!!

Ruth Testing SDV-Staffing

Request

Testing SDV-Staffing

Request

Retrospective Example

• Well:

• There was time to have UT

• Code was improved because of UT

• Bugs were found because of UT

• 1 Week stabilize was very efficient

• QA was very good and relaxed (UT prevented many bugs) • Not So Well:

• Some developers didn’t have development tasks

• WSS didn’t work

• We don’t have a local reporting environment • Want to try

• STD for stabilize tests.

• Everyone should know how to operate Azman

XP Practices

XP Practices

Product Quality

•Sprint is a short iteration

•Very important never to increase the technical

debt

•Use tools and guidelines that help you save

time and improve quality

Testing

•Unit testing

•TDD

•Automaton Testing

Unit Test Coverage

• Using NDepend to identify complex code areas.

• Using NCover to find the coverage.

Code Quality

•Coding Standards

•Refactoring

•Design Patterns

•DDD-Domain Driven Design

•Code Reviews

Coding Standards

• Idesign Standards

•Resharper

•Style Cop

Pair Programming

Questions?

top related