View
221
Download
3
Category
Preview:
Citation preview
copyright (c) Net Objectives, Inc. All Rights Reserved.
10 December 2013
1
Al ShallowayCEO, Net Objectives
SAFe Architectural Runway
© Copyright Net Objectives, Inc. All Rights Reserved 2
Al Shallowayalshall@NetObjectives.com
@AlShalloway
CEO, Founder
copyright (c) Net Objectives, Inc. All Rights Reserved.
10 December 2013
2
© Copyright Net Objectives, Inc. All Rights Reserved 3
ASSESSMENTS
CONSULTINGTRAININGCOACHING
Product Portfolio ManagementProduct ManagementLean for ExecutivesSAFe for ExecutivesScaled Agile Framework
Leading SAFeSAFe Program Consultant
Lean ManagementProject Management
Kanban / Scrum ATDD / TDD / Design PatternsSAFe Scrum/XP
technicaltechnical
p o d c a s t s
processprocess
© Copyright Net Objectives, Inc. All Rights Reserved 4
a day of SAFe
Achieving Scale
Architectural Runway
Kanban
Achieving Scale
Architectural Runway
Kanban
what to watch if interested in SAFe
Executive Overview
Executive Overview
what to watch if not interested in SAFe
Q&A
copyright (c) Net Objectives, Inc. All Rights Reserved.
10 December 2013
3
© Copyright Net Objectives, Inc. All Rights Reserved 5
all with minimal risk
© Copyright Net Objectives, Inc. All Rights Reserved 6
1. Design emerges2. Bigger systems require longer runways3. Quality high, complexity minimized4. Build & test together5. Holistic innovation6. Implement architectural flow
Principles of Agile Architecture
copyright (c) Net Objectives, Inc. All Rights Reserved.
10 December 2013
4
© Copyright Net Objectives, Inc. All Rights Reserved 7
Emergent DesignBuild to what you knowMaintain high qualityLearn as you goMitigate risk
© Copyright Net Objectives, Inc. All Rights Reserved 8
When working on a mature system consider when adding a new function…
which task area takes more time
– writing the new function or
– integrating it into the system?
Question to Ask
Why?
Suggest due to
– Redundancy
– Lack of encapsulation
copyright (c) Net Objectives, Inc. All Rights Reserved.
10 December 2013
5
© Copyright Net Objectives, Inc. All Rights Reserved 9
architecturewhat is architecture?• Structure• Layers• Underlying technology
What can’t be changed?
© Copyright Net Objectives, Inc. All Rights Reserved 10
architecturewhat if…integrating functionality wasn’t hard?
we weren’t tied to our system’s architecture?
we were truly object‐oriented?
copyright (c) Net Objectives, Inc. All Rights Reserved.
10 December 2013
6
© Copyright Net Objectives, Inc. All Rights Reserved 11
Not trying to anticipate change
Cannot prevent change
Designing to accommodate change requires
• Layered architectures• Code clarity and
maintainability
© Copyright Net Objectives, Inc. All Rights Reserved 12
architectureHow do we allow for evolutionary architecture?
How do we make system architecture decisions in an Agile environment?
there is a parallel between agile architecture and agile discovery
copyright (c) Net Objectives, Inc. All Rights Reserved.
10 December 2013
7
© Copyright Net Objectives, Inc. All Rights Reserved 13
The day I lost an (imaginary) argument with “Uncle” Bob Martin.
© Copyright Net Objectives, Inc. All Rights Reserved 14
Framework NeededSeveral UIsSeveral different business logicsBrain overload
Lessons learned:• Solve smaller problems• While preparing for what’s coming
copyright (c) Net Objectives, Inc. All Rights Reserved.
10 December 2013
8
© Copyright Net Objectives, Inc. All Rights Reserved 15
Refactoring Bad Code
Code "smells"
Improve Design without changing Function.
Refactor to improve code quality
A way to clean up code without fear of breaking the system
Types of Refactoring
The day I “kidnapped” Martin Fowler
© Copyright Net Objectives, Inc. All Rights Reserved 16
Refactoring Bad Code Refactoring Good Code
Code "smells"
Improve Design without changing Function.
Refactor to improve code quality
A way to clean up code without fear of breaking the system
Code is "tight"
A new Requirement means code needs to be changed
Design needs to change to accommodate this.
A way to make this change without fear of breaking the system
Types of Refactoring
copyright (c) Net Objectives, Inc. All Rights Reserved.
10 December 2013
9
© Copyright Net Objectives, Inc. All Rights Reserved 17
When your design is insufficient, refactor it before adding new functionality
© Copyright Net Objectives, Inc. All Rights Reserved 18
Emergent design alone is insufficient at scaleIntentional architecture is necessaryCreate big picture for local decisionsFactors outside of Agile Release Trains drive intentional architecture
• Usability, extensibility, performance
• Cross‐cutting patterns
copyright (c) Net Objectives, Inc. All Rights Reserved.
10 December 2013
10
© Copyright Net Objectives, Inc. All Rights Reserved 19
Intentional architectureDriven by event horizon
• Close in work building now• Prepare for next PSI• Conceptualize anything further out
Similar to decomposition of functional stories
© Copyright Net Objectives, Inc. All Rights Reserved 20
all collaborate together
Program Portfolio
Management
Agile Teams
Product Management
Enterprise Architect
System Architect
System Team
Collaboration across the value stream
Agile Release Train
Direct trains to work on most important items
Ensure proper architecture is in place
to allow for this
Sequence work to improve value delivery
& lower risk
copyright (c) Net Objectives, Inc. All Rights Reserved.
10 December 2013
11
© Copyright Net Objectives, Inc. All Rights Reserved 21
Program Level Architect
Enterprise Architect
Portfolio and Program Collaboration
Team
sPo
rtfolio
Program System Team
When decisions arise at the portfolio
Enterprise creates context for programs
© Copyright Net Objectives, Inc. All Rights Reserved 22
Program Level Architect
Enterprise Architect
Portfolio and Program Collaboration
Team
sPo
rtfolio
Program System Team
When decisions arise at program
Communicated to enterprise for future roll‐out to other programs
copyright (c) Net Objectives, Inc. All Rights Reserved.
10 December 2013
12
© Copyright Net Objectives, Inc. All Rights Reserved 23
Business Stakeholders
Product ManagementSystem architects
Enterprise Architect
Responsibilities of Enterprise ArchitectInitiatives & strategy of enterprise architectureDrive architectural epics (and manage WIP)Synchronizes production infrastructure & NFRs across solutions whenever applicable
© Copyright Net Objectives, Inc. All Rights Reserved 24
1. Design emerges2. Bigger systems require longer runways3. Quality high, complexity minimized4. Build & test together5. Holistic innovation6. Implement architectural flow
Principles of Agile Architecture
copyright (c) Net Objectives, Inc. All Rights Reserved.
10 December 2013
13
© Copyright Net Objectives, Inc. All Rights Reserved 25
Use Spikes To Prepare Stories Spikes investigate unknowns
Spikes are estimated, time‐boxed and use up velocity
Architect provides guidance
PSI n PSI n + 1
Architectural Feature
Tech story
Tech story
Tech story
refactor refactor
refactorspike
spike
Architect provides guidance
© Copyright Net Objectives, Inc. All Rights Reserved 26
Other MethodsMocksDefer Decisions
copyright (c) Net Objectives, Inc. All Rights Reserved.
10 December 2013
14
© Copyright Net Objectives, Inc. All Rights Reserved 27
1. Design emerges2. Bigger systems require longer runways3. Quality high, complexity minimized4. Build & test together5. Holistic innovation6. Implement architectural flow
Principles of Agile Architecture
© Copyright Net Objectives, Inc. All Rights Reserved 28
Design SimplicityBest code quality for today, none for tomorrowHigh code quality means easier extensibility
Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage.
Principle 2 of Agile Manifesto
copyright (c) Net Objectives, Inc. All Rights Reserved.
10 December 2013
15
© Copyright Net Objectives, Inc. All Rights Reserved 29
Best PracticesFollow mandates of design patterns
• Separation of concerns• Delegation• Encapsulation• No redundancy
Test‐First
© Copyright Net Objectives, Inc. All Rights Reserved 30
1. Design emerges2. Bigger systems require longer runways3. Quality high, complexity minimized4. Build & test together5. Holistic innovation6. Implement architectural flow
Principles of Agile Architecture
copyright (c) Net Objectives, Inc. All Rights Reserved.
10 December 2013
16
© Copyright Net Objectives, Inc. All Rights Reserved 31
Fundamental Agile test philosophyThose who build it shall test it.
Test‐first.
Automated testing, continuous integration.
Teams must comply with Release Train, enterprise‐wide conventions
© Copyright Net Objectives, Inc. All Rights Reserved 32
Attending to testability is designHigh testability results in high code quality
• Follows mandates from design patterns
Testability requires separation of:• UI from business logic• System architecture from application architecture
• Use from creation
copyright (c) Net Objectives, Inc. All Rights Reserved.
10 December 2013
17
© Copyright Net Objectives, Inc. All Rights Reserved 33
1. Design emerges2. Bigger systems require longer runways3. Quality high, complexity minimized4. Build & test together5. Holistic innovation6. Implement architectural flow
Principles of Agile Architecture
© Copyright Net Objectives, Inc. All Rights Reserved 34
Innovate at all levels• Teams must have time to keep quality high
• Hardening, Innovation, Planning (HIP) sprints are one opportunity
• We write quality code all of the time
“Inertia is the residue of past innovation efforts. Left unmanaged it consumes the resources required to fund next‐generation innovation.”
Geoffrey Moore
copyright (c) Net Objectives, Inc. All Rights Reserved.
10 December 2013
18
© Copyright Net Objectives, Inc. All Rights Reserved 35
Enterprise Scale Initiatives
Architectural epics represent cross‐cutting initiatives and are peers to business epics (Enterprise architect is owner)May span multiple Agile Release Trains (ARTs) and require coordinationEnterprise Architect leads the architect team that drives the implementation of epics in ARTsEffective flow of architectural work is achieved via Epic Kanban
© 2008 - 2013 Scaled Agile, Inc. and Leffingwell, LLC. All rights reserved.
© Copyright Net Objectives, Inc. All Rights Reserved 36
1. Design emerges2. Bigger systems require longer runways3. Quality high, complexity minimized4. Build & test together5. Holistic innovation6. Implement architectural flow
Principles of Agile Architecture
copyright (c) Net Objectives, Inc. All Rights Reserved.
10 December 2013
19
© Copyright Net Objectives, Inc. All Rights Reserved 37
Architectural EpicsPeers to business epicsEnable sustainability of business valueCross‐cutting: products, systems, solutions
Arise from:• New opportunities• Changing technologies• Improving existing systems• Reduction of duplication
Examples:• Frameworks• Cross‐organization systems• Replacing systems
© Copyright Net Objectives, Inc. All Rights Reserved 38
Business Epics Architectural Epic
Portfolio Kanban
Product Manager
Deliver in Stages
Holistic View
Runs across trains as needed
Portfolio Kanban
Enterprise Architect
Run across PSIs as needed
Across Enterprise
Cross‐train impact
Architectural Epics Managed Similarly, but Separately
copyright (c) Net Objectives, Inc. All Rights Reserved.
10 December 2013
20
© Copyright Net Objectives, Inc. All Rights Reserved 39
Use Spikes To Prepare Stories Spikes investigate unknowns
Spikes are estimated, time‐boxed and use up velocity
Architect provides guidance
PSI n PSI n + 1
Architectural Feature
Tech story
Tech story
Tech story
refactor refactor
refactorspike
spike
Architect provides guidance
© Copyright Net Objectives, Inc. All Rights Reserved 40
Architectural RunwayA pragmatic view to Agile architectureRisk drivenQuality drivenAvoids waste of too much & not enough
copyright (c) Net Objectives, Inc. All Rights Reserved.
10 December 2013
21
Al Shallowayemail: alshall@netobjectives.comTwitter tag @alshalloway
Register at www.netobjectives.com/register to receive notices of monthly webinarsSee www.netobjectives.com/resources
See upcoming SPC courses in Seattle (1/14‐17) and Atlanta (2/18‐21)www.netobjectives.com/events
Thank You
© Copyright Net Objectives, Inc. All Rights Reserved 42
ASSESSMENTS
CONSULTINGTRAININGCOACHING
Product Portfolio ManagementProduct ManagementLean for ExecutivesSAFe for ExecutivesScaled Agile Framework
Leading SAFeSAFe Program Consultant
Lean ManagementProject Management
Kanban / Scrum ATDD / TDD / Design PatternsSAFe Scrum/XP
technicaltechnical
p o d c a s t s
processprocess
copyright (c) Net Objectives, Inc. All Rights Reserved.
10 December 2013
22
© Copyright Net Objectives, Inc. All Rights Reserved 43
Public Course11 Dec Essence of Agile: From Team to Full Stream
SAFe Courses14 Jan SAFe Program Consultant Certification (Seattle)18 Feb SAFe Program Consultant Certification (Atlanta)
Questionsemail: alshall@NetObjectives.com
twitter: @alshalloway
Recommended