Slashdot Mirror


Integrating Agile Development

James Edward Gray II writes "If you've ever wanted to know more about the agile programming methodologies, Integrating Agile Development in the Real World is a fine place to look for the answers to your questions. Various agile methodologies are explained, compared, and contrasted within. A good look is taken at how they work, their strengths and weaknesses, and how they compare to the more traditional approaches of software development. This proves to be a strong introduction and overview to agile programming practices." Read on for the rest of Gray's review. Integrating Agile Development in the Real World author Peter Schuh pages 346 publisher Charles River Media rating 8 reviewer James Edward Gray II ISBN 1584503645 summary An encyclopedia of agile software development practices.

The book opens with a couple of chapters exploring exactly what it means to be an agile development team. The author doesn't spoon feed you a definition. Instead, he takes a look at the Manifesto for Agile Software Development and pulls from that a collection of values important to agile software development. A list of agile principles is presented, and each of these aspects is examined from the angle of what it's trying to accomplish and where it can help when building software.

At this point, the book introduces seven methodologies including The Crystal Methodologies, eXtreme Programming, and Scrum. Each approach is defined by their practices and focus. The author does a nice job of telling you where these methodologies excel and even where they don't. The approaches are contrasted, but not with an eye towards finding out who is right and who is wrong. Instead, the author digs for the strengths in each practice.

The next few chapters offer suggestions about what agile practices can do for your development team, and outline how to adopt a few agile practices. This is one of the many places where the book really shines, thanks to its realistic approach. The author knows that not everyone can run out, soak up some eXtreme Programming training, and convert their entire division overnight. If you can, great, but this book is more focused on people who don't meet certain agile requirements and others who just want to test the waters a little. For these groups, there is sensible advice like, "Start by doing X, Y, and Z, because they're great ideas, easy to implement, and will help you a lot." If you like those changes, the author suggests what to try next. Even better, you're told to back away from the changes you don't like, sprinkle in some ideas from other methodologies, and even customize the practices to your needs. That may not be as extreme as some agile developers would prefer you to be, but it is agile programming distilled down to what it can do for you personally. I found that to be a great touch.

With the introduction to this new world of software development covered, the book moves into detailing actual agile practices. Early chapters in this section focus on the programmer, testing, and even the database side of the operation. Later chapters get into management, the project, and an agile development cycle. When a practice is defined, you're warned of prerequisites you should have in place before considering it, offered advice for how to get started with it, and even given a few variations that might work better for your group. I wouldn't say that the detail here is sufficient to teach you all you need to know, instead this section arms you with the knowledge to decide what you should be looking into. To kick-start your research efforts, a practice always ends with a list of further resources, available both online and in print.

The final chapters of the book get more abstract, dealing with customers, communication, and even just people. There's a lot of sound advice hidden away in these pages for some difficult challenges. I personally learned a lot about how agile development deals with customers and I have a few new ideas I'm anxious to try on my clients.

As an added bonus, the book has a very nice layout, filled with intelligent, witty prose and good looking charts. These effects are always subtle but can make a text a lot more approachable. I believe my only complaint was that the author tends to throw around acronyms assuming you know what they stand for. I think he even eventually got around to defining all but a couple, but not always when you first encounter them. A glossary probably could have helped in this case.

In summary, this book is agile programming for everyone. As a one-man operation, common practices like pair programming aren't even an option for me. The author knows that the methodologies aren't one-size-fits-all, and really focus on exactly what they can do for you, whatever your own needs may be. If you don't follow any development strategy (hope that's not true), would like to know more about the agile practices without joining a cult, or even just want to stay sane in your traditional software development company, Integrating Agile Development in the Real World will give you plenty of fresh ideas.

You can purchase Integrating Agile Development in the Real World from bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page.

