4 ms·
One of the things I've always liked about XP (and is almost never discussed) is that it isn't a process. It's a meta-process. The idea of XP was to come up wi
by mikekchar 8y ago
One of the things I've always liked about XP (and is almost never discussed) is that it isn't a process. It's a meta-process. The idea of XP was to come up with the smallest number of "practices", which when executed with attention would generate a successful process. That's one of the reasons why XP signed on to the Agile Manifesto -- people over processes and all that rot. Unfortunately I can't find a link where he describes this which isn't behind a paywall. A lot of people probably don't realise that the idea of using generative patterns in programming originated from Beck and Cunningham [1] -- I often avoid mentioning it as it sometimes fuels the hate fires :-P Kent Beck was quite interested in using this kind of generative pattern language to describe things that would otherwise require ridiculous amounts of text to describe. Instead of describing the actual solution you need, you describe a series of patterns which help you generate the solution. As an aside, you can see how people have taken the "pattern" ball, run with it and ended up going in the opposite direction ;-)
And as you say, XP (and especially Scrum!) were built to help you solve very specific problems. In the case of XP, how to spread out requirements and design discovery across development so as to reduce risk. In the case of Scrum, how to decrease communication overhead on teams that were otherwise operating well (Originally Scrum had no development practices -- it was assumed that you already had development practices that were working well for you).
As I get older it's easy to see a pattern: the inception of a good idea, the successful adoption by a small number of teams, the spread of fame, the religious adoption of a version of the idea championed by the most charismatic bloggers, the loss of the original idea as the masses cargo cult their implementations based on religious doctrine.
[1] - http://c2.com/doc/oopsla87.html http://c2.com/doc/oopsla87.html
- FooHentai 8y agoStarting to see this damn near everywhere, macro and micro scale stuff. Especially true on individual projects where team members cycle out over time. Often they end up looking like that monkey ladder experiment where we're very clearly tracking towards a goal, but nobody is at all clear on why.
- jacques_chester 8y ago> It's a meta-process. I was told this early in my time in Labs: "Pivotal is a meta-process shop". My version is: "Pivotal Labs is a debating society which produces code as a by-product". It works. We spend a lot of time reflecting and overall, we keep improving. It's the first place I've worked at where I can see continuous improvement occurring. Not the slogans about improvement, not the Department of the Bureau of Efficacious Improvementology, but actual hey-this-is-better-than-it-was-6-months-ago improvement. > As I get older it's easy to see a pattern You might find this parable familiar: https://www.ckwop.me.uk/Meditation-driven-development.html https://www.ckwop.me.uk/Meditation-driven-development.html
- mikekchar 8y agoHa ha! That's a great read. I hadn't seen it before. Thanks. One of the things I've heard about the fabled C3 project was that before Kent Beck was brought in, the team was incredibly unhappy. He introduced XP and it changed the attitude of the team. (BTW, I've talked with a few people who were on the team and they have verified this). I've had one phenomenal success with XP -- the first one I worked on, and it was a similar situation. We removed a manager that was keeping the developers under his thumb and let the programmers write code. Since then, I've had successes and failures with approximately XP shaped teams, but I've never even come close to that initial success (85 KLOC of code in a completely new coding environment, with between 3-6 developers over a 5 month period with exactly 12 bugs at the end. Won an award at Comdex and the core technology developed brought in hundreds of millions to the company). The team was rocking when we delivered, but big companies being big companies, they split us up ;-). Many times I've thought back on that time and wondered, "What exactly is the difference between then and now?" Many times I've come to the conclusion, "The team was ready to work together. They had suffered so badly before and they were so happy to have their shackles removed, that they couldn't help but succeed". Don't get me wrong. I still feel that XP can work extremely well -- after all, it did. And when I look at problem after problem after problem in other situations, I can point to exactly what is going wrong. But the reality is that some people just aren't going to do it the way they need to do it. That's a people problem, not a technical problem. I often say when I go into a job, "I know exactly 1 way to succeed dramatically. That doesn't mean that there aren't other ways to do it. It just means that I don't know what they are". Inevitably people ask me to succeed in ways I don't know (in advance) how to succeed in. That's life, isn't it ;-) Pivotal Labs sounds like fun :-) I hope it keeps going like that for you.