Leaning into diverse experiences from 18 years of large-scale product engineering and ownership, Bejoy highlights several factors across a broad spectrum of areas that contribute to making agile work at scale.
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Scaling Agile - Bejoy Jaison - Keynote at Agile and DevOps Conference Brisbane
1. Scaling Agile Bejoy Jaison
Leaning into diverse experiences from 18 years of large-scale product engineering and ownership, Bejoy highlights factors
across a broad spectrum of areas that contribute to making agile work at scale.
Look out for speaker notes like the following that make the slides easy to read
Brisbane, Australia
Agile and DevOps Conference
Keynote: Scaling Agile
Speaker:
Bejoy Jaison
3. vs
what is scale?
Scale signifies size and complexity
Usually:
• is expensive and valuable
• has a bigger purpose, although the Eiffel Tower was just an
entrance to the World Expo.
• is widely used, so characteristics like strength and robustness
are desirable
• needs more than one type of material (non-homogenous)
• being complex, rework is expensive
4. three goals for today
keep it simple
stick to fundamentals
be framework-agnostic
• Frameworks abstract problem with ready-made solutions. Today, I want to deconstruct frameworks and talk about some
issues frameworks try to address. We will also look at other areas that make a big impact on agile at scale.
• I also wish to stay away from foreign language, especially Japanese, terms that are widely used by Agile speakers
6. a simplistic view of agile
the capability to adapt in order to deliver value efficiently
an environment that promotes and sustains this capability
Capability: We have put people on the moon. At least that’s what we are led to believe.
Sustainability: People can thrive and create communities on the moon.
At scale, capability without sustainability will die off soon. That is why it is important for agile transformations to
holistically look at creating sustainable capability, structures and ways of working.
7. building capability
technical leadership
problem-solving managing complexity
what kind of skills and experience are essential for scale?
From personal experience, there isn’t necessary appreciation for skills required to actually deliver solutions outside of product
development companies.
• At scale, solid skills with maturity is crucial to get things right the first time
• Leadership, devoid of insecurity and personal ego, is required to wear multiple hats or deep-dive
• Without problem-solving skills, impediments remain forever and workarounds just add layers of duct tape or bandage.
• At scale, building a solution is about people being able to find ways to breakdown and simplify.
8. traditional team structure
team 1
team 2
team 3
team 4
team 5
teams are aligned based on specific skill-sets or components/systems that they own.
owns component a
owns components b, c
owns component d
owns component e
owns components f, g
feature1
feature2
feature3feature4
feature
backlog
feature 5
feature 6
feature 7
feature 8
feature 9
feature 10
feature 11
feature 12
feature 13
feature 14
feature 15
challenges
• dependencies, including circular
• context-switching within teams
• decision-making across teams
9. feature-based teams
feature team 1
feature team 2
feature team 3
feature team 4
feature team 5
benefits
• multiple, parallel pipelines of work
• minimized dependencies and wait
• faster decision-making within teams
challenges
• resourcing and training
• niche skills as Communities of Practice
Cross-functional teams having all (or almost all) the skills to deliver any feature from the pipeline
feature 1
feature 2feature 3
feature 4
feature 5
feature 6
feature
backlog
feature 7
feature 8
feature 9
feature 10
feature 11
feature 12
feature 13
feature 14
feature 15
feature 16
feature 17
With feature-based teams
• scaling can be done by finding efficient ways to
creating more teams
• the focus shifts to breaking down requirements
into smaller features that could be delivered
independently
• new models required for support and operations
10. leadership
• orchestration to maximize value, sustain focus and drive feedback
• scale puts pressure on leadership
• focused roles to drive/facilitate niche areas across teams
The role of leadership in agile environments is to
• maintain conditions favorable to agility.
• ensure focus at every level of breakdown
• ensure focus for every critical area
• facilitate visibility of value by reporting
• create mechanisms for collaboration and feedback
• reduce variance in technologies and ways of working across parts of the organization
Focused roles could include
• Release management
• Integration experts
• Test architecture
Having experienced agile practitioners who can wear multiple hats are very valuable to deep dive and solve problems.
11. engineering
Millau Viaduct by Stefan Krause, Germany - Self-photographed, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=8990774
Build in France more than 100 years after the Eiffel Tower, the Millau Viaduct is another design and technology marvel at scale.
12. architecture & design design patterns specification
solution engineering
• monolithic vs modular
• componentization
• testability
• documented vs undocumented
• enable parallel development
• BDD/ATDD
• simplify complex models
• common design language
• With feature-based teams,
only modular architectures
allow parallel feature
development.
• Share story from Nokia.
• Specification helps to
articulate and refine
understanding.
• Drives collaboration and
shared understanding.
• Share story on Swagger specs
• Allows easy collaboration on
solutions.
13. software engineering
branching strategy
code quality
CI/CD capability
automation choices
devops
traceability
1. CI/CD capability
• Continuous integration -> Continuous testing -> Continuous delivery
• At scale, the benefits from end-to-end automation is exponential.
• Be prepared to invest in eliminating difficult automation problems. Custom problems need custom solutions.
2. DevOps
• Not just infrastructure orchestration and automated deployment
• Continuous feedback between operations and development.
• Story: Splunk dashboards helping to reduce our operations and troubleshoot effort.
14. software engineering:
branching strategy
feature branches git flow feature toggles
vs vs
https://i.stack.imgur.com/J4QQd.png
https://datasift.github.io/gitflow/GitFlowHotfixBranch.png
https://martinfowler.com/articles/feature-toggles.html
Select a strategy that considers release cadence as well as constraints related to test environments
• At scale and complexity, traditional or git-flow strategies are sometimes difficult depending on
complexity and cost of test environments.
• Feature toggling helps eliminate the feature-readiness decision making until after deployment.
15. software engineering:
quality of code as well as test
• code quality metrics
• test coverage
Code Quality
Often, an actual physical solution contains only four things:
• Code
• Configuration
• Integration of various components
• Documentation
Code often has the biggest impact.
Code Coverage
Test coverage helps understand risks around testing.
Good regression coverage is essential for continuous delivery.
16. software engineering:
automation choices
• invest in solid test tools, frameworks and skills
• explore keyword-based tools to scale automated testing to business/UAT
• expand scope to cover contract testing
• embrace continuous testing
• automate analysis to deal with large volume of failures
• replace niggling and error-prone configuration with automation
• Modern commercial test automation tools and frameworks have state-of-art features like object recognition, model-based or keyword-
based testing as well as end-to-end CI/CD integration. They could provide significantly higher efficiency and ROI compared to the
turnaround time and energy required for older code-based tools like Selenium.
• Insert story about using Ranorex to churn out 100+ test cases a day and thus substantially increasing code-coverage
17. software engineering:
traceability
• the holy grail of IT and software development
• provides real-time visibility of value for decision making
• result of selecting the right set of tools
18. OrganizationalAlignmentNeededHigh-><-Low
Impact to Project Cost High -><- Low
Breaking down
features
Single prioritized backlog
Daily team stand-up
Incremental/Iterative
development
Code quality
Regular business
feedback
Automated &
continuous testing
Automated and
continuous builds
Continuous delivery with
automated governance
Cross functional, empowered
teams
Modular architecture &
design
the significant ones
19. collaboration
Since scale often requires large groups of people working across multiple locations, effective collaboration and way-of-working strategies are
crucial to get the most out of delivery teams.
20. collaborative continuous delivery at scale
teams
CI/CD infrastructure
implementation
and quality
automated
delivery
architecture documents
design specifications
value and realization
plan
delivery
metrics
automated
governance
requirements & stories
automated test scripts
code reviews
build scripts
deployment scripts
infrastructure &
provisioning
test cases test plans
code and configuration
defects
governance criteria
dev
test &
automation
business devops
release
management
architecture
acceptance tests
Scale highlights the importance of engineering and collaboration tools that help teams work with each other, yet focus on
their own skills and artefacts.