5 ms·
Your regular reminder that Kent Beck was part of the Extreme Programming brain trust behind the massive failure that was the Chrysler Comprehensive Compensation
by bsder 3y ago
Your regular reminder that Kent Beck was part of the Extreme Programming brain trust behind the massive failure that was the Chrysler Comprehensive Compensation System: https://en.wikipedia.org/wiki/Chrysler_Comprehensive_Compensation_System https://en.wikipedia.org/wiki/Chrysler_Comprehensive_Compens...
Programming advice from him and his cohorts (Ron Jeffries and Martin Fowler) should be regarded with several large grains of salt.
- doctor_eval 3y agoI haven’t heard of C3 before, but I’m a big fan of reading about software project failures, and I’m not a fan of every aspect of XP, so I was certainly curious about this. That said, the Wikipedia page neither supports nor refutes your assertion, and Fowler himself discusses C3’s failure here: https://martinfowler.com/bliki/C3.html https://martinfowler.com/bliki/C3.html Fowler refers to notes that don’t seem to be in the Wikipedia entry any more: “In particular the entry in Wikipedia is misleading and incomplete, much of its comments seem to be based on a paper from a determined XP critic whose sources are unclear. Certainly its comments on performance are a misleading interpretation of material in my Refactoring book.” Do you have any other links to this project? The fact that it went live and then reverted to the COBOL version is interesting.
- whstl 3y agoThere is some discussion in C2 by the people involved about whether it was a failure or not: http://wiki.c2.com/?HighDisciplineMethodology http://wiki.c2.com/?HighDisciplineMethodology I believe the characterization of C3 as a "failure" is because it wasn't able to deliver the goal (goal was paying 87000 people – it only reached about 9000), and was later discontinued for multiple reasons (some unrelated, like people leaving, the merger with Daimler). The claim that "XP was banned" there seems overblown, it seems it's just that "people at DaimlerChrysler stopped taking terms like Smalltalk, OOP and XP" (per link above).
- bsder 3y agoC3 was, by any measure, an abject failure. It got only the very basics working and then died when it ran into the vast number of unspecified exceptional cases (gee, where have we heard that before ...) that needed to be handled. And then got cancelled and completely reverted. To then use such a failure as a marquee project demonstrating the supposed "superiority" of XP is unabashed chutzpah. Now, large IT projects generally fail. So, XP is not wholly to blame. However, the proponents of XP pushed it as superior silver bullet to navigate both the political and technical waters of software projects. The fact that C3 was such a spectacular failure simply demonstrates that XP really wasn't any different than any other methodology being pushed by people with an agenda.
- Scubabear68 3y agoA lot of the failure of XP was an assumption that all developers develop software the same way, and for all software teams XP’s tenants are optimal. Practices like pair programming and TDD work on some instances, are absolutely terrible in others. The arrogance of the original XP folks was a hard core belief that they had found the silver bullet of software development, and then marketing it ruthlessly.
- wesselbindt 3y agoThe article by Fowler cited some ancestors up says something along the lines of "the cancellation of C3 proves that XP is no guarantee for success". Regardless of whether XP works for everyone or not, that's pretty far from claiming it's a silver bullet.
- bsder 3y agoThat's what he says now--it's highly revisionist. All these guys were in the "If it failed, it wasn't true XP." while they were cashing paychecks for promulgating it--Fowler included.
- whstl 3y agoI was trying not to make any judgement call, but I agree. To me there are worse things in the story, though: they tried to make User Stories and even customer-driven tests and ended up burning out the only customer that was able to do it. It's not only underwhelming compared to the silver bullet they were selling in conferences and books, but it required some unicorn customer that they couldn't replace. For years I saw people trying to make poor customers and PMs write Cucumber tests and man...
- bsder 3y agoI suspect I have some cached references, but I would have to go dig a presentation out of my backups. Unfortunately, all parties involved in the C3 project would rather that it be forgotten. As such, it seems that it is going down the memory hole even faster than most Internet things. :(
- Scubabear68 3y agoPerhaps the biggest fail of XP and C3 was the YAGNI philosophy. As it turns out, in many complex domains, you ARE going to need it, so you should factor that into your design sooner rather than later. This is also why many consulting lead projects fail, because the developers do not understand the complexities of the domain. Not everything is a CRUD website.
- enterprise_cog 3y agoYAGNI is about not implementing features until they are needed. It’s not about ignoring the complexities of the domain. You can adhere to the principle while still designing a system that acknowledges the complexities but defers implementation until it is needed.
- PH95VuimJjqBqy 3y agoI have no horse in this race but I believe what the other poster was saying is that you might not need it but you should still think about it and decide if you should factor it into your designs. YAGNI creates problems.
- deleted 3y ago[deleted]
- randomdata 3y agoDevelopers aren't great at sharing nomenclature, but by what seems to be the most common definition, YAGNI refers to not going off and implementing something that is more fun to implement, but isn't needed right away (if ever). Focus on what you actually need to get your project to a desirable state. It doesn't say you should not consider future considerations in your design. In fact, it suggests that you should design your software to be as accommodating as possible, most notably by ensuring testing is core to your design to assist you when the time for change comes. The other poster you refer to and YAGNI seem to be in alignment.
- 3y ago
- matchagaucho 3y agoThese object-oriented "birth projects" were all pretty much deemed failures. NeXTStep by Steve Jobs, C3... Yet all these years later, the principles of OOP, and the companies built on them, outlived the politics that tried to squash them in the 90s.
- bsder 3y agoOOP is a failure ... looked at through the lens of today. Back then, OOP originally solved a very real problem--optimizing memory usage of bunches of objects that have mostly common behavior with just a few tweaks different from one another. It did pretty well at that at the expense of introducing some extraneous coupling and complexity. And then memory got big and disk became SSD. Now, programmers would rather burn extra memory, avoid pointer chasing (expensive on modern microprocessors), and ditch the extraneous coupling that introduces unnecessary complexity.
- Hayatabad 3y ago[dead]
- hirvi74 3y agoThank you so much for sharing this. I finally have some ammo. As a .Net dev, I constantly encounter too many people who think Fowler is a programming prophet.
- yura 3y ago> Near as I can tell the fundamental problem was that the GoldOwner and GoalDonor weren't the same. The customer feeding stories to the team didn't care about the same things as the managers evaluating the team's performance. This is bad, and we know it's bad, but it was masked early because we happened to have a customer who was precisely aligned with the IT managers. The new customers who came on wanted tweaks to the existing system more than they wanted to turn off the next mainframe payroll system. IT management wanted to turn off the next mainframe payroll system. Game over. Or not, we'll see... -- KentBeck > So, I'm curious - does this represent a failure of XP? -- AnonymousCoward > Sensitivity, certainly. But if the people who tell you what to do don't agree with the people who evaluate what you are doing, you're stuffed, XP or no XP. -- KentBeck http://wiki.c2.com/?CthreeProjectTerminated http://wiki.c2.com/?CthreeProjectTerminated Between this and the Wikipedia article, it's not clear to me that the project failed due to XP practices.
- mikaraento 3y agoWhile C3 might not be strong evidence against XP neither should it be considered evidence _for_ XP.
- Hayatabad 3y ago[dead]
- beryilma 3y agoI was about to post using the same words "grains of salt". Any programming advice from Agile and XP gurus should be basically ignored.