Date post: | 18-Feb-2017 |
Category: |
Internet |
Upload: | abdul-salam |
View: | 195 times |
Download: | 1 times |
Architecture parallels for scaling
Agile -Abdul Salam @ aconex
Why the topic?
Business wants to scale IT
Business wants IT to go agile
But no adequate support for agile practices
Do you believe in Agile?
Our mission
Build a compelling business case to support agile practices
Architecture has solved scaling problems
Agile & Architecture share striking similarities
Why should I listen to You?
I’m one among You
I’ve built teams
Lets start…
What is Scaling?
More Users More Feature Requests
Architecture Teams
Ability of a system to maintain behaviour under high loads
Distribution,Redundancy,
Loose Coupling,High Cohesion,Fault Tolerance,
Autonomy
Systems that scale share some common principles
Architecture parallels for Agile Practices
Distribution is a reality and will continue to be..
More networked devices,IoT, More Data, More network traffic, more data analysis. Processor is lagging behind network traffic growth. So multiple processors. Array of small processors are cheaper.
Fast paced business, more business features, cannot find enough developers in one location. More leverage of timezone differences. Cost.
Architecture Teams
Redundancy
Faster Response, Fault Tolerance
More delivery throughput, Business Continuity
Architecture Teams
Redundancy Continued…
Data/Process Redundancies: Web Clusters, Hadoop, Cassandra
Skill Redundancies: Pairing, Pair rotation Process Redundancies: Feedback: Pairing, Local Builds,CI BuildsFeedback: Pairing, Standup, Retro, Demo….
Architecture Teams
Distribution makes it hard…
Data Consistency across networked nodes
Alignment On Culture and Practices
Architecture Teams
Architecture parallels for Team Structures and
Principles
Consistency in Principles,Contracts
Java,Maven,Jenkins
Ruby,Rake,Go CI
Java,Gradle,
Team City
Consumer Driven Contracts,
REST/HTTP
Scrum,Skype
KANBAN,IRC
ScrumBAN
Hangout
Responding to business is
topmost priority,Topic
Channels over personal contacts
Autonomy in implementation
Consistency in Principles
Autonomy in practices
Architecture Teams
High Cohesion
OrderPayments
Customer
Order Payments
Customer
Loose Coupling
Architecture Teams
OrderOrder OrderOrder
Independent Scalability
Fault Tolerance
Graceful Degradation of Services, Circuit Breakers
Leaner cut of Priority Features, Empower for Local Decision making
Architecture Teams
Session Serialisation Minimise people dependency
Get Agile Right, IT will Scale
How do I get it to work?
Strong Product Management
Usability
Feasibility
Viability
UX Tech
Business
Divergence Convergence
The economics of scale
Viability and Feasibility of Scale
Commodity General Purpose Hardware - Substitutability- Cost Advantage- On Demand Provisioning
Learning Generalists(Commoditise knowledge*)- Substitutability- Cost Advantage- Dynamic team formation*
Architecture(Cloud) Teams
and finally
Shift in thinking from Cost per part Accounting to
Throughput Accounting
Thank You!
https://in.linkedin.com/in/abdul-salam-909b5b32