Agile Development In Practical World A case study of using agile methodologies in a Matrix Global project By Elhanan Rosental
Apr 22, 2015
Agile Development In Practical World
A case study of using agile methodologies in a Matrix Global project
By Elhanan Rosental
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?