4. You may have questions to ask
Please note them, and put your
email/twitter/name
I’ll follow up with you at a later stage
Or discuss here if time permits
Please place into the box at the front here
5. Individuals and interactions over
processes and tools
Working software over
comprehensive documentation
Customer collaboration over
contract negotiation
Responding to change over
following a plan
http://bit.ly/softwareCraft
6. We adoptedAgile and now things will be OK
… and the AgileTransformation Era began.
http://bit.ly/softwareCraft
7. … people, interactions, team building, the
ecosystem
Process and Interactions became more important
than technical practices
http://bit.ly/softwareCraft
8. Many Agile projects are now, steadily and
iteratively, producing shit crap mediocre
software.
http://bit.ly/softwareCraft
9. We want to get things done...
… but we are under pressure
http://bit.ly/softwareCraft
10. But what is to be Agile anyway?
http://bit.ly/softwareCraft
11. 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 on
the right, we value the items on the left more.
http://bit.ly/softwareCraft
13. 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
14. Software Craftsmanship is all about putting
responsibility, professionalism, pragmatism
and pride back into software development
http://bit.ly/softwareCraft
15. How do we know we are building
the right thing?
How do we know we are building
the thing right?
http://bit.ly/softwareCraft
27. Why would we want to be better
developers?
http://bit.ly/softwareCraft
28. … a church, trying to convert all developers
It's about leading by example and showing how we
can be better
… about beautiful code
It's about continuously delivering value not writing
crap code
http://bit.ly/softwareCraft
30. Stop...
… being miserable and negative
… spreading your frustrations
http://bit.ly/softwareCraft
31. The only way to have people buying into
what you believe is if they see you happy.
http://bit.ly/softwareCraft
32. Craftsmanship is not enough to guarantee
the success of a project but the lack of it
can be the main cause of its failure
http://bit.ly/softwareCraft
33. Agile and Craftsmanship complement each other
and both are necessary.
Agile processes assume technical excellence and a
professional attitude.
SoftwareCraftsmanship takes technical excellence
and professionalism to a whole new level.
http://bit.ly/softwareCraft
34. Meaningful Names
Short Functions
Single Responsibility Principal
Minimal Arguments
Show intent
No need for comments
Formatting
UnitTesting
http://bit.ly/softwareCraft
40. 1. Write clearly -- don't be too clever.
2. Say what you mean, simply and
directly.
3. Write clearly -- don't sacrifice clarity
for efficiency.
4. Replace repetitive expressions by calls
to common functions.
5. Parenthesize to avoid ambiguity.
6. Choose variable names that won't be
confused.
7. Write first in easy-to-understand
pseudo language; then translate into
whatever language you have to use.
8. Modularize. Use procedures and
functions.
9. Don't patch bad code -- rewrite it.
10. Write and test a big program in small
pieces.
11. Check some answers by hand
11. Make it right before you make it faster.
12. Make it fail-safe before you make it
faster.
13. Make it clear before you make it faster.
14. Don't sacrifice clarity for small gains in
efficiency.
15. Don't strain to re-use code; reorganize
instead.
16. Make sure special cases are truly
special.
17. Keep it simple to make it faster.
18. Don't just echo the code with
comments -- make every comment
count.
19. Don't comment bad code -- rewrite it.
20. Use variable names that mean
something.
21. Format a program to help the reader
understand it.
22. Don't over-comment.
http://bit.ly/softwareCraft
41.
42.
43. Ebook on Lean Pub
Written by the London
Software Craftsmanship
Community Manager
https://leanpub.com/socra
http://bit.ly/softwareCraft
44. Clean Code
Robert “Uncle Bob”
Martin
Changes your thought
process
+Videos
Also Clean Coders –
More about your
career
http://bit.ly/softwareCraft
49. Happy to work with people over
Google hangout / Skype. UKTime
(After lunch EST/Before Lunch PST)
FREE / AmazonWish list
T: @bigmadkev
S:bigmadkev
W: BigMadKev.com
http://bit.ly/softwareCraft