Earlier quoted context omitted.
There is some discussion in C2 by the people involved about whether it was a failure or not: 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…
C3 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 ge…
Mastering Programming (2016)
71–80 of 123 posts
Re: Mastering Programming (2016)
#72Earlier quoted context omitted.
C3 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 ge…
The 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.
All these guys were in the "If it failed, it wasn't true XP." while they were cashing paychecks for promulgating it--Fowler included.
Re: Mastering Programming (2016)
#73Earlier quoted context omitted.
Even if the suggestions are a bit too generic, they might click for someone some time after they've read it. It also helps validate some things that less experienced programmers might be doing but aren't sure are the best things. I for example found that some things I seem to be gravitating towards are mentioned, which will hopefully allow me to focus on them and grasp them better in the future.
I agree. I might be, being miss-interpreted as dismissing this article. They are definitely good points, and doesn't hurt to read them. I think all the points are valid. Maybe I was just contemplating how experts sometimes 'summarize' their knowledge, condense it, but in the process of trying to be succinct, becomes itself un-fathomable, generic.
Someone with a similar level of experience to the author may well have the right foundations to draw on such that a condensed expression of an idea resonates well. Others may only get a "seed pearl" to help shape how they view their past and future experiences. And some might be able to recognise that there is wisdom there, but not be able to relate it to their own understanding at all.
Without any relevant experience, it's just words devoid of much meaning.
Re: Mastering Programming (2016)
#74Earlier quoted context omitted.
Perhaps 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.
YAGNI 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.
YAGNI creates problems.
Re: Mastering Programming (2016)
#75Earlier quoted context omitted.
There is some discussion in C2 by the people involved about whether it was a failure or not: 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…
C3 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 ge…
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...
Re: Mastering Programming (2016)
#76Re: Mastering Programming (2016)
#77Earlier quoted context omitted.
Perhaps 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.
YAGNI is a conscious and iterative task prioritization process. From a Pareto perspective, it just means to focus on the 20% of functionality that provides 80% of the value first. That's not to say the other 80% of requests should be ignored. But instead well documented and groomed in a backlog.
Fowler means it literally. He had examples published on Artima.com years ago where he gives examples of hard coding things left and right and adding better support “only when you absolutely need it”.
To be clear I am not arguing for big design up front. I am arguing to keep an eyeball on your roadmap, and that is not only OK to anticipate the future but maybe do some small amount of work to make the future work easier.
The fallacy of “You Ain’t Gonna Need It” is that you so very often do, and the developers down the road are cursing out the devs who ignored the future.
Re: Mastering Programming (2016)
#78Re: Mastering Programming (2016)
#79I think an expert knows this. and For A new, non-expert, these suggestions might be too generic, too high level, broad. They wont grasp the point.
As someone who is not an expert but tries to gain wisdom from past experiences, it helps me to see where my intuitions might have been right or wrong, even if I may not get the point right away.
Re: Mastering Programming (2016)
#80I am always amazed at how some people can put very complex concepts into very simple words. It's an art that is often undervalued.
Recommended: https://press.princeton.edu/books/paperback/9780691147437/cl...