Showing posts with label Craftsmanship. Show all posts
Showing posts with label Craftsmanship. Show all posts

Tuesday, June 28, 2011

The path toward craftmanship

Recently, I read Andy Hunt's Refactor Your Thinking, one of the best non technical books I've read in the recent months. The book emphasize Dreyfus's learning model. The root of this model backs on 1970's. Hubert and Stuart Dreyfus began doing researches on how people attain and master skills. According to this model, a person when attaining a skill will go through five different stages: Novice, Advanced Beginners, Competent, Proficient and finally Expert. The model is a skill-based model, It emphasize on the learning process of a person for each skill versus the learning process of a person totally. This model has a great impact on agile methodologies. It was interesting for me, according to model, most of the people in their life are in novices and advanced beginners stages. They would not be expert at all.
They will not be watchful in what they will learn. They only try to solve a problem which occurred for them for the sake of solving, not learning. This is the problem. For being a craftsman or an expert, we must go through these stages, one by one, step by step.
All is this, this model describes the path which a novice must go to become a journeyman and then, undergo finally toward craftsmanship. I delighted a lot with reading this book and acquainting that the Dreyfus model is existed. Read It, You'll get benefits of it in long-term.

Tuesday, January 25, 2011

Software Craftsmanship as a Thing

Dan North's recent blog post on software craftsmanship unleashed a lot of blog and forum discussions.

I, as a member of the craftsmanship's community prefer the Michael Feathers's opinion on the issue.

I think our community doesn't need labels. We must see our work as a "Big Thing". The "Thing" which lead us toward efficiency, better performance. The names doesn't make any differences. Our aim is common. This is significant.

As a comment in Micheal's post says, I guess this proves yet again that naming stuff is one of the hardest things we do. I sorta feel like this is a give up, though - replacing 'agile' and 'software craftsmanship' with 'thing'. I'd say all these conversations are already about the thing."

Do not get me wrong, I welcome debates and discussions but I think our community's main concentration must be the "Thing" not our naming conventions.

These are the posts correlated to the matter:

  • Dan North's original post
  • Liz Keogh explains her discomfort with the software craftsmanship manifesto.
  • Gil Zilberfeld draws a comparison between software craftsmanship and alt.net.
  • Jason Gorman wants us to avoid getting hung up on labels
  • Michael Feathers looks for more deliberate practice in our work.
  • George Dinwiddie provides a physical example of why quality work is important to a customer, and how certification and licensing doesn't help.
  • Dan North expands and clarifies some his earlier points.
  • Bob Martin says software craftsmanship is only about programmers tired of writing crap.