Software Craftsman
Agile Manifesto (and where it failed)β
- Individuals and interactions over process and tools
- Working Software over comprehensive documentation
- Customer Collaboration over contract negotiation
- Responding to Change over following a plan
The problem with Agile Manifesto, is it addresses the process of things but does not address the Software Engineering part, although it can improve the processes involved, without the Software Craftmanship it will still continue to deliver bad software.
Software Craftsman Manifestβ
- 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 partnership
Mind setβ
- Katas
- Don't be a hero (professionalism and pragmatism)
- Revolutionary Books (where most engineers are expected to have read at some degree)
- Pragmatic Programmer
- Mythical Man-Month
- Design Patterns (Gang of Four)
- Test Driven Development
- Extreme Programming Explained: Embrace Change
- The Clean Coder
- Software Craftsmanship
- Refractoring