agile and large teams 965302002 楊尚樺. outline introduction definition of size small-sized (or...
TRANSCRIPT
Agile and Large Teams
965302002 楊尚樺
Outline
Introduction Definition of Size Small-Sized (or Typical) Agile Team Medium-Sized Agile Team Large-Sized Agile Team Conclusion Q&A
Introduction
Author: Scott Ambler http://www.ambysoft.com/
Definition of Size
Size is in the eye of the beholder A large project is 20 percent bigger
than any project you’ve successfully accomplished in the past. [Larry Constantine]
Definition of Size
In the eye of Ambler Small-sized project team
members < 15 Medium-sized project team
15 < members < 50 Large-sized project team
50 < members
Small-Sized (or Typical) Agile Team
Small and co-located Generalizing Specialists
http://www.agilemodeling.com/essays/generalizingSpecialists.htm
Collaborate closely Learn from others
Supplement: GM vs. Toyota
F. W. Taylor 大量生產
類似傳統軟工, big release Specialists
類似傳統軟工,角色分工清楚。 裝車門的只會裝車門 裝輪胎的只會裝輪胎
代表公司 GM Chrysler Ford
Supplement: GM vs. Toyota
Toyota Production System 小批量生產
類似 Agile , small release 多能工
意思是有很多種能力的工人 類似 Agile ,角色較少,相互合作。
代表公司 Toyota
Small-Sized (or Typical) Agile Team
Team Coach Product Owner
The team
Developers
Working System
Supporting cast
Technical Experts Domain Experts Independent Testers
Part time
Full time
Product OwnerDevelopersTeam Coach
The team
Medium-Sized Agile Team
Agile DBA
Supporting cast
Technical Experts Domain Experts Independent Testers
Data modeling
Database regression testing
Continuous database integration
Database refactoring
Working System
Large-Sized Agile Team
Divide and Conquer Organize your large team into a
collections of small teams. How?
Organize you sub-team base on the architecture design.
Supplement:Conway’s Law Communication structure
of team organizations:
Architecture structure of system:
Sub Team A
Sub Team B
Sub Team C
Sub Team D
communicate with
communicate withcommunicate with
Subsystem A
Subsystem B
Subsystem C
Subsystem D
interface with
interface withinterface with
Sub team
Product OwnerTeam Coach
Agile DBA Developers
Supporting cast
Technical Experts Domain Experts Independent Testers
Large-Sized Agile Team
Architecture Owner
Coordinators
Product Ownership Team Architecture Ownership Team
Sub team
Project Management Team
Working Sub System
Working System
Create Initial Architecture
Resolve Interface Issue
Define Requirement
Divvy RequirementManage Project
Monitor Project
Conclusion
There is very little difference in the day-to-day activities of developers.
The developers are insulated from the complexities of large teams by activities of coordinators.
Sustainable Pace
Thank you
Q&A