Spring Boot vs Quarkus the ultimate battle - DevoxxUK
AgileCamp 2014 Track 1: Enterprise Scaling Patterns and Anti Patterns
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16. Pattern Name
Depending on Roadmap & Release Planning
Aspect
Dependencies
Problem
Multiple dependencies within a project across teams, hardware and software technologies
Context
Dependencies not realized until it’s too late
Difficult to plan with dependent teams
Issues came up for dependencies not resolve in time
Integration issue across dependent teams
Solution
When conducting high level roadmap planning, identify dependent team(s), involve their leaders in roadmap
planning together
Dependent team(s) participate in release planning, involve– create & groom their stories, estimate,
sequencing stories, slot stories in sprints within release window, commit together
Track dependency status and conduct regular release plan review with representatives from each
dependency team
Conduct Scrum of Scrums during those sprints where stories have dependencies across teams,
representatives from each team
Release demo across each team
Where it used
Precor fitness, across 3 client consoles teams, 1 backend teams, 1 hardware team
17. Pattern Name
Plan for the New & Maintaining the Old
Aspect
Large Scale Planning
Problem
Have existing mature products, and developing next generation for multiple product lines
Context
Need to produce new product(s)
Needs to fix bugs and produce small existing product enhancement regularly
Team specialize only in silo business domain, creating problem down the road when in maintenance mode
Solution
Use iterative methodology (Scrum) for developing new product(s)
Use Kanban for existing product enhancement and bug fixes
Rotate delivery team to focus on new product development vs. maintenance, every quarter
Streamline release planning, only for dedicated product teams
Where it used
GE Healthcare, out-patient product line, across 10 delivery teams
18. Anti-Pattern Name
Anti-Pattern - Plan for the New & Maintaining the Old
Aspect
Large Scale Planning
Problem
Have existing mature products, and developing next generation for multiple product lines
Context
Need to produce new product(s)
Needs to fix bugs and produce small existing product enhancement regularly
Team specialize only in silo business domain, creating problem down the road when in maintenance mode
Ineffective Solution
Each development team develop for new product as well as maintaining existing product
Put a large size story as place holder for bug fixes in each Sprint
Where it used
A large online payment company
19. Anti-Pattern Name
Permafrost
Aspect
Role & Responsibility Outside
of Team
Problem
Multi layers of management, teams are Agile, managers are not
Context
Middle managers still in command-in-control mode
Managers assign tasks for each team member
Ineffective Solution
Development managers play dual roles as ScrumMaster and manager
Where it used
A large eCommerce company
20. Pattern Name
Keep it close and keep it far
Aspect
Dispersed Organization
Problem
Multiple development centers across the world
Context
Distributed specialties across different time zones and locations, e.g. developers, testers, UX
Solution
Re-organize teams to maximize co-location to form cross functional teams, with the following preference
order
o Co-located within same location
o Time zones with maximum overlapping time
Re-organize work space to allow members from same delivery team in the same office space
Whenever team member leaves, back fill in the same location where the majority of team members resides
Where it used
Large online payment company, teams across US, APAC, India
21. Pattern Name
Remote Product Owners
Aspect
Dispersed Organization
Problem
All Product Owners are in one location, development teams are else where with large time zone gaps
Context
Remote Product Owners or business stakeholders from the delivery team
Solution
Create proxy Product Owner role local with the delivery team members
Regular sync-up and Q&A sessions between delivery team and Product Owner, e.g. PO attend team standups
2 times a week
Use collaborative space for offline communication, e.g. wiki
Delivery team record demo as soon as each story is completed, PO accept/not-accept story based on
recorded demo
Use high bandwidth communication mode during ceremonies, e.g. video conference
Where it used
Areva, delivery teams in Shanghai, POs in west coast US