agile development in practical world

19
Agile Development In Practical World A case study of using agile methodologies in a Matrix Global project By Elhanan Rosental

Upload: perfecto-mobile

Post on 22-Apr-2015

620 views

Category:

Technology


0 download

DESCRIPTION

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

TRANSCRIPT

Page 1: Agile development in practical world

Agile Development In Practical World

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

By Elhanan Rosental

Page 2: Agile development in practical world

• R&D Group Manager

• Agile and .Net leader in Matrix Global

Email: [email protected]

Short Intro

Page 3: Agile development in practical world

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

Page 4: Agile development in practical world

Henrik Kniberg

4

Lean

XP

Agile

TDD Continuous

Integration

What is all this stuff?

Page 5: Agile development in practical world

5

What is ”Agile”?

http://agilemanifesto.org

Page 6: Agile development in practical world

• Cross-Functional Self organizing

teams

•Time boxed incremental delivery

•Prioritized product backlog

•Inspect and adapt

4 Pillars of scrum

Page 7: Agile development in practical world

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

Page 8: Agile development in practical world

Sprint Planning

Page 9: Agile development in practical world

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.

Page 10: Agile development in practical world

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

Page 11: Agile development in practical world

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

Page 12: Agile development in practical world

XP Practices

XP Practices

Page 13: Agile development in practical world

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

Page 14: Agile development in practical world

Testing

•Unit testing

•TDD

•Automaton Testing

Page 15: Agile development in practical world

Unit Test Coverage

• Using NDepend to identify complex code areas.

• Using NCover to find the coverage.

Page 16: Agile development in practical world

Code Quality

•Coding Standards

•Refactoring

•Design Patterns

•DDD-Domain Driven Design

•Code Reviews

Page 17: Agile development in practical world

Coding Standards

• Idesign Standards

•Resharper

•Style Cop

Page 18: Agile development in practical world

Pair Programming

Page 19: Agile development in practical world

Questions?