courageous software development through craftsmanship

34
COURAGEOUS SOFTWARE DEVELOPMENT Through Craftsmanship

Upload: eric-stewart

Post on 20-May-2015

79 views

Category:

Technology


1 download

DESCRIPTION

Slides from my workshop session on Courage in Software Development through Software Craftsmanship presented at Keep Austin Agile 2014. http://2014conf.agileaustin.org/?q=node/70

TRANSCRIPT

Page 1: Courageous Software Development Through Craftsmanship

COURAGEOUS SOFTWARE DEVELOPMENT

Through Craftsmanship

Page 2: Courageous Software Development Through Craftsmanship
Page 3: Courageous Software Development Through Craftsmanship

Courage is the ability and willingness to confront fear, pain, danger, uncertainty,

or intimidation.

-- Wikipedia

Page 4: Courageous Software Development Through Craftsmanship
Page 5: Courageous Software Development Through Craftsmanship
Page 6: Courageous Software Development Through Craftsmanship
Page 7: Courageous Software Development Through Craftsmanship
Page 8: Courageous Software Development Through Craftsmanship
Page 9: Courageous Software Development Through Craftsmanship
Page 10: Courageous Software Development Through Craftsmanship
Page 11: Courageous Software Development Through Craftsmanship

What forces (in software) require us to respond with courage?

How does lack of courage in software manifest?

Page 12: Courageous Software Development Through Craftsmanship
Page 13: Courageous Software Development Through Craftsmanship
Page 14: Courageous Software Development Through Craftsmanship

Craftsmanship???

Page 15: Courageous Software Development Through Craftsmanship
Page 16: Courageous Software Development Through Craftsmanship
Page 17: Courageous Software Development Through Craftsmanship
Page 18: Courageous Software Development Through Craftsmanship
Page 19: Courageous Software Development Through Craftsmanship

Not only working software, But also well-crafted software

Page 20: Courageous Software Development Through Craftsmanship

Not only responding to change, But also steadily adding value

Page 21: Courageous Software Development Through Craftsmanship

Not only individuals and interactions, But also a community of professionals

Page 22: Courageous Software Development Through Craftsmanship

Not only customer collaboration, But also productive partnerships

Page 23: Courageous Software Development Through Craftsmanship

Software craftsmanship's not the "next big thing". It's an attempt to articulate what the

"thing" always was

-- @jasongorman

Page 24: Courageous Software Development Through Craftsmanship

Dangers….

•  Elitism •  Cargo Cults

Page 25: Courageous Software Development Through Craftsmanship

Developers are often frustrated saying "management wants more features, they don't

care about quality"

Page 26: Courageous Software Development Through Craftsmanship

Martin Fowler’s Design Stamina Hypothesis

Reducing internal quality slows us down

Page 27: Courageous Software Development Through Craftsmanship

Qualities of Software Craftsmanship

•  Place importance on skills and development

•  Focus on Quality •  Professionalism / Pride of Work /

Integrity

Page 28: Courageous Software Development Through Craftsmanship

Techniques of Software Craftsmanship

•  Mentoring (sometimes even formalized) •  Deliberate practice - Code katas, etc. •  Pair programming, review, etc. •  Strong testing, Clean Code, TDD, and

other design/quality practices

Page 29: Courageous Software Development Through Craftsmanship

A Source of Courage?

What courageous behaviors would you hope to see from

applying craftsmanship?

Page 30: Courageous Software Development Through Craftsmanship
Page 31: Courageous Software Development Through Craftsmanship
Page 32: Courageous Software Development Through Craftsmanship
Page 33: Courageous Software Development Through Craftsmanship
Page 34: Courageous Software Development Through Craftsmanship

Website/Blog – AgileVelocity.com Twitter - @ericstewart and @Agile_Velocity Upcoming Training: ¨  March 26: Certified Scrum Master Workshop ¨  April 24 – Advanced Product Planning Workshop ¨  May 7 – Cucumber QuickStart Workshop ¨  May 12 – Certified Product Owner Workshop ¨  May 20 – Software Technical Practices Crash Course

Transforming Technology Organizations Copyright © 2014 Agile Velocity, LLC.  All Rights Reserved. AGILE VELOCITY PROPRIETARY

Thanks!