I read something about agile programming practices that sparked my interest in the first chapter of Refactor Your Wetware by Andy Hunt. He brings up the topic of the "Dreyfus model" of skill acquisition. As of my understanding so far, this model describes the levels between novice and expert for any given skill. There are two major stages, 1-3 and 4-5. Four and five are the "proficient" and "expert" levels. What distinguishes the practitioners of these two stages from the first three is the ability to "self-correct." They are able determine what needs to change about their behavior or implementation in order to achieve a desired outcome. Hunt states: "Proficient practitioners can take full advantage of the reflection and feedback that is core to agile methods," and that "some of the most exciting new movements in the software development community are targeted at proficient and expert developers." He's saying that in the interpretation of the Dreyfus model, agile methods are most useful when its users are very competent programmers. Do I measure up?
Hello,
I am an application developer almost 4 years out of college, graduating in computer science. I've spent my career working in start-up environments in small teams of a diverse range of experience. This quote seemed relevant to me and my experience with agile. Our team operated on two-week sprint development cycles. Every sprint we would set new goals, as well as try to assess our performance of the previous sprint and how we could improve ourselves. "How did the previous sprint go?" Our lead programmer would ask. A common response might've been, "Oh, I think it went pretty OK." A pretty dry and not very insightful remark in hind sight. So what went wrong? Is anything wrong here at all? I think this is an opportunity lacking fulfillment. We were not taking the question in the correct context. There is so much we could talk about. Our job is software development, about which Hunt concludes, "must be the most difficult endeavor ever envisioned and practiced by humans." A bold remark! But it nonetheless assumes that our job is not such a simple thing that can be summed up as "pretty OK."
Inferiority Complex??!
I'm not an expert. I'm most likely not proficient. Hopefully I'm competent. If what Hunt is saying is true, it seems like our missed opportunity for self-improvement was staunched in part because we were not using a system of practice that would be best suited to our average experience level. A good lead programmer can only do so much to inspire change in his employees. Am I being defeatist? After all, the Dreyfus model is just a theory. Or, is there something to this? What are your experiences with agile programming? I'd love to hear your opinion, whatever your experience level.
Reference
Hunt, Andy (2008) Pragmatic Thinking & Learning: Refactor Your Wetware.
Not every technique is a good fit for all.
I have worked in an agile environment and it worked well BUT you need a team that works well that way. Agile has also become damaged by being wrapped up in practices and rules that go against the whole original idea.
I loved the peer programming we used BUT again it was a good team that worked well that way.
If you have any conflicts between people it could get ugly real quick lol
I am not in an agile shop now. But we have our own team tempo and it works for us. I don't miss the agile space, just different.
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Some of the best team members I've ever worked with (as a Scrum Master) were what most would consider novice developers. Maybe I'm biased as a non-technologist, but I believe that the secret sauce to being an awesome Agilist lies in trust - if you also happen to be a bad ass programmer, that's a big bonus, but I've met way too many genius coders who suck big time as Agile team members. Feel free to chime in with other topics of interest on my new blog @moagile .
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit