On my last post, Matthew Lesko posted a link to another blog post in a comment. A very interesting article, and while I've never explicitly thought of it like that, it's my preferred style of doing things. You have to do some preplanning or you're sunk, but in general, I prefer to have a set of long term goals and just move towards them as I best see fit at the time.
I think this can also be fingered as the reason I don't much care for FLiP. Which isn't to say FLiP (or any methodology) is devoid of good techniques, but following the "rules" just for the sake of following them is not a good plan. A process that is inherently friendly to ad hoc problem solving is almost always better in the world of software design because software is so malleable.
I could not agree more.
I was happy to see the mention of Shu Ha Ri in the article, but I don't think the concept was given the focus it needed for this topic.
Someone at the "Shu" level of learning (they have not yet mastered the fundamentals) should probably follow a methodology or at least a process. This is because they do not yet have the experience to know how best to apply techniques situationally.
I think that moving from a more structured approach (methodology) to a less structured approach (tricks) should follow from experience.
So, once a person feels that they have mastered a process, then they probably have the experience to know when to follow the process and when to use the techniques in a different way.
Someone who has mastered the techniques can event their own ("tricks" in this vernacular).
All too often people skip ahead to inventing their own path when they do not yet understand the basics. By the same token, it doesn't necessarily make sense for someone with a lot of experience to dogmatically follow a methodology.
I suspect that the most successful teams use the least strict approach because they are the teams that have the experience to do so. I would bet the least successful teams also use the least strict approach – but without sufficient experience.
Really good article.
The most successful teams are made of continuous learners. They are people who regularly look for ways to do it better – a.k.a experimenting. So experimenting begets experience, but lack of experience is not a reason to not experiment.