26 ms·
1-star reviews of 'Extreme Programming'
- Glide 13y agoI'm reading the reviews and I realize that I don't have the background and years of experience to understand the software development world as it was in the year 2000 (I graduated in 2006). I get some of it, because of war stories. But I know I'm missing a huge piece of it. Like when did some of the older practices come about? Was it in the 90s? Late 90s? 80s? Are most of the reviewers curmudgeons that that watched the SDLC landscape change before their very eyes as their certifications lost value?
- nickbauman 13y agoIf you mean Waterfall, the term was adapted from civil engineering, which of course made a lot of sense for software (sarcasm). One of the earliest papers on the process was in the 70s by William Royce where the term waterfall was used to describe software development at its worst.
- svachalek 13y agoThe "spiral" model was documented in 1986 and in common practice long before Extreme Programming hit the shelves. I never saw a waterfall-like process in use in the 90s except in the DoD. It was never more than a strawman for XP to beat up on. (Edit: On a hunch I just looked up when scrum originated: 1986 as well.)
- Someone 13y agoSome other arguments that show that XP wasn't as new as the book argues to be: - I doubt Lisp, Smalltalk, Forth, time sharing Basic and similar tools were invented for the waterfall model, and all were available in the '70s. - Weinberger advocated egoless programming in 1971. Also, looking back at the 1960-1975 timeframe, nobody would have accepted XP as a methodology. I can see the discussion "what do you mean by 'if it turns out we need more memory we simply move to a larger computer'? Ordering one will take months, it will cost us thousands of dollars a month, and we will have to build a new computer room. And no, it is not acceptable if that accounting program you are writing turns out to be a glorified checkbook because that is what you can cram into the machine." Also, it wasn't as easy to get a MVP because there were so few libraries to build on. IBM would happily license you their 'database' software or their time sharing software, but you better be sure that you needed it, because you paid for it by the month. But it just wasn't possible to work on the idea "don't worry about the 3D graphics. We'll eventually pick a library, but that can wait." A devil's advocate would argue that the XP book just was a good summary article with great marketing that due to pure luck appeared at just the right time.
- nickbauman 13y agoThe book makes no such assertion: "XP frightens or angers some people who encounter it for the first time. However, none of the ideas in XP are new" – Kent Beck _Extreme Programming Explained_ ©1999
- mariusz79 13y agoLike it or not but the waterfall method does make a lot of sense in software development. It may be useless if you're trying to create another billion dollar useless web app, but is very helpful when you have to create software for mission-critical applications.
- sandfox 13y ago"mission critical"...
- alextingle 13y agoYeah. Mission critical. It's not just a buzz word - there exists software that is critical to completion of the mission. Examples: Missile guidance system. Space probe communication subroutine.
- nickbauman 13y agoI think Beck explicitly states mission critical as a bad candidate for XP. In reality very few systems are mission critical. And of many mission critical systems, only a small part of the code is actually mission critical.
- cratermoon 13y agoYou mean like healthcare.gov?
- selimthegrim 13y agoI currently work at a company making highly FDA regulated software. We once missed a contract with a big drugmaker due to lack of documentation and QA process standards. The pendulum then swung the other way towards waterfall, to the point where people would write 50-page reports about transferring a database schema from MS SQL to Firebird without mentioning that fact that all the databases had the same username and password sitting in the Registry of the client computers that connected to it for everyone to see. (obviously not anymore). To remove a nonfunctional form field I was once asked to fill out 20 pages of documentation (before I threw a hissy fit and some process Nazis left the company)
- Glide 13y agoThe part I wanted to understand more was the culture of workplaces that agile would affect in the coming decade. What created cultures that adhered to waterfall. I find asking, "how did we get here?" fascinating.
- Joeri 13y agoIt's not just software. All business processes have been undergoing change from top-down to bottom-up processes as people realize those companies which allow good ideas to percolate from the bottom win in the marketplace. The driver here is the internet. It used to be the case that you didn't come into contact with good or bad practices except by working in a place they were applied, but the internet ensures everyone can now read online what works and what doesn't.
- walshemj 13y agoI think your looking at the internet with rose tinted glasses business practices go in and out of fashion and some times back into fashion again. I directly saw this as I worked on the BS5750 standard and saw the rise and fall of TQM I think you will find that in traditional engineering does stick closer to traditional project planning PERT/TQM and so on as its a lot more embarrassing and costly if a bridge falls down :-) Its also a lot easier to do in manufacturing is easy you can measure the tolerances on a piston on an engine line and flag thats a defect or not - much harder to do in software.
- asdasf 13y agoCertifications? No, the whole "certified bullshit expert" thing started with XP. Before that people just did their jobs and didn't invent religious practices that had to be adhered to in order to do so.
- bguthrie 13y agoThere has never been an official XP certification. There is a ScrumMaster certification. I'd suggest that you avoid anyone who claims certified expertise in XP. And no, people didn't "just do their jobs." Management methodology isn't a new idea.
- tmcneal 13y agoPMP certifications were established in 1984[1], and while I don't think the certification itself is nearly as abused as "Certified ScrumMaster", PMI and Six-Sigma are definitely touted as panacea, especially in the enterprise. [1] http://en.wikipedia.org/wiki/Project_Management_Institute http://en.wikipedia.org/wiki/Project_Management_Institute
- asdasf 13y agoPMI in 1984 was exactly what it says in the name, project management. It didn't become a programming methodology thing until the agile craze. Six sigma was big in the industrial world, not programming.
- stonemetal 13y agoGrady Booch first published the Booch method around '91. He merged his stuff with a few other guys to make UML and the Unified Process a few years later. The rise of big process in software was fairly fast. The push back you see is more a misunderstanding, they see it as a transition from no process -> process -> no process rather than no process -> too much process -> lighter process.
- Glide 13y agoThanks, I never heard of the Booch method before. So time wise something like UML and Unified Process actually occurred after XP and Scrum? That kind of changes the timeline I had in my head about this. I almost feel like making something to figure out all of this.
- parasubvert 13y agoRUP and UML happened around the same time as XP, in 1998, but it was the culmination of a decade of so-called "object oriented methodologies" being discussed between Booch, Rumbaugh, and Jacobsen. The latter coined the term "use case" in his method. RUP and UML combined the three approaches and modelling notations (I'd say 70% Rumbaugh, 20% Booch, 10% Jacobsen)
- galaktor 13y agomy favorite one so far. from my POV today, if I didn't know this was a one-star review I might mistake it for a positive review :-) (except maybe for the obvious "worst practices" comment at the end) ----------------- This book advocates extreme coding. It's a disguised way to legitimize "dive-into-coding" with no proper analysis and design. This author advocates little if any comments, documentation etc. He actually states that "design is in the code" and documents get out of date and that's an excuse not to do it. How is that in comparison to the "traceability" principle advocated so strongly by Jacobson and Rumbaugh who believe that the final code should be traced back to the analysis documents (use cases in Jacobson book) He advocates programming in pair instead of code reviews! In short, this book gathers the industry "worst practices" exactly the opposite of OMT, OOSE, RUP etc.
- jheriko 13y ago> This author advocates little if any comments, documentation etc. I'm very much of the opinion that good code self documents, and excessive use of comments and documentation is a crutch for bad code. Some optimised code might be really incomprehensible without commnets, but its the exception rather than the case. By far my biggest use of comments is to highlight inadequate or rushed code that should be revisited later (i.e. TODO: or HACK: rather than NOTE:). Don't get me wrong - design and documentation is useful in practice as well as being the 'theoretical ideal' that I think should be striven towards. Diving in and making a mess to fix stuff or diverging from an original design is bad in theory - in practice it is a necessary evil with tight deadlines or when rescuing a project that is already in a seriously bad state - or even when the original design was naive or even impossible because it came from an inexperienced or otherwise inadequate source.
- enraged_camel 13y ago>>I'm very much of the opinion that good code self documents, and excessive use of comments and documentation is a crutch for bad code. I'm very much of the opinion that you are very much of the wrong opinion. "Good code self-documents" is a myth. Most programmers have trouble coming back and reading their own code, much less other programmers' codes. Comments and documentation written in spoken language ensure that the code can be understood much more quickly and efficiently and any misunderstandings are prevented.
- gaius 13y ago... And they were completely right. Who does "extreme programming" nowadays? It was a cult, not a serious software engineering methodology.
- mjolk 13y agoIt's an amazing way to bill extra hours as a consultant without being held to any standard of quality :)
- atomaka 13y agoEven if Extreme Programming isn't followed exactly, many of the practices that these reviews attack are common in today's development.
- asdasf 13y agoBut the very core of XP was that it did have to be followed exactly. That there was 12 specific things you had to do. All of those things were existing things, that people already did. It was precisely the "doing all 12 of them exactly as we say" that was XP. And it was total BS.
- diroussel 13y agoI think the essence of extreme programming is still with us. Have a look at http://en.wikipedia.org/wiki/Extreme_programming http://en.wikipedia.org/wiki/Extreme_programming Many of those principles and practices are followed by my team. They don't all suit every project, but many do.
- SideburnsOfDoom 13y ago> Who does "extreme programming" nowadays? Xp compared to the things that came before it, or to the things that came after it? If you compare the opposite poles of Xp, and the things advocated in those 1-star reviews, the way that a lot of successful bushinesses develop software is a lot closer to XP than "pre-Xp" software methods. It was a watershed for many. In fact, I would agree that the XP and TDD side of the argument won the intellectual debate.
- 13y ago
- abolibibelot 13y agoSome of the criticisms are still valid: there's a definite "gossip magazine diet plan" vibe to the book, even if the clean cut from waterfall or iterative process horrors (Rational Unified Process anyone?) was sorely needed. The criticisms about no metrics supporting the book assertions are valid too (we have more metrics now, though). That said, a lot of things in this book are now considered good engineering practices, and the methodology guys have come back with a vengeance with the Agile/Scrum/Lean/Whatever waves that filled the blanks left by XP (and ensured a nice revenue stream for pure process consultants).
- praptak 13y ago> the clean cut from waterfall ...was in fact a strawman. The whole horrible waterfall process was an urban legend: http://postagilist.wordpress.com/2012/06/13/the-perennial-waterfall-strawmanmyth/ http://postagilist.wordpress.com/2012/06/13/the-perennial-wa...
- jheriko 13y agoyeah... i never heard of waterfall until after experiencing a naive use of scrum and having it referred to as 'the alternative'.
- MartinCron 13y agoGood for you. Some of us old-timers have lived through pure waterfall, waterfall-inspired, and guilt and shame for not doing waterfall right.
- abolibibelot 13y agoThe guilt and shame is so spot on. Living though such projects illustrated so well the "the beatings will continue until morale improves" project management school of thoughts. This school has its agile proponents too, though. But compared to the common practices of the penultimate decade, XP and Agile at least acknowledged that failure was the default mode of software development projects, and made contingency plans for it.
- bazzargh 13y agoThe reviews complaining about evidence did have a point. At the time, XP was based on experiences at Chrysler implementing the C3 project - which was canned http://c2.com/cgi/wiki?ChryslerComprehensiveCompensation http://c2.com/cgi/wiki?ChryslerComprehensiveCompensation Though tbh the same could be said of any of the mountains of methodology books we waded through in the 90s. The word 'evidence' appears precisely once in the RUP white paper, and it's not in reference to evidence for RUP itself being effective.
- robin2 13y agoProjects can be canned for all sorts of reasons, but from what I recall the people involved in C3 blamed the Chrysler management. Perhaps the latter were more interested in having a working payroll system than inventing the future of software development. One of the criticisms I remember some people making of XP when it first came to prominence was that it shifted a lot of the hard work of software development onto the customer, or rather the customer representative; certainly, ever since I heard about what happened to the first XP customer representative (see http://www.coldewey.com/publikationen/conferences/oopsla2001/agileWorkshop/hendrickson.html http://www.coldewey.com/publikationen/conferences/oopsla2001...) I've taken comments about XP being a humane methodology with a pinch of salt.
- bazzargh 13y agoI don't disagree with what you say about C3; my comment is more to do with the "see one-write one" nature of software books. Even though some books turn out surprisingly well, there's a distinct lack of depth and statistical analysis in the field.
- ekidd 13y agoIn the late 90s, I worked in two different Lisp companies (one of which went on to become quite successful). They were, in many ways, far more modern than the average C++ shop of the era: They accepted that programming could be exploratory, that unit tests were a great thing, and that you wouldn't know what you wanted until after you'd already built half of it. And yet… I remember programmers who disappeared for months at a time to work on "their" modules. Integration phases where we tried to combine wildly incompatible components after 6 months of separate work. The breathless joy of seeing an actual regression test suite for the first time. The endless arguments trying to find the ideal design. And we all thought this was the "right way" to develop software! I remember Beck's Extreme Programming. For me, it came as a bolt from the sky, obviously radical and brilliant. It turned me from a clueless junior programmer into somebody who took over and turned around a 150,000 line, 14-year-old C++ project, a project which everybody thought had succumbed to terminal bit rot. Unit tests. Short iterations. The planning game, a.k.a., "Here, let me take your list of features, and tell you what each one costs. Now you decide what order we build them in." Man, does it bring back memories. Of course, that was pretty much the shining high point. Within just a few years, Beck's idiosyncratic personal vision had been replaced by the "agile manifesto", and then by an entire consulting industry. Good riddance to all that. But you know, it's been a long time since I heard somebody say "integration phase" or "object-oriented analysis." And I couldn't be happier.
- nickbauman 13y agoI had a similar epiphany when I read Beck's book around 2000 or so. I don't think the Agile community has added much if anything to the work Beck originally laid out, either. In fact the term "Scrummerfall" is now in common usage here in Minneapolis.
- Nimi 13y agoWell, that was somewhat predictable. You've got a lot of managers. Some of them don't like to code, and regardless, all of them certainly need to be employed. What would they do if their shop started doing XP? One or two can become PMs or coaches, but what happens if you have much more managers? At the risk of sounding somewhat loony, I think Marx said something about the middle class (in his definition: the class between the proletariat engaging in production, and the ruling class of capitalists) trying to preserve the benefits it gets from its social role. Can't find a citation though.
- jheriko 13y agohttp://programming-motherfucker.com/ http://programming-motherfucker.com/
- codegeek 13y agoWhenever I see/hear the word "extreme" in the context of anything, it sounds like a cult to me. Obligatory reference [0] [0] http://www.youtube.com/watch?v=FO2Abp0FbA0 http://www.youtube.com/watch?v=FO2Abp0FbA0
- hyp0 13y agoFred Brooks advocated most aspects of extreme programming in 1975 (MM-M).
- DavidHogue 13y agoAnd today most people I know who mention it keep saying XP when they mean pair programming. Not as if it's one of many practices in XP, but as if the two were synonymous. Please tell me this isn't common.
- parasubvert 13y agoPeople latch on to what aspect they don't like of a thing and it becomes synonymous with the thing itself. With XP, sadly, this is true. Most times you bring up the XP practices individually, and they're "good ideas". You say XP, and they say "fuck pairing!"
- dpweb 13y agoHopefully we've evolved to the point where we can reject any dogmatic approach and realize that there exists certain good practices that can be applied - but it depends on the environment we find ourselves in, size and makeup of available team, timeframe, existing rules we have to adhere to for the particular project etc.. No silver bullet, but we rehash these debates endlessly.
- ams6110 13y agoThe comment about pair programming resonated with me: What Mr. Beck writes about the paired-programming aspect is contrary to common sense and anyone even the slightest inkling of perception into the personality traits of developers. Pair programming was THE most distasteful, unpleasant thing I have ever done in any employment. And I include in that my very first job which included cleaning grease traps and bathrooms at McDonalds.
- bitwize 13y agoGurdjieff said that the path to spiritual development is to like what it does not like. If developers do not like pair programming, is it a problem with pair programming or is it a problem with developers, specifically their unconscious, machine-like it? The whole point of XP is not only to go against management best practice but also against the comfortable habits of most software developers, in an effort to make them better developers.
- JoeAltmaier 13y agoYeah, so, if XP is based on psychobabble then that explains part of why it seems so repellent to lots of technical people.
- andrewflnr 13y agoPushing against arbitrary comfortable habits is not a way to become better at anything. Some of those habits/inhibitions have very good reasons.
- nickbauman 13y agoI found pair programming preferable to code reviews in both efficacy and enjoyment. Because, you know, you can't really skip this part in most larger systems where more than one developer is involved. You have to do one or the other. So you're doing code reviews ... Right?
- danbruc 13y agoWhat's the problem with pair programming?
- rubiquity 13y agoRobert C. Martin (known as "Uncle Bob" to many) wrote a blog post somewhat related to this recently. The gist is that Extreme Programming the name is dead because Extreme Programming the principles have been (mostly) widely adopted. It's a great read and I recommend checking it out. http://blog.8thlight.com/uncle-bob/2013/12/10/Thankyou-Kent.html http://blog.8thlight.com/uncle-bob/2013/12/10/Thankyou-Kent....