Tim Cooke wrote:Similar question to this one.
doudou pan wrote:
Am I able to understand the software craftsman book ? Is this book a good starting point ? or is this a intermediary book for team lead ?
Christian Peacock wrote:
My question is - how do software craftsmanship and agile fit together comfortably? I kind of see agile as discouraging craftsmanship to some extent, given that all tasks are broken down into small pieces each with a business justification. Surely most business managers do not care about what's "under the hood" and simply want a system that does what they need right now with the lowest up-front costs? (Sceptical maybe, but mostly true in my experience.)
Christian Peacock wrote:
What I meant by agile discouraging craftsmanship, which may or may not be true, is that it doesn't seem to allow time for a developer to improve upon the way that they've done things if that improvement wouldn't be immediately apparent to the business. This is what I would like the author's opinion on.
Christian Peacock wrote:
... how do you justify revisiting a piece of code given that agile mandates you only work on things that are defined within a sprint? ...
Tim Cooke wrote:
However, it is my experience that working in an 'agile' manner lends itself very well to allowing me to deliver high quality code. The primary reason for this is that it is the developers who provide the estimates for each Story. I get to say how long I think it will take me to deliver a feature, therefore I get to allow myself enough time to deliver it properly.
Junilu Lacar wrote:
It really grates on me that this misconception seems to be more and more prevalent with the widespread adoption of Agile methods. To me it indicates that more and more people are doing things in the name of Agile that are, in fact, the exact opposite of what Agile is supposed to be. That agile discourages craftsmanship is absolutely and unequivocally NOT TRUE. Just look at the preamble of the Agile Manifesto: "We are uncovering better ways of developing software by doing it and helping others do it." If that isn't a definition of software craftsmanship, I don't know what is. I consider all of the original signatories of the Agile Manifesto as software craftsmen of the highest level. They are the master craftsmen of our field.
Junilu Lacar wrote:
I make sure we don't add crap code on top of already crappy code. And I hardly ever have to ask permission to do that and our business folks are just fine with it. As long as you are transparent and open about what you're doing and how you're doing it and as long as your approach is pragmatic, something that Sandro writes about in his book, there really is no contradiction between being Agile and spending time to go back and fix bad code and designs.
Melodie Rice wrote:
What are the top three components of being a Software Craftsman?
Will Myers wrote:
I was just wondering how much of the book is devoted to influencing?
Junilu Lacar wrote:
You mustn't let yourself be discouraged by what others will do or not do despite your own efforts. You can't force people into things for which they're not ready or capable of doing, for whatever reason. Lead by example and produce results. If nothing else, it will always be a good thing for yourself and your career. And if you're lucky, you'll be able to inspire or influence one or two other people along the way. That's how a groundswell starts.
Paul Wallace wrote:
I came to know your work through some of the screencasts you posted on youtube, these are great.
Paul Wallace wrote:
Do you have any tips on how to promote software craftsmanship in an enterprise setting?
...
However it is as much a problem to convince developers, who are set in their ways, as it is to convince management of the benefits of a software craftsmanship approach.