Agile Engineering and Software Craftsmanship

23
Software Craftsmanship By Fadi Stephan Agile Engineering

description

Agile Engineering and Software Craftsmanship was presented at the 2012 DC Agile Engineering Conference on 12/7/2012 by Excella Agile Xpert Fadi Stephan (@FadiStephan).

Transcript of Agile Engineering and Software Craftsmanship

Page 1: Agile Engineering and Software Craftsmanship

Software Craftsmanship By Fadi Stephan

Agile Engineering

Page 2: Agile Engineering and Software Craftsmanship

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

Page 3: Agile Engineering and Software Craftsmanship

History OOPSLA 1991

Towards a Software Architecture Handbook

Page 4: Agile Engineering and Software Craftsmanship

History OOPSLA 1998

Software as a Studio Discipline

Page 5: Agile Engineering and Software Craftsmanship

Craftsman

• =

Page 6: Agile Engineering and Software Craftsmanship

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

Page 7: Agile Engineering and Software Craftsmanship

• 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!

Page 8: Agile Engineering and Software Craftsmanship

Manifesto of Software Craftsmanship

Page 9: Agile Engineering and 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

Page 10: Agile Engineering and Software Craftsmanship
Page 11: Agile Engineering and Software Craftsmanship

SCRUM

Page 12: Agile Engineering and Software Craftsmanship
Page 13: Agile Engineering and Software Craftsmanship
Page 14: Agile Engineering and Software Craftsmanship
Page 15: Agile Engineering and Software Craftsmanship
Page 16: Agile Engineering and Software Craftsmanship
Page 17: Agile Engineering and Software Craftsmanship

CRAP(m) = comp(m)^2 (1 - cov(m)/100)^3 + comp(m)

Change Risk Analyzer and Predictor

Page 18: Agile Engineering and Software Craftsmanship
Page 19: Agile Engineering and Software Craftsmanship

Test Driven Development

I pity the fool who doesn’t write test cases!

Page 20: Agile Engineering and Software Craftsmanship

Continuous Integration

I pity the fool who breaks the build!

Page 21: Agile Engineering and Software Craftsmanship

Pair Programming

I pity the fool who doesn’t collaborate

Page 22: Agile Engineering and Software Craftsmanship

t

Pride QA Should Find Nothing

Page 23: Agile Engineering and Software Craftsmanship

http://www.meetup.com/DC-Scrum/