320 likes | 768 Views
Creating a Culture of Software Craftsmanship. @ KeithDHar. keithdharrison. Agenda. Managing Complexity How to creating a culture of software craftsmanship. Why Projects Fail. Fail For Technical Reasons. Uncontrolled Complexity. Accidental. Languages IDEs CI/CD. Essential.
E N D
Creating a Culture of Software Craftsmanship @KeithDHar keithdharrison
Agenda • Managing Complexity • How to creating a culture of software craftsmanship
Fail For Technical Reasons Uncontrolled Complexity
Accidental • Languages • IDEs • CI/CD
Essential • Business rules • Interactions with real world • Algorithms
How complex? • Data from byte to petabyte • Millions lines of code
What happens if I don’t Manage Complexity? • Defects • Ever increasing dev times • Afraid to change • No reuse • Unhappy developers • Rewrites
Func1() var1 Func4() Func3() var2 Func2() var3
Characteristicsof Good Design • Minimal complexity • Ease of maintenance • Loose coupling • Cohesion
How do we create a culture of Software Craftsmanship?
Deadlines Quality
Refactor or hack? What do I name this variable? What do I test?
Reviews • Code reviews • Pair programming Reputational
Group learning • Coding dojos • In house training sessions Moral
Project Management • Quality Related Tasks Institutional Moral
Conclusion • Create a culture of software culture to manage complexity • Think about your culture
CODECRAFTCONF FRIDAY 14th SEPT 2018 ROYAL COLLEGE OF PHYSICIANS AND SURGEONS, GLASGOW
@KeithDHar keithdharrison Questions?