Software Craftsmanship By Fadi Stephan
Agile Engineering
Fadi Stephan • 15+ years of experience in software
development
• Consultant with Excella Consulting
• Focused on Agile since 2006
– Agile readiness & maturity assessments
– Agile coaching & mentoring
– Agile principles & software engineering training
• Founder of the DC Software Craftsmanship User Group
• Organizer of the DC Scrum User Group
History OOPSLA 1991
Towards a Software Architecture Handbook
History OOPSLA 1998
Software as a Studio Discipline
Craftsman
• =
History
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
• Most software development teams execute, but they don’t take care
• We value execution, but we value craftsmanship more
History
Craftsmanship over execution Software craftsmanship over CRAP!
Manifesto of Software Craftsmanship
Not only working software,
but also well crafted software
Not only responding to change,
but also steadily adding value
Not only individuals and interactions,
but also a community of professionals
Not only customer collaboration,
but also productive partnerships
SCRUM
CRAP(m) = comp(m)^2 (1 - cov(m)/100)^3 + comp(m)
Change Risk Analyzer and Predictor
Test Driven Development
I pity the fool who doesn’t write test cases!
Continuous Integration
I pity the fool who breaks the build!
Pair Programming
I pity the fool who doesn’t collaborate
t
Pride QA Should Find Nothing
http://www.meetup.com/DC-Scrum/