121 comments

  1. Re:Summary: This is a great book by smittyoneeach · · Score: 1

    The Lennon parody in the wikipedia link is a hoot. I give it a 10.

    --
    Get thee glass eyes, and, like a scurvy politician, seem to see things thou dost not.--King Lear
  2. Hardly ...its a really terrible book!! by moofdaddy · · Score: 4, Informative

    I have been a huge fan of Peter Schuh since his first book so when this came out I quicky snatched it up. After the first chapter I was already quite dismayed with it. First I have to say that the quality fo writing is sub standard, I had grown to expect a certain degree of quality fo Schuh but found this to be lacking. I even found a couple of spelling mistake (which is saying something considering i can spell horese) in the first 100 pages.

    Style aside the substance is terrible. If I actually tried to implement the testing and development enviorments that he suggest my boss would first fire me and then run me out of town for ruining his company.

    The most frusterating was chapter 4 where he actually does start to touch on something that could be useful and definetly had merit but he doesn't finish the idea and leaves the reader frusterated wnating more. That could have used a book all on its own.

    Avoid this book at all costs.

    --
    Be better in bed. Wikiafterdark!
    1. Re:Hardly ...its a really terrible book!! by Anonymous Coward · · Score: 0

      I have read your post but found it to be lacking. I even found a spelling mistake (which is saying something considering i can spell horese) in the first 100 words.

  3. Somewhat offtopic but... by GillBates0 · · Score: 4, Funny
    As long as we're talking about XP...

    Some of the best days of my Software Engineering class were spent doing an Xtreme Programming assignment with a cute female chick as my partner. We earnestly spent days with her looking over my shoulder while I showed off my l3tt c0ding skills.

    She even thanked me for the 95 we got in that assignment.

    Aah, eXtreme programming....the best software engineering methodology for geeks.

    --
    An Indian-American Hindu committed to non-violent thought/speech/action alarmed by the global explosion of radical Islam
    1. Re:Somewhat offtopic but... by Anonymous Coward · · Score: 1, Funny

      I too dream of one day being looked at by a girl... ohhhh it's going to be great!!!

    2. Re:Somewhat offtopic but... by achacha · · Score: 1

      Tread lightly with that tone, you are on Slashdot and bad things happen to people who ridicule the natives!

    3. Re:Somewhat offtopic but... by Anonymous Coward · · Score: 0

      No wonder Slashdotters don't get any.

    4. Re:Somewhat offtopic but... by JTFritz · · Score: 2, Funny
      assignment with a cute female chick as my partner.
      Cute female chick, compared to a Cute male chick?
    5. Re:Somewhat offtopic but... by orasio · · Score: 1

      Do you have the skill to tell a female from a male chicken?

    6. Re:Somewhat offtopic but... by serutan · · Score: 1

      Dude, you should have made her do the coding so you could look over her shoulder. Get it right next time.

    7. Re:Somewhat offtopic but... by Anonymous Coward · · Score: 1, Funny

      "Some of the best days of my Software Engineering class were spent doing an Xtreme Programming assignment with a cute female chick as my partner. We earnestly spent days with her looking over my shoulder while I showed off my l3tt c0ding skills.

      She even thanked me for the 95 we got in that assignment."

      So dude, did she thank you by giving you head, or did you just resort to self-service again?

    8. Re:Somewhat offtopic but... by Anonymous Coward · · Score: 0

      > Do you have the skill to tell a female from a male chicken?

      A female chicken is a hen; a male chicken is a cock (a.k.a. a rooster). It's quite easy to tell a hen from a cock.

    9. Re:Somewhat offtopic but... by Anonymous Coward · · Score: 0
      I've been teaching computer science (LSSU, Michigan) for almost a decade now

      How odd that your name doesn't appear in their directory....

  4. Re:Summary: This is a great book by Anonymous Coward · · Score: 0

    in soviet russia, government parodies you!

  5. Re:Summary: This is a great book by lukewarmfusion · · Score: 2, Informative

    This caught my eye (additional emphasis mine):

    Imagine oral documentation. I wonder if you can
    No need for UML diagrams. Just words passed, man to man
    Imagine just refactoring, playing in the sand


    Someone needs to update that article with a nice link to this article.

  6. better book by carnivore302 · · Score: 4, Informative

    I have read both this book and Agile Software Development, Principles, Patterns, and Practices by Robert Martin, and must say I prefer the latter. Martins book is better written, does a better job of explaining the strengths and weaknesses using some well choosen case studies. Martin is also the author of the well known (well, in some circles :-) ) Designing Object-Oriented C++ Applications Using the Booch Method.

    --
    Please login to access my lawn
  7. the plan by achacha · · Score: 3, Insightful

    Individuals and interactions over processes and tools
    Working software over comprehensive documentation
    Customer collaboration over contract negotiation
    Responding to change over following a plan

    Sounds great but how do you convince the sales/marketing/business/management types that it is better to deliver a working product than to syphon money from a customer, deliver something barely resembling what they requested and then charge them more to improve the product to meet their "new" needs.

    Most developers can make software that the cutomer wants if they actually talked to the customer, but sales and marketing people somehow think that developers don't have perople skills to deal with customers... it is a sad world when someone with a business degree tries to make a technical decision.

    1. Re:the plan by 0racle · · Score: 5, Funny

      "What exactly do you do here?"
      "I deal with the god damn customers so the engineers don't have to! I HAVE PEOPLE SKILLS! Can't you understand that, I AM GOOD AT DEALING WITH PEOPLE! WHAT THE HELL IS WRONG WITH YOU!"

      --
      "I use a Mac because I'm just better than you are."
    2. Re:the plan by Anonymous Coward · · Score: 1, Insightful

      It's a lot easier when you're doing internal business applications, which seem to be overlooked most of the time...

      The majority of the applications I work on are for my business partners who want to cut the red tape as much as me and my managers.

      Finding a happy medium for producing fast/complete applications while making them supportable for the next 20 years without spending months trying to document and work through processes would be a God-send.

    3. Re:the plan by Anonymous Coward · · Score: 1, Funny

      "So you physically take the requirments from the customer and give it to the developers? Couldn't the customers give the requirements to the developers directly?"

      "Damn it! I HAVE PEOPLE SKILLS!"

    4. Re:the plan by Surt · · Score: 1

      The most convincing argument you can make is that you are losing customers in droves to a competitor who delivers more effective software. Of course, by then you are well on your way to out of business.

      Your case to make then, is that it would be better for your marketing people not to have to find work at a new company when yours goes out of business, and that they can do that by allowing the development team to deliver quality software.

      --
      "Who is the Journal of Quantum Physics going to believe?" --Stephen Hawking
    5. Re:the plan by EnderWiggnz · · Score: 1

      you make the marketting guys the SCRUM Master.

      --
      ... hi bingo ...
    6. Re:the plan by dubl-u · · Score: 1

      Most developers can make software that the cutomer wants if they actually talked to the customer, but sales and marketing people somehow think that developers don't have perople skills to deal with customers... it is a sad world when someone with a business degree tries to make a technical decision.

      Quick tip: what to make isn't a technical decision; it's a business decision. HOW to make it is the domain of us techies.

    7. Re:the plan by achacha · · Score: 1

      Knowing what the requirements are is important. We techies are usually quite intelligent and can understand what the customer wants. The big problem is that 'what customer wants' gets translated by the sales/marketing to 'what I think we can deliver that customer wants' and sales/marketing people are not techies and do not know what is possible and what is not. We techies can work as sales/marketing, but not vice versa.

      I remember working for a company where we had a full suite of products and I would often get a request for functionality that was sold and think to myself "do these people not know what we have?" and that is the hard truth, sales people will agree to anything whether possible or not.

      While some techies prefer to stay out of sight, there are others who would like to work more proactively and actually collaborate on a product instead of being told what to do by people half educated and half intelligent as them.

    8. Re:the plan by dubl-u · · Score: 1

      Sorry, I guess my quick tip was too quick.

      I agree completely that we techies should collaborate vigorously. I also agree that letting salespeople control the product plan, especially when they arbitrary schedules based on their own fantasies, is a mistake.

      But I disagree that techies are qualified, simply on the basis of raw intelligence, to make business decisions. A good product manager is just as smart as the programmers. There's no reason to think they could step in and dictate development, just like there's no reason to think that your average developer is qualified to do all the things a good product manager does.

      If you've been working with dumb product managers or salesmen who think they can pretend to be product managers, that's the problem you should solve.

  8. working link by elid · · Score: 1
  9. A big stumbling block... by Zangief · · Score: 4, Insightful

    Documentation.

    Most big enterprise require loads of (normally useless) documentation. If your client is into CMM or any ISO standarization this is even worse.

    There is no agile way of producing this documentation.

    1. Re:A big stumbling block... by ClosedSource · · Score: 1

      You just define your process to exclude the documentation.

      CMM and ISO software standards have little to say about quality in the conventional sense (i.e. a particular product does what its supposed to and does so for a reasonable time). They're all about an organization's processes consistently applied. No useful output is required.

    2. Re:A big stumbling block... by woodix · · Score: 3, Insightful

      This was the first thing I said to a good friend of mine who is an Agile Progject Manager. Her reply which is utterly graceful in its simplicity: test cases are your documentation. When the code you write gives you the results you expect in testing, you're done. Anybody who later wants to enhance the code (assumably the same group who wrote it the first time but theoretically any Agile dev(s)) should be able to take the test cases, determine what's going on, build NEW test cases based on the expected results for the changes and generate code based on the delta of original functioning test cases and new test cases.

      Or as I said before, the test cases are the documentation.

      This may seem like pie in the sky and "hardened" devs are sure to line up telling me it never really happens that way. However, I know for a fact that it does. It can (and is) successful when the customer buys in and understands Agile Methods, peer review of code prevents sloppy product and tight iteration control is exercised.

      Agile types, please feel free to corret me.

    3. Re:A big stumbling block... by Anonymous Coward · · Score: 0
      You've got test cases?!!!

      I'd kill a rabid hyena with a dry-erase marker for test cases!

      Seems like a lot of this agile RAD XP process is often used as a excuse for having no process at all.

      bloody diletantte!

    4. Re:A big stumbling block... by woodix · · Score: 1

      Breaking the mentality of process prevents "real work" is part of getting customer buy in to Agile Methods. To borrow a friend's metaphor, the customer has to drink the kool-aid. Once they believe and understand, Agile Devs working with the customer within the test cases they lay out COOPERATIVELY make it all happen.

      Clearly you haven't partaken of the kool-aid...and are in desperate need of a fresh dry-erase marker....and a better PM. If you are the PM...well, there's always waterfall.....

    5. Re:A big stumbling block... by seigel · · Score: 1

      Remember that the documentation can just be a task that the customer schedules, knowing that it has a cost just like any of the other development.

    6. Re:A big stumbling block... by Who_else_but_me · · Score: 1

      In these days of forums and /. do we really need documentation?

      Well, maybe a browser or a modem may need some... a bit hard to get onto the forums without those!

    7. Re:A big stumbling block... by tjhart · · Score: 1

      To say that Agile development doesnt' include documentation, or that you can't do documentation in an agile development process is simply incorrect.

      While Agile programmers certain like to avoid documentation (http://www.martinfowler.com/distributedComputing/ thud.html), if such documentation is a user requirement, than deliver it.

      The key is helping the user understand what they are paying for. When the user begins to understand the cost of documentation, and 'documentation maintenance' when the code base is changing frequently, than a compromise can be reached. In cases, test cases are acceptable documentation. At other times a disciplined team can write javadocs/docbook/ every nth iteration that will satisfy the user.

      Documentation is important to non-technical people. And to support people that have to diagnose production problems with cryptic error messages and no familiarity with the code base. Just keep in mind which documentation is valuable, who the audience is, and when the process is solidified enough that the documentation can be written.

    8. Re:A big stumbling block... by Anonymous Coward · · Score: 0

      Development company: Documentation is expensive to create and maintain. Do you understand?

      Customer: We want full and update documentation at all times and we won't pay anything extra for it.

      Development company (meekly): OK.

      If there's one thing customers hate, it's being "educated" by their vendors.

    9. Re:A big stumbling block... by jjoyce · · Score: 1

      I think the idea that tests are the documentation is flawed because prose documentation is helpful and reading code causes people to make assumptions. Not one Java developer I know gets his or her daily work done by looking at the JDK source code. They all read the Javadocs. Rarely do test cases cover the entire breadth of functionality; when people refer to the implementation code for how something works, they will make assumptions that leak out into the code they write. While I do find it unncessary to write books and diagrams, simple prose API documentation is essential. Most of us do not want to wade through a bunch of test code just to see how something should be used. If the idea is that API documentation is just another point of maintenance, then tests should be avoided for the same reason.

    10. Re:A big stumbling block... by woodix · · Score: 1

      I think you're missing the point. There is no test code. Gathered requirements become test cases and the (production) code is built to pass the tests. Peer review within the team working the project prevents crappy code from making the release b/c an Interation Manager enforces coding standards.

      Coming out of a "traditional" waterfall style of iterative development it can be a bit dificult to wrap your brain around it, but it does work.

    11. Re:A big stumbling block... by woodix · · Score: 1

      Excellently put and a point I missed!

    12. Re:A big stumbling block... by GileadGreene · · Score: 2, Insightful
      I personally don't buy into the whole XP/Agile methodology, but I do think that they're on to something with their test-driven approach. Of course, what they're on to is getting back to actually writing real requirements, instead of the fluff that passes for requirements documents these days, but that's beside the point.

      Ultimately, requirements are supposed to define what the customer will consider an acceptable product. Too often what they end up being is a bunch random features which may or may not actually solve the customer's problem, as well as a bunch of other drivel which really has no relevance to the customer's acceptability criteria and often represent premature design decisions.

      Test-driven development essentially returns us to the idea of defining an acceptable product, and then producing a design which meets the acceptability criteria. It has the added advantage that the "requirements" are now expressed in a well-defined language with formal syntax and standard(ish) semantics, instead of vague wishy-washy natural language. The only drawback I see is that the language involved is (a) not necessarily amenable to consistency analyses beyond static type-checking, and (b) may express things at such a low level that validation is hard. I'd rather see the requirements/tests expressed in a higher-level formal language (Z, B, CSP, LOTOS, VDM, etc.), with test-case code automatically generated from the formal requirements. If the requirements change, the test-cases can easily be regenerated, and the implementation redeveloped to pass the new test-cases (assuming it doesn't pass them as is).

    13. Re:A big stumbling block... by dubl-u · · Score: 1

      This may seem like pie in the sky and "hardened" devs are sure to line up telling me it never really happens that way. However, I know for a fact that it does.

      Having tried Extreme Programming, I can testify. On a recent project, we had pretty much 100% test coverage. After 36 developer-months of happy construction and no formal QA, we released to the public and have had a total of 2 bugs in production and zero downtime in the five months since launch. The CEO, a Silicon Valley veteran, said he's never seen anything work so well.

      The code is excellent, and the test cases do indeed clearly document what things are for. The unit tests explain the code from the developer perspective, and the acceptance tests say what the product manager thinks the project should do. Aside from a stack of story cards,some HTML mockups, and the product manager in the room, the tests were all the spec we needed.

      Of course, hardened developers won't believe me either until they give it a fair try. My bet: sincerely try the full set of XP practices for eight weeks, and you'll keep at least 80% of them. Yes, pair programming included.

    14. Re:A big stumbling block... by dubl-u · · Score: 1

      There is no agile way of producing this documentation.

      XP teams have been blessed up to CMM level 3 with only minor additions. See the papers from Agile conference proceedings (and also from CMM people like Mark Paulk) for details.

      There are indeed plenty of relatively agile ways to produce necessary documentation. It's the unnecessary documentation, the stuff that nobody ever reads, that agile methods tend to leave out. But I'd say that leaving out pointless work is a process feature, not a process bug.

    15. Re:A big stumbling block... by jjoyce · · Score: 1

      What you're describing is even more flawed. Enforcement of code quality solely through person management is doomed to failure. Automated builds with integrated unit tests are mandatory. Use cases are high-level; they do not document how an API works.

    16. Re:A big stumbling block... by sonamchauhan · · Score: 1

      You've hit the nail on the head here re: testing having the capability of making documentation come alive.

      For eg, a typical requirement specification document is a bunch of unchanging bytes that says stuff like: "the system must do blah". There is no sync-ing of this dead document with the oft-shifting ground reality of the codebase it purports to document. The situation gets a bit better with API documentation, but it is still a problem.

      Instead, if after saying "the system must do blah" , imagine a little button next to that said: "press here to run the system with input 'bla' - expect output 'lah'" . Now imagine all such "requirement tests" automatically being tested each night. This would directly verify high-level requirements of a system, with no need for a formal language.

      I think these things are important:

      (o) Higher level testing
      I favor integration or system level tests over unit tests because that's where the maximum bang for the buck is. I.e. "Proving an entire system" with a small set of complex integration tests is more important than running 100 times that number of unit tests, only to have the system crash on deployment. I've implemented something similar recently with high level integration and load tests run nightly.

      (o) Automated requirements verification.
      These days, my formal specs have a section "Verification of Requiments fulfillment" where I manually document how the loop was closed and requirements met. An automated version of this process would pump in real test data, as part of regular test processes. The main benefit is such testing could be inspected and traced anytime by analysts to examine how a system _really_ works and where the problems _really_ are.

      (o) Development issues in testing.
      Writing tests is just more development - the difference is this code has the property of self-testing itself against the system.
      Often tests and test data needs to be updated when system behavior changes. Writing tests that are highly parameterized is one way of doing this. Another way is tools that support refactoring of code and tests. Aspect oriented programming (AOP) / metaprogramming could be another solution.

  10. Re:My experience by Anonymous Coward · · Score: 0

    Just to point out to , Parent Really is missleading , seems informative but is not.
    Agile is a style

  11. I heard he was dead... by Anonymous Coward · · Score: 0

    Bob Abooey? Is that you?!!!

  12. This should be in the /. trolling faq... by Anonymous Coward · · Score: 0
    I too have a problem with my Mac.

    It's been posting the same bloody troll since 1999!

    Please help!

  13. Parent is a troll by Anonymous Coward · · Score: 0

    I've been using Agile for years, and I love its excellent debugger. Not to speak of the highly optimizing compiler.

  14. The parent is an obvious troll by Anonymous Coward · · Score: 0

    I don't know about the book but this guy is obviously a troll. If you do a search you'll see that this is the author's first book. And the post doesn't actually reference any content in the book. Way to go mods, you got suckered by a troll who's slightly more creative than average.

  15. Re:My experience by Clover_Kicker · · Score: 1
    Which USDA requirements?

    The ones about bullshit?

  16. Re:My experience by Anonymous Coward · · Score: 0

    Awesome.

  17. Answer by Anonymous Coward · · Score: 0

    Only one makes eggs.

  18. Re:Summary: This is a great book by Anonymous Coward · · Score: 0
    According to the Slashdot Book Review System. An "8" is trashing the book.
    > 9: Excellent book.
    = 9: Average book.
    < 9: Lousy book.
  19. Extreme Programming Installed by mindpixel · · Score: 3, Insightful

    If you are interested in doing agile development, another interesting book is Ron Jeffries, "Extreme programming installed"...Here's my May 2001 amazon review of it:

    People are starting to take XP very seriously simply because it delivers quality code instead of just documents about code. The core philosophy can be summed up: "A feature does not exist unless there is a test for it." (P.83) This means that coders (pairs of programmers in XP) first construct unit tests of product features before the attempt to code the features. What this means in practice, is that the code that XP delivers (continuously in 3 week long iterations) can never be broken! I'll say that again just to make sure you read it: XP code can never be broken! I really think XP's adaptive, test-first philosophy is the best thing that has happened to software engineering since Dijkstra told us that the "Goto Statement is Considered Harmful" in 1968.

    This book is the best of the XP series if you've actually made the decision to use XP. If you're not sure about what XP is or what it's limitations are, go to google and do your homework. When you're ready to actually install an XP project, get this book.

    1. Re:Extreme Programming Installed by Anonymous Coward · · Score: 0

      So, if even one bug is found in XP developed code, you're pretty much full of shit, right?

    2. Re:Extreme Programming Installed by Anonymous Coward · · Score: 0

      This is true as long as the requirements never change. Once a requirement changes, the test is broken, and the code is broken, but you may never know it.

  20. Agile programming is great by Anonymous Coward · · Score: 2, Insightful

    Once I understood the basic concepts, it was a real eye-opener. Wow, just write what you need, and use lots of tests so that it's easy to add new stuff later without breaking everything. Write your code simply so it's easy to read, refactor all the time so your code stays nice and beautiful and tight.

    But that's it really. You don't need more of a paragraph to explain it. Any smart programmer, once explained the basics, should understand in an instant how it can help them. Then the thinking spreads into the rest of your project, into your project management, into what tools you use, etc.

    I bought Chromatic's little Extreme Programming pocket guide (O'Reilly) and that told me everything I needed to know (yeah XP is just one way to be Agile but the basics are there).

    Just the idea of "not programming ahead of the requirements" clicked in my head right away.. "you mean.. I don't have to flex my uberprogramming skills on every project? I can just do what they asked for and then add more when it's needed?"

    So I guess what I"m saying is, "Agile" is fast becoming a buzzword. Once it reaches buzzword status, people who could benefit from it start getting turned off.. "Teach Yourself Agile Extreme Programming in 10 Minutes By Example For Dummies" REAL programmers don't buy books with those kinds of buzzwords in the title, right?

    So just pick up the O'reilly XP pocket guide, poke around on the interweb, and remember that "Agile" is just "software best practices".. the ones you're not doing now but inside you know you should.

  21. MOD PARENT DOWN by Anonymous Coward · · Score: 0

    This is the author's 3rd book, check amazon. He is just trying to troll himself.

    1. Re:MOD PARENT DOWN by Anonymous Coward · · Score: 0

      Good idea. I went to Amazon, Barnes and Noble, and the author's web site for that matter. Turns out this guy only has one book published ever.

      Now, I realize it's lonely when you live in your parents basement and have no social life, but do you have to take it out on others? You could always do something productive like take out the trash like your mom asked you to. It'd make her happy.

  22. My experience with eXtreme Programming != good by Morpeth · · Score: 3, Insightful
    I don't know if it's the people managing the projects (I'm a developer, most of my experience is in the financial & mutual fund industry) -- but in the two places I've worked that were into XP, things always went late, over budget and the apps tended to have a lot of bugs or needed reworking.

    My biggest issue was not having well-defined user specs and documentation to work from. As much as I consider myself a generally bright person, and a decent listener - I felt like I was often having to interpret and 'guess-timate' a lot. And it's frustrating for a team to be in the hotseat when there's no document saying 'it says right here, you promised X by date Y.' It seems too loosey-goosey imo.

    Now granted, I'm not 'up' on XP, I'm only commenting on my experience with orgs that claimed to be implementing it -- perhaps their way of doing XP was flawed. But for all the talk about rapid development and the sort of hip mystique around it, I didn't find it be a time or money saver.

    I think traditional 4 stage life cycle development tends to work in my exp. Perhaps it's because I've been involved in larger financial apps w/ lots of business rules/reqs, where you just can't afford f-ups, people get understandably upset if you screw with their money.

    I'm curious is XP 'sold' as working on large apps, or is it really most suited to smaller projects, and/or minor enhancements to existing applications ?

    --

    'The unexamined life is not worth living' - Socrates
    1. Re:My experience with eXtreme Programming != good by ShadyG · · Score: 1
      Now granted, I'm not 'up' on XP, I'm only commenting on my experience with orgs that claimed to be implementing it -- perhaps their way of doing XP was flawed.

      It always is. If you're using XP and it doesn't work out, it's because you did it wrong. Just ask any XP zeal^H^H^H^Henthusiast.
    2. Re:My experience with eXtreme Programming != good by Anonymous Coward · · Score: 0

      If you're using XP and it doesn't work out, it's because you did it wrong.



      I've heard that before, without the sarcasm, in the first person, and with a tone of self-reproach for the speaker's own inadequacy.

      XP has good followers (refactoring is an excellent way to maintain code) and wicked, evil cult members. The key to making XP work correctly is to understand where the line is: to what extent XP is to be praised or blamed for a project's status, and to what extent the coders are responsible for its status. The coders are not always to blame for a philosophical failure, and the philosophy is not to blame for the coders' failure. That's like labor and managment blaming each other.
    3. Re:My experience with eXtreme Programming != good by dubl-u · · Score: 1

      perhaps their way of doing XP was flawed

      That's a reasonable theory. It sure doesn't sound like my XP experiences. Perhaps you can tell me more about how they did XP.

      felt like I was often having to interpret and 'guess-timate' a lot.

      Extreme Programming requires an on-site product manager. Why would you have to guess if the guy who can decide is ten feet away? And if the product manager was, as XP recommends, defining the acceptance tests, where was the room for mystery?

      the apps tended to have a lot of bugs

      Extreme Programming requires two levels of testing (acceptance tests and unit tests) and continuous code review (via pair programming and collective code ownership). Further, with weekly iterations and frequent releases, both the product manager and the end users should be seeing running code on a regular basis. My last few XP projects have all been under one bug per developer-month.

      At your shop, how do you feel those bugs slipped past all those safeguards?

      things always went late

      In XP the project is generally time-boxed, and data from early iterations is used to come up with the final plan. Thus, features get added or removed to make a date. On the projects I've been on, velocity has generally plateaued in the first 6-8 weeks, which gives you good data to predict the rest of the schedule. How was your project different?

      And it's frustrating for a team to be in the hotseat when there's no document saying 'it says right here, you promised X by date Y.'

      Take a look at some XP team rooms. As you can see, the plan in these is on the wall for everybody to inspect. And the plan should be updated every week through a joint effort by the product manager and the rest of the team.

      I'm curious is XP 'sold' as working on large apps, or is it really most suited to smaller projects, and/or minor enhancements to existing applications ?

      It's sold as working for teams of up to 12 for both new and old development for projects of indefinite duration (but generally a minimum of a couple of weeks). Some people have it working with many more people, either through larger teams or through many collaborating teams.

      But really, it sounds like the places you describe weren't doing XP. Perhaps you could look through a list of XP practices and tell us how many were used on the projects you saw?

    4. Re:My experience with eXtreme Programming != good by OwnedByTwoCats · · Score: 1

      One of the tenets of XP is to have a customer representative available all the time. To avoid "having to interpret and 'guess-timate' a lot".

    5. Re:My experience with eXtreme Programming != good by Anonymous Coward · · Score: 0

      One of the tenets of XP is to have a customer representative available all the time. To avoid "having to interpret and 'guess-timate' a lot".

      That's the biggest difference with other methodologies that require everything in writing.

      XP works only if the customer is available and able to repond and break up every story into smaller stories for developers to estimate. For a team of 10 developers working 40 hours a week, a customer would need to work 100 to 200 hours a week. That's too much for a single person, but having more than one is impossible, since then they would respond differently, leaving inconsistencies in the project.

  23. Greetings from TSP Hell by serutan · · Score: 4, Interesting

    I WISH agile programming would catch on where I work. The big thing taking hold here now is TSP (Team Software Process), the most top-heavy methodology I've ever seen inflicted on developers, and I've been writing software for nearly 30 years.

    Example: the process dictates doing a manual code review individually and in a group, BEFORE COMPILING, to look for things like missing semicolons and other routine errors that the compiler would catch all by itself. If you've done your reviews right, then the code should compile the first time without errors.

    Seems like I've heard all this before. Like around 1978.

    1. Re:Greetings from TSP Hell by Surt · · Score: 1

      That's really scary. Your organization is applying serious energy to avoiding compile errors ... I'd suggest investing serious time in finding an employer more likely to be around in the long term.

      --
      "Who is the Journal of Quantum Physics going to believe?" --Stephen Hawking
    2. Re:Greetings from TSP Hell by KontinMonet · · Score: 1

      One of the very first companies for which I worked had this 'desk checking' process.... They're not around any more.

      --
      Did he inhale?
    3. Re:Greetings from TSP Hell by smileyy · · Score: 2, Funny

      They're just trying to take it easy on those poor Filipino children whose job it is to turn the source code into Java bytecodes.

      --
      pooptruck
    4. Re:Greetings from TSP Hell by serutan · · Score: 1

      Hint: our CEO's name is Bill.

    5. Re:Greetings from TSP Hell by Surt · · Score: 1

      Again ... I'd have to suggest looking for an employer likely to be around in the long term.

      --
      "Who is the Journal of Quantum Physics going to believe?" --Stephen Hawking
    6. Re:Greetings from TSP Hell by Anonymous Coward · · Score: 0

      Actually, while catching syntax errors is nice (and some group at a company with the first initial 'm' created a tool that actually does syntax error detection and correction) the important part of that kind of code review is that it catches design flaws and logic errors.

  24. Re:Need help with my Mac please... by xenoandroid · · Score: 0, Offtopic

    In OS X it's called alias. Look in the file menu while in the finder, drag the alias to the desktop. There are other faster ways such as holding down command+option while dragging it as well. Also in the mac world, most people don't put apps on their desktop. If they want something quickly accessible they use the dock, otherwise they just go to the applications folder. If you really have a lot of programs you might want to build your own folder tree to categorize things like I do. If you want a "start menu" then drag that folder into your dock and right-click/ctrl-click on it when you want to use it.

  25. AP falls on its face... by JCOTTON · · Score: 1
    ...when you are the one to support and maintain the system developed using Agile Programming.
    Here are a few "features" of AP...
    • bad or no documentation
    • unstructured code
    • varying methods (of doing anything...I do not mean methods in the OO sense)
    • bugs bugs and more bugs to fix
    • did I mention documentation? Oh, just read the code to find out what it is "supposed" to do.

    In short, AP is fast and saves money in the short term, but costs much more (in maintenance costs) in the long term. It's great for the initial developers, but hell for anyone who comes in after.
    AP is the same as development using CMM level 1 (or zero sometimes) methodologies. (and there is no level zero)

    1. Re:AP falls on its face... by KontinMonet · · Score: 3, Informative

      Wrong. AP does not say 'no documentation' or 'create bugs'. Whoever implemented your system allowed this to happen. I have implemented AP (Scrum) in three companies and the quality and productivity shot up in all of them.

      --
      Did he inhale?
    2. Re:AP falls on its face... by Anonymous Coward · · Score: 0

      I'm guessing you've had bad experiences, and because of these have never bothered to actually find out what AP is _actually_ about.
      How about you do that...

    3. Re:AP falls on its face... by gstamp · · Score: 1

      I'm been working with an agile team for the past 6 months. As a contractor I've seen a lot of different development environments. This project has the highest quality of any project I've worked with.

    4. Re:AP falls on its face... by Anonymous Coward · · Score: 0

      documentation is always necessary for long term maintenance and support. its just a matter of when you do it. agile and XP may not say anything specific about documentation, but if you wanted to maintain or support it at all, you should document afterwards. duh(?) just cuz a process says something doesn't mean u have to follow it to the letter. do what makes sense.

    5. Re:AP falls on its face... by Anonymous Coward · · Score: 0

      Either the poster does not have any experience with AP at all or is very frustrated and has never been in a functioning AP team (or had to continue code from a bad AP team)...

  26. Re:Need help with my Mac please... by xenoandroid · · Score: 0, Offtopic

    As a mac user I have found a lot of Windows users are snobs when they find out you use a mac, they come off just like you, assholes who don't know what they're talking about.

    There's nothing wrong with someone being excited about their new machine, I see PC users bragging about how nicely certain games run.

    Apple's ads pompous? Dude, they're just trying to target people who don't know much about computers. Think about it, what else does Apple have to advertise? Ghz? (which mean very little), Computability with games?

    The only thing they can advertise to get users who are clueless about what all those specs mean is: "This machine works better than Windows, is easy to use (you don't have to be a computer geek to use it just because it's based off unix), and we try to make it fit well into a home environment (believe it or not, some people really value having a machine that runs quietly and doesn't look like an eyesore in your living room).

    Stop being a snobbish anti-Apple AC and try to see the reasoning behind Apple's business model, SURPRISE! A corporation needs money to survive, you don't think Apple is going to let this chance to not 'die' (as they were doing for so long) slip by do you? Be happy that they at least have the innovation to make up for any 'snobby' business tactics they make.

  27. Agile development is a bunch of horseshit by melted · · Score: 1

    Test-driven development is a good thing. Every self-respecting developer should write unit tests for his own code, and release it to test in a functional form.

    Everything else in agile development methodologies is a bunch of horseshit, I'm afraid. 95% of software development problems would be solved by having good, descriptive, well thought out specs. So that developer wouldn't have to guess what the heck program manager meant by this and that.

    My point is, development is usually good enough given clear, coherent specs as an input. You can't improve the product just by imposing an artificial work routine on developers. You need to get some good PMs first and foremost.

    1. Re:Agile development is a bunch of horseshit by MikeTheYak · · Score: 1

      95% of software development problems would be solved by having good, descriptive, well thought out specs.

      If you ever see one of these let me know.

    2. Re:Agile development is a bunch of horseshit by melted · · Score: 1

      And that's exactly the problem. You wouldn't even begin building a house or making a car without full and complete specifications. In software development you're expected to make shit up on the fly, and then they expect quality out of whatever you produce. Not just that, but the schedule usually allocates 30% less time for development than needed, so you either have to bust your ass, or release a subpar product.

      How does agile development address these issues? That's right it doesn't address them.

    3. Re:Agile development is a bunch of horseshit by Dershum · · Score: 1

      The problem is that rarely (if every) there is time to develop proper specs, plan out the development, and get it done on time and budget, and these methods at least attempt to apply some manner of structure to the development process. I'm not saying that I necesarily agree with using these models, but the fact of the matter they're a necesary evil. Personally, I prefer a modified version of the prototyping model, as that applies best to the kind of work that I do.

    4. Re:Agile development is a bunch of horseshit by Null_Void · · Score: 1

      Perhaps I misunderstood your point, but here is my answer:

      In XP (I realize that there are other agile methods), the client is supposed to be on-site. Thus, the client can answer these questions whenever they come up. I realize that not all clients will want to spend their days sitting around a bunch of developers, but believe me when I say it actually helps quite a bit. Have you found otherwise?

    5. Re:Agile development is a bunch of horseshit by Anonymous Coward · · Score: 1, Informative
    6. Re:Agile development is a bunch of horseshit by kpharmer · · Score: 1

      > I'm afraid. 95% of software development problems would be solved by having good, descriptive, well thought out specs.

      yeah, that's the problem: requirements gathering is the most failure-prone activity in software development.

      Waterfall methods approach this problem by generating pallet-loads of documentation, and having everyone and their brother (theoretically) review the paperwork. This of course almost never happens. When it does happen it's almost impossible for the users to visualize the system anyway - so tons of gaps & errors occur.

      Agile methods approach this problem by delivering the software one step at a time. Something the users can actually interact with, which they do, and then much more easily detect requirements gaps and errors.

      Agile isn't a silver bullet - it relies very heavily on developer skills, and isn't helpful at getting a specific set of requirements completed at a specific date. On the other hand, brooks documented the benefits of focusing on developer skills 40 years ago, and nothing else is accurate at determining target dates anyway.

      ken

    7. Re:Agile development is a bunch of horseshit by jeff_grimshaw · · Score: 2, Insightful
      There's less HS in there than you think.

      To my mind and experience, the greatest benefit of Agile methodologies is that all of them put a premium on communication. Many of the practices (pair programming, on-site customer, etc.) are aimed sqaurely at fostering communication between team members.

      Test-driven development is a good tool and because it's one that's easy for programmers to understand, it's usually the first Agile practice to get adopted. However, I don't think that it's the only (or even the most) valuable one. I can do good work without formal unit tests, but I can't do good work without an on-site customer who can answer my questions as I write code.

      A word about specs. Specs are not a substitute for the customer. Read that last sentance again. Print it out, frame it and hang it on the wall. You shouldn't be writing to satisfy the spec, you should be writing to satisfy the customer. My experience with detailed specs is that they only work for well-known problems with limited scope.

    8. Re:Agile development is a bunch of horseshit by Anonymous Coward · · Score: 0

      Have you ever tried to describe with enough detail how you work?

      Please do it. After that send it to me and I'm sure I cannot replicate it at all. And don't tell me you got tired trying to write a 150-pages text!!!

      There are many problems with having complete specs. First of all, it is difficult to have every single detail of a complicated process in your head. Second, it is very difficult to communicate it clearly so as you, as a programmer, can follow it without having to think about it. Finally, in general, software projects have a huge disadvantage because developers and customers talk in different languages. This last point is not that common under other projects. When some city wants to create a bridge, there is a civil engineering working for them that deals with the contractor.

    9. Re:Agile development is a bunch of horseshit by ClosedSource · · Score: 1

      "Specs are not a substitute for the customer."

      Yes, and the customer is not a subsitute for a spec. Ideas are written down for a very good reason: people are not capable of remembering a large amount of detailed information in their heads.

      If you have an infinite amount of money to burn, you can rewrite the application every time the customer's recollection of the requirements changes, otherwise you'd better have a spec.

    10. Re:Agile development is a bunch of horseshit by tshak · · Score: 1

      You wouldn't even begin building a house or making a car without full and complete specifications.

      We don't build software. Compilers build software. The specifications are written using code. Compilers can't build software without a strict specification. We, the developers, develop that specification. We take requirements and we develop software based on those requirements much like a house or skyscraper developer does. A house developer may draw you a picture or create a model and ask the customer, "do you like this?". A software developer can develop the software and ask the same question many times without a model since the build process is so fast and cheap. This is why software must be agile. If a house developer's first design or model does not satisfy the customer, it would be unnacceptable to tell the customer that it can not change.

      --

      There is no longer anything that can be done with computers that is nontrivial and clearly legal. -- Paul Phillips
  28. My experience with eXtreme Programming == good by Null_Void · · Score: 3, Interesting

    As part of a team which has quite successfully used XP:

    It sounds to me like there was some misconception about the processes and principles surrounding XP here. XP claims that out of the four following variables of software development, only one is generally variable:

    - Length of project
    - Budget of project
    - Code Quality
    - Scope of project

    The length and budget of a project are often fixed, and developers should not be required to sacrifice code quality. Therefore, the scope of the project is where one can gain the most flexibility.

    Part of being able to change the requirements each and every day is that priorities will get shuffled around. This means that some "requirements" will fall off the end of the project in favor of other features, or changes to already implemented features. The customers I work with are greatly appreciative of this power.

    I would say that if a project is going "over time" or "over budget," then the client and developers are not working together well enough to determine what will provide the client with the best business value.

    As for estimates, we generally work under the assumption that estimates are not promises. That's even why a developer is supposed to give an estimate quality. So I could say... hey client, this looks like it will take a day, but my estimate is a shot in the dark. Thus, the client knows that it might take three days instead, and prioritize it accordingly.

    In return, the client is supposed to leave the technical decisions to the developers (like, for example, when to refactor chunks of code). Some customers understand this, and some need help in order to do so.

    Anyway. XP probably isn't for everyone. Some people like the process, some don't. I'm not going to claim it's the *best,* but of the approaches I've taken, I haven't found a better one. If you're curious, yes. My team does work on both large and small projects, and XP seems to work equally well.

    Above all else, remember that XP preaches local adaptation, rather than the blind following of procedure. But if it stops being agile, then you're not really following XP.

    If you have more information that you'd like to provide, it would be interesting to hear about the details (if you can give them) of your "failed" projects.

  29. Agile dev is not a bunch of horseshit by KontinMonet · · Score: 1

    You wouldn't even begin building a house or making a car...

    And this is where s/w specifically differs from other engineering processes. You are not making exactly the same thing over and over again. Or 'finishing' and walking away after a few months. The trouble with waterfall style development is that the description is never complete.

    How many s/w projects out there ever finish? Linux? Windows? OpenOffice? Firefox? Have any of these finished? What complete spec. for all of those existed before the developers started on the project? (I bet next year's salary the answer is: None). And were all of these offerings utter failures? Even Sir Billy Gates KBE could modestly claim some degree of success... Now show me a completely specified project that is/was as successful as any of these.

    --
    Did he inhale?
    1. Re:Agile dev is not a bunch of horseshit by Grab · · Score: 2, Insightful

      Show me a house and garden that's ever "finished"...

      If you regard something like Windows as a single project, then no, it's never finished - in the same way that a house is never finished bcos it gets redecorated/refitted every few years. It's more accurate to think in terms of multiple successive releases. And on those terms, a house and a piece of software are identical - you keep working on it until it's a good enough quality to sell.

      A description of a house doesn't have to be complete, down to the size of screws used. But it does have to say what the house is going to look like and how it works (ie. structurally sound, and electrics and plumbing meet specs).

      Same with software. If your requirements are "dude, we need a really *fast* tool to convert from this format to that format, and there might be a bunch of new fields you need to invent some values for", you're utterly screwed.

      All the requirements do *not* necessarily have to be in place at the start. When building a house, the builders will likely walk the clients through when the floors are in, to fix the locations of pipes and electrical points. Similarly in software, you'll refine your requirements as you go along. The key thing in *both* is that you record what your requirements are, and check when you're done that your product is meeting those requirements. If you don't, chances are that your clients will be unhappy at the end, and you don't get paid (or don't get further contracts).

      I also note that your examples all involve off-the-shelf desktop software. In this field you have to invent requirements beforehand, to try and predict what your customer's requirements are. This is not the case for most software projects - the majority of software developers are working on projects for customers who have some real requirement that needs filling. Even if they can't articulate it precisely, if what you give them doesn't do what they wanted, you don't get paid. And if it comes to court, you need to be able to show that you *did* produce what they asked for, otherwise it's your ass on the line.

      Grab.

  30. maybe you should trying reading something by verbs_of_life · · Score: 1

    Spelling should be
    pensioned off... it terrorises human beings from birth." - Gabriel Garcia
    Marquez.

    ps
    if you were shot in the head - you might be happt to be alive only complete twinks think spelling is important

    1. Re:maybe you should trying reading something by Anonymous Coward · · Score: 0
      only complete twinks think spelling is important

      Only complete morons think clear communication isn't important.

      Here's a tip: not everything you shit from your brain is worth passing on to others.

    2. Re:maybe you should trying reading something by Anonymous Coward · · Score: 0

      ps

      "P.S.".

      if you were shot in the head - you might be happt to be alive only complete twinks think spelling is important

      "If", "head, you", "happy", "alive. Only", "think that spelling", "important.".

  31. Programming methodologies are like diets by David's+Boy+Toy · · Score: 1

    Back when I started programming it was flow charts and "top down programming". I did neither, I visualized what the program was going to do. Then eventually it was UML and specing the hell out of everything as though you where a government contractor. I still visualized was the code and data structures where going to do. Then extreme programming, tomorrow who knows what they will try to shove down our throats. Stop worrying about the latest "way you have to do it". Go out and hire people who have a history of getting good software written, and let them do it the way it works for them. Hint, you will have alot easier time hiring good people if your not trying to cram some silly academics theory down there throats... Programming isn't a science its an art.

    1. Re:Programming methodologies are like diets by dastogie · · Score: 1

      I agree that good people are critical Unfortunately, 1)good people leave, move on to other projects, or get bored 2)The best people are not always easily available, reality is you will have a mixture of A's, B's and C's 3)Many systems are too complex to not model at least somewhat. You don't have to fully adopt Model Driven Development, but some code visualization is important In the early part of development software is more art and engineering. After you have an architecture, it becomes more science. So I don't believe that process and visualization (UML) is silly academics

    2. Re:Programming methodologies are like diets by Anonymous Coward · · Score: 0

      Programming isn't a science its an art.

      Gathering requirements and designing a solution is an art too.

      Estimating effort is an art too, specially when done before requirements gathering and solution design.

      Programming methodologies are like diets, none of them deliver on their promise and all of them promise the same: Getting projects done with no effort with fungible people. But having people who has done the same thing before is the best way to make sure it is done on budget and on time this time. Organizing teams so that people who understands X do X and people who understand Y do Y, that's the basis of industrialization: Division of labor. Yet some managers decide to arrange projects as if people were fungible. They are not. Projects then fail miserably.

  32. Does anyone else think... by gidds · · Score: 2, Insightful
    ...that the problems start the moment you start calling something a 'methodology'?

    My experience here is limited; I've never done any proper XP or similar. But I've read quite a bit about those sorts of development practices, and used a few others (all the way back to Jackson Structured Programming), so I hope my intuition isn't completely out here.

    My feeling is that just about all of these practices work much better as tools and tactics, to be chosen from and used where you feel they work and then dropped, rather than as part of a rigid methodology.

    Management tends to want to treat development as a predictable, join-the-dots process -- and many methodologies seem to reduce it to that. But they don't! They just hide the creativity and unpredictability where it can't be seen. IME, a rigid methodology just gets in the way of good developers, and gives the bad ones something to blame...

    So use some of these techniques and ideas, by all means: it looks like they can work very well. But don't treat them as the be-all and end-all of development. There's always a need for creativity and good judgement.

    --

    Ceterum censeo subscriptionem esse delendam.

    1. Re:Does anyone else think... by jlangr · · Score: 1

      Generally that's what "agile" says. Instead of jumping through a rigid set of hoops to prove that you can jump through hoops, the body of agile talks about how to take various proven practices and apply them to your situation.

      For example, Beck's second edition of Extreme Programming Explained talks more about the underlying principles and values than specific methodology implementation details. Most agile proponents recognize that no single approach works for all shops, or even two shops.

      -J-

  33. Re:Summary: This is a great book by dubl-u · · Score: 1

    The telephone game only applies when there's no redundancy, no verification of transmission, and mindless repetition of received transmissions. On an XP team, everybody's in the same room and talking, over time, to everybody else. If I hear one thing from one person and one from another, I'll grab 'em both and we'll work it out.

    Often we do that by turning to the product manager, who sits in with the developers so that they can provide immediate answers to things that would indeed otherwise turn in to telephone-game nonsense.

  34. Uh, 'eXtreme'? by Ed+Avis · · Score: 1

    Why have people started calling it eXtreme Programming? This seems about as lame as referring to Micro$oft. Have a look at the Extreme Programming website. Nowhere is the cheesy capitalization used, unless you count some graphic design on the book's cover.

    --
    -- Ed Avis ed@membled.com
    1. Re:Uh, 'eXtreme'? by Anonymous Coward · · Score: 0

      it's abbreviated as XP dude....that itself capitalizes X. If it was EP, Extreme Programming would've been right. Since it's XP, it expands to eXtreme Programming.....or even better eXstream.

    2. Re:Uh, 'eXtreme'? by OwnedByTwoCats · · Score: 1

      People have called it eXtreme Programming because of the graphic design on the book's cover.

      That, and it's abbreviated XP, so those are the letter capitalized... ;-)

  35. Heh, Peter Schuh by Manhattan+Project · · Score: 1

    Those who can't, teach! Good for him.

  36. Re:Summary: This is a great book by lukewarmfusion · · Score: 1

    I guess I interpreted that particular phrase a little differently. I don't subscribe to a particular methodology (XP, Agile, etc.) but I've been a part of good and bad projects. Just in general, communication is one of the most important keys to a successful project. The idea that you can simply "pass words from man to man" is dangerous - if that is what they're saying.

    Let's re-word this a la Imagine...

    Imagine there's no client
    No specification sheet
    Just a manager's perception
    From only one project meet


    Chorus:
    Imagine all the mistakes
    Happening throughout...You-hoo-hoo...
    You may say we don't need graphs
    Or diagrams
    I hope some day we can get this done
    Without having to re-do half of it

  37. Re:Summary: This is a great book by dubl-u · · Score: 1

    The idea that you can simply "pass words from man to man" is dangerous - if that is what they're saying.

    That idea alone is indeed dangerous. In the context of the other XP practices, it works very well.

    Let's re-word this a la Imagine...

    Yes, if people did as you imagine, it would suck. Fortunately, that's not what happens on a good XP project.