Transcript
Page 1: Software Craftsmanship Essentials

Software Craftsmanship

Essentials

Eduards [email protected]

@eduardsi on Twitter www.craftsmans.lv

Page 2: Software Craftsmanship Essentials

Agenda

Introduction

Disciplines – DOs & DON’Ts

Resources

Q&A

Page 3: Software Craftsmanship Essentials

What topics dominate on software development

conferences?

Page 4: Software Craftsmanship Essentials

0 TALKS ON FUNDAMENTAL ENGINEERING PRACTICES

Page 5: Software Craftsmanship Essentials

Most software projects look like a Big Ball of Mud

Page 6: Software Craftsmanship Essentials

Theory vs. practice mismatch

Page 7: Software Craftsmanship Essentials
Page 8: Software Craftsmanship Essentials

Software craftsmanship is a

movement about getting better

at software development

particularly through gaining

professional skills.

Page 9: Software Craftsmanship Essentials

Responsibility

Page 10: Software Craftsmanship Essentials

Who is responsible for quality in a project?

Page 11: Software Craftsmanship Essentials

QA SHOULD FIND NOTHING.

Page 12: Software Craftsmanship Essentials

Have you ever been impeded by bad code?

Page 13: Software Craftsmanship Essentials

Clean Code

Page 14: Software Craftsmanship Essentials

Leave the campground cleaner than you found it.

Page 15: Software Craftsmanship Essentials

Take responsibility over architecture.

http://martinfowler.com/articles/designDead.html

http://martinfowler.com/bliki/DesignStaminaHypothesis.html

Page 16: Software Craftsmanship Essentials
Page 17: Software Craftsmanship Essentials

Lean Architecture: for Agile Software Development

James O. Coplien

Page 18: Software Craftsmanship Essentials

Learn domain you’re working in

Page 19: Software Craftsmanship Essentials

Who always uses TDD?

Page 20: Software Craftsmanship Essentials

TDD

Page 21: Software Craftsmanship Essentials

Who is responsible for your education?

Page 22: Software Craftsmanship Essentials

Learning

• Open Source

• Breakable Toys

• Books (Safari, Shelfari)

• Online Resources (InfoQ)

• Slides (SlideShare)

• Following (Twitter)

• Pairing

• User Groups

• Conferences

• Trainings

• Discussion Lists

• FedEx days

Page 23: Software Craftsmanship Essentials

Your idea of Perfect Code

Code you write at work

«You Suck Gap »

Page 24: Software Craftsmanship Essentials

Deliberate Practice

• Code Katas

• Coding Dojos

• Code Retreat

• Craftsmen Swaps

• Craftsmen Journey

• Craftsmen Spikes

Page 25: Software Craftsmanship Essentials

Apprentice.

Page 26: Software Craftsmanship Essentials

Don’t be Prima Donna

Page 27: Software Craftsmanship Essentials

Resources

Page 28: Software Craftsmanship Essentials

manifesto.softwarecraftsmanship.org

Page 29: Software Craftsmanship Essentials

« Programming is not a craft

»by Dan North http://goo.gl/eS4DY

Page 30: Software Craftsmanship Essentials

Robert Martin

Corey Haines

Page 31: Software Craftsmanship Essentials
Page 32: Software Craftsmanship Essentials

Valueless Software http://goo.gl/LDe2N0

The Hacker, The Novice, The Artist, and The Craftsmanhttp://goo.gl/qmHIFr

Hitting the High Noteshttp://goo.gl/rd8MF

8th Lighthttp://www.8thlight.com/principles

Page 33: Software Craftsmanship Essentials

Thank you!


Top Related