EXTENT-2016: Delivering Quality from Chaos

17
Delivering Quality From Chaos Jeremy Norwood

Transcript of EXTENT-2016: Delivering Quality from Chaos

Page 1: EXTENT-2016: Delivering Quality from Chaos

Delivering Quality From Chaos

Jeremy Norwood

Page 2: EXTENT-2016: Delivering Quality from Chaos

Project Delivery

“is providing a solution on time, on budget and to the required quality that

solves the identified problem”

Page 3: EXTENT-2016: Delivering Quality from Chaos

Quality

“is the degree of conformance to explicit or implicit requirements and

expectations ”

Page 4: EXTENT-2016: Delivering Quality from Chaos

Chaos

“is the property of a complex system whose behaviour is so unpredictable as

to appear random, owing to great sensitivity to small changes in

conditions”

Page 5: EXTENT-2016: Delivering Quality from Chaos

Content

1. Contributors

2. Symptoms

3. Diagnosis

4. Survival

5. Summary/Q&A

Page 6: EXTENT-2016: Delivering Quality from Chaos

CONTRIBUTORS – Industry Sector

Page 7: EXTENT-2016: Delivering Quality from Chaos

CONTRIBUTORS – Product & Technology

SectorContext

Product DiversityAsset Class Variance

Exchange vs OTC Cleared vs Not

Client DiversityInstitutional to

IndividualHuman to Machine

Reg. DiversityRegulated vs NotRegional & Global

Differences

Software

Programming Languages

Too Many to Name

Development Methodologies

Immature & Evolving

Multi Dimensional Challenges

Complex Logic, Latency, Big Data

Hardware

NetworkGlobal Data Super

Highway

Servers / StoragePhys vs VM vs Cloud

Linux vs Windows

Embedded Hardware & O/S Programming

Highly Skilled & Niche

Testing

Testing CoverageNever Enough

Scenarios

Multi LayerFunc & Integration

Perf & CapacitySecurity & DR

Test ToolsSwiss Army knife

required

Page 8: EXTENT-2016: Delivering Quality from Chaos

CONTRIBUTORS – People & Culture

Culture & Language & Social

Company Culture & Values

Team Behaviours & Dynamics

Individual Personalities

& Needs

Page 9: EXTENT-2016: Delivering Quality from Chaos

SYMPTOMS – Recognising the Signs• Overly Complex and Inflexible Solutions• Low Innovation• High Defect Rates and Poor Quality• Unstable Operations and Costly to Maintain

Technology

• Long Hours• Poor Collaboration Between Teams• Low Level of Trust• High Staff Turnover

People

• Missed Deliverables & Milestones• High Levels of Rework• Cost Overruns• Low Levels of Continuous Improvement

Project

Page 10: EXTENT-2016: Delivering Quality from Chaos

DIAGNOSIS – How Chaotic are Things? Low Chaos =============================================> Extreme Chaos

1 2 3 4 5 6 7 8 9 10

Well Known/Defined Requirements Exploratory/Fluid

Low Speed High

Flexible/Long Term Deadlines Fixed/Short Term

Low Innovation High

Low Change & Uncertainty High

Low Dependencies & Interdependencies High

Dedicated Team Availability Multitasking

Available Sponsor Unavailable

Available Customer Unavailable

Low Technical Complexity High

Low Org Complexity & Politics High

Co-Located Geographical Diversity Dispersed

Low Market Complexity High

Page 11: EXTENT-2016: Delivering Quality from Chaos

SURVIVAL – Be Realistic, Consider Future Obstacles• Expect uncertainty– Little or no relationship between cause and

effect– Manage through small iterations, anticipation

and adaptation– Have contingency plans ready to go– Challenge assumptions

Page 12: EXTENT-2016: Delivering Quality from Chaos

SURVIVAL – Keep it Simple and Be Agile

• Keep it Simple

• Be Agile– “Having A Quick, Resourceful And Adaptable

Character”– A way of thinking, not a defined process

Simple clear purpose and process give rise to complex intelligent behaviours. Complex

rules and regulations give rise to simple, stupid behaviours.

Dee Hock, Founder Visa Credit Cards

Page 13: EXTENT-2016: Delivering Quality from Chaos

SURVIVAL – Synchronise Activities

• Apply Dynamic Planning & Control– Act, Sense, Respond

• Use best fit Dev and Test lifecycle– Ensure teams are synchronised

• Avoid Domino Effect– Decouple activities and create Buffers– Manage “technical debit” built up over time

Page 14: EXTENT-2016: Delivering Quality from Chaos

SURVIVAL – Understand the Dependencies

Functional/Non Functional

ProjectDeliverables

Software/Hardware

Page 15: EXTENT-2016: Delivering Quality from Chaos

SURVIVAL – Use Data

• Consider all sources of data

• Analyse and identify patterns– Don’t focus on root cause (no relationship between cause & effect)

• Make small and quick decisions, check impact and adjust– Remember chaotic environments are sensitive to small changes

Page 16: EXTENT-2016: Delivering Quality from Chaos

SURVIVAL – Advanced Strategies

• Chaos Engineering/Testing– Failure is unavoidable so deliberately introduce (via a

Monkey)• Latency monkey, Security Monkey, Janitor Monkey etc

– http://principlesofchaos.org/– http://testingsoftwarehelp.com/what-is-chaos-testing-

engineering/

• Extreme Project Management– http://www.dougdecarlo.com/

Page 17: EXTENT-2016: Delivering Quality from Chaos

IN SUMMARY

• Recognise and embrace chaos– It’s in the DNA of Finance sector and Technology

• Understand your environment– Consider all the influencing factors

• Combat complexity with agility– Adopt an agile and flexible mind set– Look ahead and anticipate uncertainty– Use data to inform decision making and check impact