software craftsmanship

38
Software Craftsmanship http://www.londonswcraf @londonswcraft Sandro Mancuso @sandromancuso

Upload: sandro-mancuso

Post on 10-May-2015

484 views

Category:

Technology


2 download

DESCRIPTION

Presentation on 23rd of April 2012 - British Computer Society (BCS)

TRANSCRIPT

Page 1: Software Craftsmanship

Software Craftsmanship

http://www.londonswcraft.com@londonswcraft

Sandro Mancuso@sandromancuso

Page 2: Software Craftsmanship

Software Craftsmen just care about

beautiful code

Page 3: Software Craftsmanship

Agile Software Development

We are uncovering better ways of developing software by doing it and  helping others do it. Through this work we have come to value:

Individuals and interactions over processes and tools

Working software over comprehensive documentation

Customer collaboration over contract negotiation

Responding to change over following a plan

That is, while there is value in the items onthe right, we value the items on the left more.

Page 4: Software Craftsmanship

We adopted Agile and now things will be OK

… and the Agile Transformation Era began.

Page 5: Software Craftsmanship

And then we spend 10 year focusing on...

… people, interactions, team building, the ecosystem

Process and Interactions became more important than technical practices

Page 6: Software Craftsmanship

  Many Agile projects are now, steadily and

iteratively, producing crap mediocre software.

The Agile Hangover

Page 7: Software Craftsmanship

We want to get things done...

… but we are under pressure

Page 8: Software Craftsmanship

The wrong notion of time

Page 9: Software Craftsmanship

But what is to be Agile anyway?

Page 10: Software Craftsmanship

Agile Software Development

We are uncovering better ways of developing software by doing it and  helping others do it. Through this work we have come to value:

Individuals and interactions over processes and tools

Working software over comprehensive documentation

Customer collaboration over contract negotiation

Responding to change over following a plan

That is, while there is value in the items onthe right, we value the items on the left more.

Page 11: Software Craftsmanship

The invisible threat

Code quality

Time per feature

Page 12: Software Craftsmanship

Manifesto for Software Craftsmanshipraising the bar

As aspiring Software Craftsmen we are raising the bar of professional software development by practising it and helping others learn the craft. Through this

work we have come to value:

Page 13: Software Craftsmanship

Manifesto for Software Craftsmanshipraising the bar

As aspiring Software Craftsmen we are raising the bar of professional software development by practising it and helping others learn the craft. Through this

work we have come to value: 

            Not only working software,                             but also well-crafted software

Page 14: Software Craftsmanship

Manifesto for Software Craftsmanshipraising the bar

As aspiring Software Craftsmen we are raising the bar of professional software development by practising it and helping others learn the craft. Through this

work we have come to value: 

            Not only working software,                             but also well-crafted software            Not only responding to change,                              but also steadily adding value

Page 15: Software Craftsmanship

Manifesto for Software Craftsmanshipraising the bar

As aspiring Software Craftsmen we are raising the bar of professional software development by practising it and helping others learn the craft. Through this

work we have come to value: 

            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

Page 16: Software Craftsmanship

Manifesto for Software Craftsmanshipraising the bar

As aspiring Software Craftsmen we are raising the bar of professional software development by practising it and helping others learn the craft. Through this

work we have come to value: 

            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 17: Software Craftsmanship

What is Software Craftsmanship?

Software Craftsmanship is all about putting responsibility, professionalism, pragmatism and pride back into software development

Page 18: Software Craftsmanship

Does context matter?Does it always matter?

Page 19: Software Craftsmanship

How do we know we are building the right thing?

How do we know we are building the thing right?

Page 20: Software Craftsmanship
Page 21: Software Craftsmanship

Adding value through practice

Automated testing Test first Test-Driven Development Pair-programming Continuous Integration

Page 22: Software Craftsmanship

Don't discuss practices, discuss value.

Page 23: Software Craftsmanship

Healthy Intolerance

How can you add more value and/or have smaller feedback cycles when not using our practices?

Page 24: Software Craftsmanship

Mastering the practices is hard …

… and that's why we practice

Page 25: Software Craftsmanship

Perfect practice(narrowing the gap)

Page 26: Software Craftsmanship

Software Craftsmanship is a long journey to mastery

Page 27: Software Craftsmanship

Software Craftsmanship Attitude

- Owning your career- Not a 9 to 5 profession- Practice- Boy scout rule- Expecting promotions

Page 28: Software Craftsmanship

The attitude towards legacy code

Page 29: Software Craftsmanship

Why would we want to be better developers?

Page 30: Software Craftsmanship

Software Craftsmanship Movement

- Pragmatic Programmer and Software Craftsmanship books are published (1999 and 2001)

- Dec, 2008: Meeting in US defining a set of principles for Sofware Craftsmanship

- Feb, 2009: First Software Craftsmanship Conference in London

- Mar, 2009: Software Craftsmanship Manifesto

- Apr, 2009: Craftsman swap between Obtiva and 8th Light

- Aug, 2009: First SCNA conference in Chicago

- Oct, 2009: Apprenticeship Patterns is published

- Aug, 2010: LSCC was founded

- Oct, 2010: Second edition of conferences in London and Chicago

- Sep, 2011: Software Craftsmanship Conference in Germany

Page 31: Software Craftsmanship

Software Craftsmanship is not...

… a church, trying to convert all developersIt's about leading by example and showing how we can

be better

… about beautiful codeIt's about continuously delivering value not writing

crap code

Page 32: Software Craftsmanship

Raising the Bar

Page 33: Software Craftsmanship

Stop...

… being miserable and negative

… spreading your frustrations

Page 34: Software Craftsmanship

The only way to have people buying into what you believe is if they see you happy.

Page 35: Software Craftsmanship

Craftsmanship is not enough to guarantee the success of a project but the lack of it can be the main cause of its failure

Page 36: Software Craftsmanship

Agile and Craftsmanship complement each other and both are necessary.

Agile processes assume technical excellence and a professional attitude.

Software Craftsmanship takes technical excellence and professionalism to a whole new level.

Page 37: Software Craftsmanship

London Software Craftsmanship Community - LSCC

http://www.londonswcraft.com

Page 38: Software Craftsmanship

Thank You

http://craftedsw.blogspot.comhttp://www.londonswcraft.com

Sandro Mancuso@sandromancuso