Craftsmanship - Technical Disciplines vs. Agile - Business Practises

Preview:

Citation preview

Matt Harasymczuk

Cra�smanship - Technical Disciplinesvs.

Agile - Business Practises

vs.astrotech.io AstroTech.io @AstroTechIO

"Healing the divide between business andprogramming." -- Kent Beck, 1999

"Agile is dead, long live agility!" -- Dave Thomas, 2007

Agile is not only about Scrum!

Delivering business valuesLower "time to market"Increase "value to market"Increase "quality to market"Increase flexibilityIncrease visibilityLower costsIncrease product lifetime

"Continuous Integration is a so�ware developmentpractice where members of a team integrate their work

frequently, usually each person integrates at leastdaily - leading to multiple integrations per day." --

Martin Fowler, 1999

Release != Deploy

Lean Startup Cycle

Lean StartupBuild Measure Learn

Build Measure Learn

Unit Tests Split Tests (A/B) Split Tests

Usability Tests Clear Product Owner Customer Interviews

Continuous Integration Continuous Deployment Customer Development

Incremental Deployment Usability Tests Five Whys Root Cause Analysis

Free & Open Source Components Real-time Monitoring Customer Advisory Board

Cloud Computing Custom Liaison Falsifiable Hypothesis

Cluster Immune System Funnel Analysis Product Owner Accountability

Just-in-time Scalability Cohort Analysis Custom Archetypes

Refactoring Net Promoter Score Cross-functional Teams

Developer Sandbox Search Engine Marketing Smoke Tests

Real-time Alerting

Predictive Monitoring

Spotify Engineering Culture@youtube.com

Lower time to marketTest-driven DevelopmentEvolutionary Design

RefactoringCI / CD

Test-driven RequirementsFunctional TestsBDD

Increase value to marketTest-driven Requirements

Functional TestsBDD

Increase quality to marketTest-driven Development

Test-first and Test-lastTest-driven Requirements

BDDEvolutionary design

RefactoringSimple DesignCI / CD

Increase flexibilityEvolutionary Design

RefactoringSimple DesignCI / CD

Test-driven DevelopmentTest-first and Test-last

Test-driven Requirements

Increase visibilityTest-driven Requirements

Functional TestsBDDCI / CD

Lower CostEvolutionary design

Simple DesignRefactoringCollective Code Ownership

Test-driven DevelopmentTest-last and Test-firstFunctional Tests

Increase product lifetimeTest-Driven Development

Automated Developer TestsEvolutionary Design

RefactoringSimple Design

Test-driven RequirementsFunctional Tests

"Agile is not destination, agile is a direction." -- TonyGrout, IBM