Slashdot Mirror


Agile Software Development with Scrum

bucketman writes "Saw this book at Chapter's and bought it and read it straight away. I've been kind of sitting on it for a month or two because my reaction to this book was so strong that I kind of wanted to see if time would mellow it. Well, it hasn't and I'm ready to post now. Note that this book has already been reviewed on Slashdot once, but I've decided to send in my review anyway, as it presents more detail as well as an alternate point of view and might be of interest." Read on below for bucketman's take on the book (and the methodology). Agile Software Development with Scrum author Ken Schwaber and Mike Beedle pages 158 publisher Prentice Hall rating 1 reviewer bucketman ISBN 0130676349 summary Presents the Scrum software development process.

Extreme Programming (AKA XP) has been an interest of mine for some time, as I struggle to find ways to make it easier to say "yes" to in my domain (embedded systems) and it is in the study of this other development process that I first heard of Scrum. Both XP and Scrum are development processes under the "umbrella" of the Agile Alliance.

First and foremost, let's cover what Scrum is, as presented in this book. I will compare Scrum with XP as I go, for reasons that will become obvious later on.

You have the Scrum Master, who is more or less half technical lead and half project manager. He is defined as being responsible for the success of Scrum. I think the closest thing that XP defines to this is the Coach, but it's a poor fit at best.

You have the Product Backlog, where all the stuff that people want in the product is written (called Work) along with assigned priorities for each item and an estimate of some form indicating how long it will take to do. The assumption is that items with high priority will have more accurate estimates and more precise specifications and the low priority stuff will be more or less SWAGs. The Product Backlog also contains Issues, which are more or less problems that gate one or more Work items. Issues are turned into Work by the Product Owner (see below) at his discretion. The analogous concepts in XP is the Story and the Tasks.

You have the Product Owner. He owns the Product Backlog document and the prioritizations within. While he may need to consult others in the effort to do his job, it is his responsibility to maintain the list of work and issues, to decide the prioritizations and to decide what work will be done in the next Sprint (see below). The Product Owner also owns the estimates in the Product Backlog. It is expected that he consults with development to derive these numbers. These estimates are said not to be binding on the Scrum Team (see below). The XP role akin to this is the Customer, with the exception that, in XP, estimation comes solely from development.

The Scrum Team is just the set of technical people working on the product. So testers, documentation people, developers etc. Should aim to be around seven people (i.e. the "optimal" group size).

The Sprint is the development iteration. It should typically aim to be 30 days. It has a Sprint Goal, which defines the overall objective of the Sprint (think of it as a mission statement just for the iteration), and a set of items from the Product Backlog to develop during the iteration. These items are chosen during the Sprint Planning Meetings mainly by the Product Owner. A secondary meeting is held with just the Scrum Team and Scrum Master to decide who will do what and in what order within the Sprint. Also done in this meeting is the breakdown of Work to Tasks, which are smaller units no longer than 4 to 16 working hours in duration. The XP Sprint equivalent is simply the iteration. To my knowledge, there is no equivalent concept to the Sprint Goal. XP's Planning Game does the work of both the Sprint meetings noted earlier.

Because the duration of the Sprint is respected first and foremost, the Sprint Goal is used to determine what content to remove from the Sprint in the event it is discovered that the deadline is at risk. So, we move work from the Sprint to the Product Backlog while attempting to honor the Sprint Goal in order to satisfy our (e.g.) 30 day schedule. If that is not possible (and in some other situations, like irresolvable organizational impediments) the Sprint is canceled and redone from the Planning Meeting.

You have the Sprint Signature, which tracks the expected Work done against the actuals and provides a day-to-day description of what happened in the Scrum Team (similar to, nut much smaller than, the project log spoken of by Steve McConnell).

Once the Sprint is on, no one outside the Scrum team has anything to do with the Scrum team. XP, again AFAIK, does not state this, but the fact that iterations are, if anything, even shorter than Sprints means that in all but the worst cases, the stakeholders will likely be willing to wait until the next iteration to redirect the effort. In any event, because both processes return so frequently to the customer for guidance and because both processes allow the customer to introduce change throughout the lifecycle,, there is less risk that the customer will feel their wishes are not being respected. Lastly, XP's customer and Scrum's Product Owner both funnel all requirements to development. All the project stakeholders then direct their requests to this person. In so doing, the stakeholders never get told "no" per se, but rather are told that at worst their request won't be evaluated until the next iteration/Sprint planning meeting.

At the daily Scrum Meeting, each Scrum Team member answers the following questions:

  • What did you do since the last Scrum Meeting?
  • What will you do between now and the next Scrum Meeting?
  • What, if anything, impeded your progress?

So, you say how you did yesterday against your commitment from yesterday. You say what you plan to do today. All this is recorded in the Signature which is kept by the Scrum Master. Lastly, you note any obstacles that got in your way. It is the Scrum Master's job to note these and remove them immediately. The Scrum Master is expected to report on his progress in this area at each meeting as well. If the obstacle is a failure to make a decision, the Scrum Master is responsible for making that decision immediately - failing that, to ensure it gets made that day. I really like that, BTW, as experience has made clear to me that, on balance, the risk of making the wrong decision has a much lower negative effect on a team than does leaving it in limbo frequently. In the Scrum meeting, no one is allowed to speak save for the Scrum Team and Master. Others may attend but may not speak. This is intended to keep to meeting focused and short. I like this part but suspect that to do it successfully, you'd be wise not to invite anyone that's not intended to speak.

The Sprint Review is held at the Sprint's end and is intended to be a half-day forum where the Scrum Team presents to the stakeholders what it accomplished during the Sprint. The loose equivalent in XP is the final (for that iteration) successful execution of the Customer Tests (nee Acceptance Tests). I say "loose" because the XP concept is stronger - the iteration's deliverable is not only presented but accepted.

To get the Scrum process to scale, a Scrum of Scrums is used where Scrum Masters from multiple Scrum Teams attend a Scrum Meeting run by a Scrum uber Master.

So, AFAICT, that's pretty much it.In reality, I don't see a whole book's worth of content coming out of this.

So what else do they discuss? There's a fair bit on work environments, the ill effects of heavy weight processes and so on - basically restating stuff in less detail that most everyone who will read this book would be likely to have read elsewhere.

There's a lot on the characterization of Scrum in terms of Process Control Theory and why it would be expected to be a better fit for software development than would other processes. This left me cold, frankly, because I tend to read these books looking for what to do, how to do it and what benefit I should expect to see. The underlying science of it is of some interest but not nearly so important to me as the answers to those three questions. Also I already implicitly favor these iterative approaches. So do many, many others - after all, the evolutionary lifecycle model and the "mini-milestones" proposed by McConnell in "Rapid Development" echo both XP and Scrums concepts.

We also get stuff like this:

"Overlapping development phases: In an environment where some of the requirements are discovered while simultaneously something is created with the information at hand, it is imperative that the phases of discovery, invention, and testing overlap to drive the creation of a new product to completion through self-consistency. Most problems in new product development arise when the phases of the project are separated. Empirically, this overlap in phases enhances shared responsibility and cooperation, stimulates involvement and commitment, sharpens a problem-solving focus, encourages initiative taking, develops diversified skills, and heightens sensitivity toward market conditions."
Other than "don't use the waterfall lifecycle," what exactly does all that mean? The end of it is completely unsubstantiated. It drives me nuts when development books do things like this. That paragraph doesn't say much of anything AFAICT but nonetheless manages to set expectations way too high.

Here's another (about the psychological effects of Scrum on the Scrum team):

"They become deeply involved in their work. Scrum drives individuals to focus, commit and excel.
They focus on the work and lose concern for themselves.
They experience an altered sense of time.
They consistently produce at high levels of accomplishment.
Scrum allows developers to concentrate most of their time in developing software, and by doing so developers enter 'flow' state."
I don't know what any of that means and I'd be scared to find out.

Out of nowhere, you get statements like this:

"Scrum requires a balance of individuals with at least 50% of them to be experts ..."

Well, I guess that's that then. I think I could define a process which would have demonstrably improved efficiency over the lifecycle with just that one statement - worse comes to worst just sack the other half and away you go :) Anyway, this requirement appears for the first time on page 121 in a book with all of 154 pages. It's hard to say if it's intended to be taken seriously - if it were, you'd think it would have been a lot more front and center.

But let's go back to what Scrum is, as shown earlier. IMHO, it is not a lot more than XP with at least the following removed (this from memory, please don't be too harsh):
  • Continuous integration
  • Refactoring
  • Unit testing
  • Paired programming
  • Collective ownership
  • Customer-defined acceptance tests
  • The "yesterday's weather" estimation practice
  • Sustainable pace (nee "the 40 hour work-week")
So, all the hard/useful technical bits from XP are removed. In return, we get the Daily Sprint Meeting, the Sprint Goal, the Sprint Signature, and the emphasis on decision-making by the Scrum Master. The remainder of the Scrum practices have analogues in XP, as I've shown above. It's for this reason I found myself smiling when the book notes success in industry in wrapping XP in Scrum - from what I can see, XP wrapped in Scrum *is* XP :)

The book is careful to point out that any and all of these "missing" practices (refactoring, unit testing et al) may be used but that Scrum does not prescribe them. And that's fine, but I'm evaluating it on what it actually does prescribe - if Scrum can take credit for what it does not prescribe, they it can lay claim to infinite credit after all. This is maybe a small point but it's important to what follows. Because Scrum does not tell us what to do in these areas, I'm assuming that they are free to vary.

So, if you accept my characterization of Scrum as XP with all the hard technical bits removed. what might you see in a Scrum project?

If you follow Scrum's iterative path with no refactoring to offset the inevitable software entropy, the software would tend to lose architectural unity quixkly. It would be easy to break and hard to fix. - and so on and so on, for all the ills which refactoring is intended to address. If Scrum does not prescribe refactoring explicitly, then we must assume that not doing it is an acceptable Scrum path. If Scrum requires refactoring as a key practice, it should say so. XP and Scrum turn every project into a maintenance project but XP bolsters that position with all the technical practices that ensure the team is *really* good at maintenance. Scrum does none of this. Combine the lack of refactoring with no prescribed regression (unit) testing and I think it becomes clear that Scrum projects that do neither would risk devolving into code and fix affairs.

Because we have no review process prescribed in Scrum, which XP provides via paired programming, and no stated ownership model, we would expect to see Scrum projects which explicitly prescribe neither ending up with code like little fiefdoms where the divisions between one guy's code and another's are painfully obvious. We also would expect to see de facto individual code owners with all the gone-to-greener-pastures risk that entails.

Because we have no estimation practice prescribed we would expect to see poor estimates. Because the Product Owner owns these estimates, there's no reason to expect them to be meaningful at all.

And in return for all this, what do we get? We get the Sprint Goal, which is a fine idea, IMHO. It defines, a priori, a way to sensibly cut work within an iteration. We get the fast decision-making from the Scrum Master. This is also fine by me. We get the intense project progress tracking of the daily Scrum Meeting and the Sprint Signatures. Hmmm ....

And so, at long last, and very much in my long-winded way, I'm finally ready to state my real conclusion about Scrum ...

But first here's another quote from the book :) It's an example Sprint Signature description:

Day 16-17 The team is discouraged by all the work remaining and didn't work during the weekend. No changes in estimated time remaining.

Day 18 The team works more and its remaining work declined. The team then met with the Product Owner and the Scrum Master to determine what tasks could be reduced or removed while still meeting the goals of the Sprint. Some Sprint backlog was dropped; other estimates were lowered because not as much functionality had to be supported. Overall estimated work remaining reduced to 1400 hours. If all this work is completed, the team will still meet the Sprint Goal, although with functionality implemented less completely.

Day 19 The team continues work toward the Sprint Goal using the new Sprint Backlog. Estimated work remaining declines.

Day 20-30 Team is motivated because it can still meet the Sprint Goal if it works hard. The team works regularly including during the weekends. Estimated work remaining declines to zero as the team meets its Sprint Goal by the 31st day."

Here's one thing I've learned in the working world - death marches don't just happen on their own. It's not easy keeping a real death march going. You need to brutally cut and slash the work items in the finest detail to ensure that what you're committing to is actually what's absolutely necessary. To do this, you need to get stakeholders interested enough to grovel around in these nasty details. To really run a death march (and sustain one), you need to track everything everyone's doing down to the granularity of hours so you can tell immediately if someone has returned to a normal level of effort (people will tend to do this long before their actual *hours* spent at work decline). You need to make this tracking of effort very public so people feel intense peer pressure to keep their effort as high as their colleagues. You need to keep the goal always seemingly in reach and make sure this perception is held by everyone on the team because once the expectations are obviously unrealistic, most people will slack off. As long as the goal looks possible with significant effort, people will still buy into it.

And, in the end, that's what I think of Scrum: if you take away all those XP practices and don't replace them with anything, I think you end up with a really good way to run a code and fix death march. And if you put back all those practices, you're pretty much doing XP. I believe parts of Scrum can be lifted and applied in other processes (particularly XP) but that you'd be insane to adopt Scrum as defined in this book without addressing the risks detailed above."

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

166 comments

  1. How many ways can you say "iterate"????? by Ars-Fartsica · · Score: 1, Interesting
    Requirements. Design. Build-test-debug cycle. Document. Release.

    How many ways can you say it???

    1. Re:How many ways can you say "iterate"????? by FatRatBastard · · Score: 0, Redundant

      You're new to the world of consulting, aren't you? ;)

      Its an entire industry based on rewording the obvious.

    2. Re:How many ways can you say "iterate"????? by tcopeland · · Score: 4, Insightful
      > Requirements. Design. Build-test-debug
      > cycle. Document. Release

      That's not iterating, though... that's "big design up front". Here's iterating:
      while (two_week_iteration_in_progress)
      design/test/build/document
      end
      See? Like they say: design is important - it's so important that it needs to be done throughout the lifetime of the project!
    3. Re:How many ways can you say "iterate"????? by musikit · · Score: 1, Funny

      i donno can you repeat, restate, say again, rephrase, reiterate, reword, utter again, go over, or emphasize the process a bit more?

      the following list of words was generate from MS Word Thesaurus for the word "iterate"

    4. Re:How many ways can you say "iterate"????? by airjrdn · · Score: 0, Flamebait

      Those who can, do. Those who can't, consult. Those who can't consult, teach.

    5. Re:How many ways can you say "iterate"????? by IWorkForMorons · · Score: 2, Funny

      Easy...have a "management committee" come along with a project to replace your aging AS/400 systems with Unix and PeopleSoft. Then it becomes:

      Requirements. Document. Redo Requirements. Document. Redo Requirements. Document. Document. Document. Design. Document. Redo Design. Document. Document.

      The next steps are supposedly the "Build-test-debug cycle" and "Release" parts. But considering the rest is 3 months overdue already, and doesn't look like it's ending anytime soon, I'll probably get to play Duke Nukem Forever before we get to lay code down. I'm thinking about sending management a link to this review...

    6. Re:How many ways can you say "iterate"????? by fliplap · · Score: 1

      Hah. Do you by chance work for a large bank?

    7. Re:How many ways can you say "iterate"????? by mrcparker · · Score: 1

      No management committee us complete without at least 10 people in comittee per programmer. Oh - and conference calls where everyone talks over eachother, spitting out their requirements at the same time.

      Worked on a ton of those. You in the cubicle next to me?

    8. Re:How many ways can you say "iterate"????? by IWorkForMorons · · Score: 1

      Nope. Insurance. Almost like a bank, but without the annoyance of handling real money.

    9. Re:How many ways can you say "iterate"????? by TrueJim · · Score: 1

      There are two ways to say it.

      1. Implement the high-risk features first. (spiral development)

      2. Implement the high-payoff features first. (evolutionary development)

      --
      I hope that after I die the one word people use to describe me is "resurrected."
    10. Re:How many ways can you say "iterate"????? by airjrdn · · Score: 1

      Re: flamebait I was simply offering the full version of the signature of my parent poster. No insults intended.

    11. Re:How many ways can you say "iterate"????? by revividus · · Score: 1

      Considering your nickname, you may not want to send them a link, if you at all suspect that they might read down a few comments.... :-)

    12. Re:How many ways can you say "iterate"????? by Anonymous Coward · · Score: 0

      *cough* In Chicago? Broadway or Randolph?

  2. Not that I'm an expert by strictnein · · Score: 2, Interesting

    But I remember going through my classes at school, with many of the profs just so damn excited about XP and other types of programming practices. I've yet to expereience any of these enviroments really thoroughly followed in a company. For me, the only time they are followed is at the weekly development meetings, then we all play by our little roles. But after the meeting, we're back to the same old chatoic programming.

    After reading the post, Scrum does less for me than XP does, which also does very little.

    On a completely different topic, what happened to that Microsoft anti-linux post? Actually found that a little more interesting, but it was pulled before it ever reached the main page it seems.

    1. Re:Not that I'm an expert by Anonymous Coward · · Score: 0

      If you haven't noticed any difference, that probably means you haven't tried the test first development style in tight iterations, and seen what happens when you let it do its work.

      No one I've ever talked to who's tried it can compare it slough it off as just another flavor.

    2. Re:Not that I'm an expert by TwistedSquare · · Score: 1

      In my company, where the projects tend to involve very small teams (1-5), you can pretty much choose to do what you want as long as the result is what is needed. So some people use XP, some people do iterative stuff, some people plan it all out, etc.

    3. Re:Not that I'm an expert by twilightzero · · Score: 1

      For a real-world example of XP in practice, take a look at Lakeview Technologies (the guys who make Mimix for your AS/400 gurus). They implemented it company-wide a while back and they've been turning good, functional product out the door in small fractions of the time that they were originally estimated at. I believe what convinced them to switch was a team who took a project estimated at 2 years and knocked it out in something like 4 months with half the estimated personnel. They have customers either in or on the phone almost every day, along with people who aren't customers at all but may buy the product if it has the features they want.

      --

      "Christ what a design! I could eat a handful of iron filings and PUKE a better emergency pump than that!"
    4. Re:Not that I'm an expert by Greyfox · · Score: 1
      It's all lies to convince people that you know what you're doing. Fact of the matter is, if you're doing XP or scrum and you have no vision of what the product's supposed to be, your manager sucks or the majority of your team don't know how to write code, your project is going to fail as surely as it would in any other environment. If your team knows the business logic, has an overall vision of what the product should be delivering (Based on feedback from customers,) you have a good manager and most of your team are stellar coders, your project will most likely succeed no matter what development methodolgy you use.

      I would be highly suspicious of anyone (person or company) playing the buzzword bingo. I'd ask to look at code. If they're playing buzzword bingo and using hungarian notation, I'd steer well clear of them.

      --

      I'm trying to teach myself to set people on fire with my mind... Is it hot in here?

    5. Re:Not that I'm an expert by the_duke_of_hazzard · · Score: 1

      Indeed. Theory schmeory.

  3. Thanks! I don't need to buy the book now! by Anonymous Coward · · Score: 1, Insightful

    That was pretty indepth, rendering purchasing the book meaningless.

    We need more reviews like that!

  4. whoa, not what I read. by mekkab · · Score: 4, Funny

    I first read scrum as scrotum and said "Finally! Programming with balls!"

    Step away from the keyboard, I think its time for a break...

    --
    In the future, I would want to not be isolated from my friends in the Space Station.
    1. Re:whoa, not what I read. by Anonymous Coward · · Score: 0
      Perhaps more Programmers By The Balls?

      Very impressive, but you are not a Scrum Master yet...

    2. Re:whoa, not what I read. by blinq · · Score: 1

      I first read scrum as scum. And I immediately started reflecting on all the poor PHP and Perl I've written! (I'll leave it as an exercise for the reader to make unflattering assumptions about my coding ability or about the languages themselves.) For me, it's time to follow through on last year's New Year Resolution of writing more C.

      --
      ~Chris
    3. Re:whoa, not what I read. by mekkab · · Score: 1

      Programmers by the balls, hmmmm, Oh! You mean I'm not a MANAGER yet! Gotcha! No, I'm not. I actually create things and add value. But as soon as I cease to produce anything of use, I'll most likely be leading the team.

      --
      In the future, I would want to not be isolated from my friends in the Space Station.
    4. Re:whoa, not what I read. by mekkab · · Score: 1

      For me, it's time to follow through on last year's New Year Resolution of writing more C.


      Why? So you can hang yourself in a web of pointers to pointers to function pointers?! I wrote a kernel queueing system in C, and had every intention of writing clear and understandable code. Got-damn was it a mess of for and while loops!

      And even with the use Strict pragma, I'm getting convinced more and more that Perl is a Read-only language. You are either a PERL programmer 100% of the time, or you forget everything you used to know about Perl when you switch away for long periods. These days, if I need text parsing ability, I'll use awk.

      --
      In the future, I would want to not be isolated from my friends in the Space Station.
    5. Re:whoa, not what I read. by Anonymous Coward · · Score: 0

      I am now thinking of the phrase "Carpe Scrotum!" in a new way.

    6. Re:whoa, not what I read. by DrCode · · Score: 1

      I saw it as "scummvm", and thought it had something to do with Monkey Island.

    7. Re:whoa, not what I read. by Anonymous Coward · · Score: 0

      I read 'scrumm' as 'scum' and wondered if it was another SCO story. Go figure? :)

  5. Flavor Of The Month... by doctechniqal · · Score: 3, Insightful

    I really hate these books that attempt to codify management processes in some kind of all-encompassing, one-size-fits-all way. By the time the processes have been codified and published, the economic climate and the state of things in the business to which the processes are to be applied have changed such that the processes rapidly lose their relevance and ultimately their usefulness. Other than as a way to make money for the authors, I just don't see any real sustainable benefit ever coming out of these books.

    1. Re:Flavor Of The Month... by rw2 · · Score: 1

      Other than as a way to make money for the authors, I just don't see any real sustainable benefit ever coming out of these books.

      1) Writing a book like this to make money is a big loser compared to working and making money.

      2) Just because there are a lot of flavors doesn't mean they don't work. It is useful to be aware of several different methodologies and chose the one which best matches the culture of the project when organizing a project. Agile is not cool for a typical IBM mainframe project. Waterfall is not cool for a typical open source team. Calling these different but useful things "flavors of the month" does a diservice to the value they both bring to the table when used appropriately.

    2. Re:Flavor Of The Month... by millette · · Score: 1

      only this book was published in 2001 - that's at least a 3 years long month...

    3. Re:Flavor Of The Month... by pantycrickets · · Score: 1

      Calling these different but useful things "flavors of the month" does a diservice to the value they both bring to the table when used appropriately.

      You're a manager, aren't you? I don't think I've met a programmer who's ever mentioned anything about bring "value to the table". Hehe.

    4. Re:Flavor Of The Month... by rw2 · · Score: 1

      You're a manager, aren't you? I don't think I've met a programmer who's ever mentioned anything about bring "value to the table"

      Close. I'm a consultant, so I bring the worst of all worlds with me when I pan handle at your door. ;-)

      (I'm also available for contracts right now. Companies getting into grid software should contact me. Resume)

    5. Re:Flavor Of The Month... by jbrains · · Score: 1

      I really hate these books that attempt to codify management processes in some kind of all-encompassing, one-size-fits-all way.

      1. Author describes a process that has been successful in a number of situations.
      2. Author presents his description with (natural) enthusiasm for its effectiveness.

      I just don't see how this necessarily translates to "all-encompassing, one-size-fits-all." It can, but I don't think it has here, with this book.

      Other than as a way to make money for the authors, I just don't see any real sustainable benefit ever coming out of these books.

      Have you ever written a technical book in this field? Do you think these authors get rich from their book royalties?! We wish.

  6. Aha! by Anonymous Coward · · Score: 0, Offtopic

    I've always worked on projects with SCUM--so that's what the problem was!

    1. Re:Aha! by Anonymous Coward · · Score: 0

      What was this moderator thinking? This is funny shit!

  7. Inspections? by mekkab · · Score: 1

    Aren't inspections supposed to be the catch-all for crap programming? Again, if your inspectors are morons, then the whole thing is shot.

    That assumes you have reasonable timeframes.
    I've worked on projects to get Demos out the door. Informal use of some XP ideas (coding in pairs) and tight, fast iterations of Coding,integration and test, coding, integration and test, repeat, which have showed some promise when deadlines are tight.

    --
    In the future, I would want to not be isolated from my friends in the Space Station.
    1. Re:Inspections? by laalto · · Score: 2, Interesting

      Who inspects the inspections then?

      I once witnessed a project where there was a customer requirement for source code inspections. The project manager spent a whopping evening "inspecting" 120 KLOC of code and marking them as "inspected".

    2. Re:Inspections? by mekkab · · Score: 2, Insightful

      THe Metrics collected from the inspections are then used to generate trends. One of these metrics is "time spent reviewing materials." (at least it is in our process). Also, the metrics of bugs found in the field. If more and more bugs are found in the field, inspections aren't working.

      I never knew why they collected that "Time spent reviewing" metric.
      However, your example of 120k sloc in an evening explains to me why.

      --
      In the future, I would want to not be isolated from my friends in the Space Station.
  8. i'm afraid to know by Anonymous Coward · · Score: 0

    when the last time alan cox did some laundry was

  9. standard PM procedures? by itwerx · · Score: 1, Interesting

    Am I missing something?
    Not to troll but, other than a few different labels for things, I fail to see how this is any different from standard project management procedures that have been around for decades...?

    Well done review though!
    We need more like that! :)

    1. Re:standard PM procedures? by millette · · Score: 1

      I hope you aren't sarcastic about your last comments on the review. I found it helpful - I probably won't be buying this book now. Also, I read XP refactored recently, and it sort of opened my eyes, I'm happy to admit :)

    2. Re:standard PM procedures? by bbutton · · Score: 1
      You may be missing something.


      As opposed to a long-term project plan, where the work is laid out in detail for the entire project, SCRUM and XP say that you only plan in detail for your immediate set of work (vast simplification). Then after you finish that work, you replan. Each sprint or iteration is made up of that work that is currently considered the most business-critical functionality. This is very different than traditional project management methods, where the emphasis is on planning the project up front, and controlling change throughout.

      When planning like this, you rely on creating small, fully functional releases, verified through automated tests, and delivered to someone often. This generates the nearly immediate feedback needed to reprioritize as business conditions change.

    3. Re:standard PM procedures? by itwerx · · Score: 1

      As opposed to a long-term project plan, where the work is laid out in detail for the entire project, SCRUM and XP say that you only plan in detail for your immediate set of work (vast simplification). Then after you finish that work, you replan.

      Even so I am sure that there is in fact a long-term plan at some higher management level.
      SCRUM appears to simply be focusing on the most granular level of the breakdown of project elements and responsibilities.
      The lowest level team leaders in a large project often do not have the "big picture" and simply work off of a list very much as described in SCRUM.
      I would say this book is (essentially) equivalent to a chapter or two from large scale project management methodology.

      (Must be written by a Brit too, "Scrum"...? :)

    4. Re:standard PM procedures? by fair_n_hite_451 · · Score: 1

      See, that's the thing..."Traditional Project Management Methods" - aren't any longer.

      Perhaps you're referring back to the old "big iron" days where projects were measured in man-years, but no one manages projects like that any more. A "time to market" of several months qualifies as long-range planning these days, and the incorporation of "class level" estimates with their corresponding degrees of accuracy (not java classes, but class "zero" being +/- 100%, class 1 being +/- 50%, etc) at various points during a project's lifespan mean that the process described (which predate any of the fashionalbe new age names being applied to them by years) are simply recognized as "the right way of doing things".

      The "rules" for this or that isn't much more than an attempt to cash in on the obvious. "You must do thing this way, because our book says so. BTW, buy more stuff!".

      However, the development cycle != the project - and vice versa, so while it's fine to say SCRUM or XP is the way to run projects, it completely misses the big picture of activities (like training, support, marketing, procurement) in which the actual production of the product is only one stream of activity required to successfully introduce a new product on the unsuspecting masses.

      an excellent review. It was only missing the declaration that "The Emperor has no clothes".

      --
      Reason why there is hope for the future generation #364:
      "I wish my grass was emo so it could cut itself."
  10. Dont touch my SCROTUM by Anonymous Coward · · Score: 0

    unless you are a cute female!

  11. Re:Scrum? by GTRacer · · Score: 2, Interesting
    IIRC, it's a situation in English/Aussie rugby/football where players on both sides form a "super-huddle" and try to shove the player with the ball in the desired direction.

    I used to get Fox World (damn you ComCast!!) and was much clearer on rugby play. What's funny is that it always seemed that a scrum was a standoff, an odd choice of name for a programming process...the tension only broke when the ball was passed or stolen out of the scrum.

    Or maybe not.

    GTRacer
    - Plays footy of a different ilk

    --
    Defending IP by destroying access to it? That makes sense, RIAA/MPAA. Go to the corner until you can play nice!
  12. XP couldn't finish C2 by Anonymous Coward · · Score: 0

    It doesn't work well. Try doing a project of reasonable size. The XP team never finished their payroll system and Chrysler scrapped. Chrysler also banned the use of XP internally.

    1. Re:XP couldn't finish C2 by Queuetue · · Score: 1

      Is this true or trolling?

    2. Re:XP couldn't finish C2 by Anonymous Coward · · Score: 0

      It's both true and trolling. The C3 project had severe management difficulties, including a major corporate buyout (Damlier swallowed Chrysler while lying to the regulators about it being a "merger of equals") and replacement of essentially all of the management associated with the project. They also didn't insist on several of the fundamental requirements, like installing the product regularly.

      These risk factors are well enough known that attempting to use it as a stick to beat up on XP is, bluntly, disinformation.

      John Roth

    3. Re:XP couldn't finish C2 by 110010001000 · · Score: 0

      Who knows? Lets mod him down to be safe...

  13. I might understand these programming methodologies by Anonymous Coward · · Score: 1, Insightful

    For a long time I didn't understand how half of the merits that are often brought up are to programming methodologies would occur. Then, I realized that I had just assumed all other people are like me: wanting to do their best job at coding and make sure it's code that will work and be maintainable for years to come. However, I've discovered that most commercial programmers don't care about the quality of their output; be it because they've burned out, don't know what they're doing, or whatever. The idea behind these methodologies is to make a sacrifice a calculated amount of potential overall productivity to make sure that the team "leaders" can either (a) identify more easily those "bad" programmers or (b) make sure the programmers aren't bad because they have someone watching them and discouraging laziness.

    So, for those of you who don't understand the hype either: remember that not all programmers are as good as you might be.

    I'm half joking, but only half ;). Heh.

  14. Don't care how good it is, it sounds dumb by Anonymous Coward · · Score: 0

    In return, we get the Daily Sprint Meeting, the Sprint Goal, the Sprint Signature, and the emphasis on decision-making by the Scrum Master.

    Scrum masters and sprint meetings? I'd rather a motivational poster over my head and a bullet to my brain.

    Makes all of the crap names with 'X's everywhere sound cool.

  15. Re:first by Anonymous Coward · · Score: 0

    Scrum. What is it all about... is it good, or is it whack?

  16. Doubletakes by greygent · · Score: 1, Redundant

    Had to do a doubletake there, "Agile Software Development with Scrotum".

    Hell, I can barely type using all my fingers, let alone develop software by mashing my scrotum on the keyboard...

    Ok well, maybe I could develop a VB app that way...

    1. Re:Doubletakes by Anonymous Coward · · Score: 0
      Mashing scrotum on the keyboard? You've got the wrong way to do it. The software is actually developed automatically somewhere inside the thing.

      The "extreme programming" part is that you go snowboarding and then you get chicks (you know, the programmer who writes the other half of the software in pair programming).

  17. Rebuttal by BeerMilkshake · · Score: 1

    Here is an article that discusses some of the downsides of XP and Agile methods: http://www.softwarereality.com/lifecycle/xp/index. jsp

    1. Re:Rebuttal by Anonymous Coward · · Score: 0

      and here is an article that tells why agile processes, XP in particular, work:
      The Bottom Line (free registration required)

    2. Re:Rebuttal by cybergrue · · Score: 1

      One thing that you have to understand about XP is that Kent Beck started using it when programming in smalltalk. Smalltalk has a wide array of tools that allow things to be done to the code that don't exist in most other languages. One of the most popular IDE's in smalltalk is called the "Refactoring Browser" because it has so many refactoring tools built in. These tools are increadably powerful, and many of the refactorings that Beck talks about can quite litterally be done with one or two clicks of the mouse. One philosophy of refactoring is that the codes functionallity should not be changed by the refatoring, just its layout. By this definition, refactoring can be done automaticly, so no errors should be introduced. This alows for the quick and complete isolation of code that you want to change.
      Almost all the tools used in smalltalk are themselve written in smalltalk. This may explane why many of these tools have not apeared in other languages (although they should). The refactoring tools is a good example of this, althoug I have also seen a GUI generation tool that created fairly complicated (and fully functional) GUIs with just a few clicks of the mouse (no need to enter code at all, messages to other objects were represented by lines, and when you connected two objects together, it asked you under which trigger event would cause what message to be sent to which method of the second object.) The only problem I had with this tool was that it was possible to create GUIs that were too complicated where precidence rules became necessary (ie. call this object before calling that object). In that cse, it became necessary to write code
      This functionality, combined with several features in the Smalltalk language itself turn the modern smalltalk environment into a very high level language. Its sort of like writing a string manipulation program in scratch in C vs. writing a program in Perl that does the same thing. The C program would take lots of planning and time to complete, whereas the same task would only take a few lines of code and about a minute to program in Perl.
      I read the XP book before I learned Smalltalk, and I though then (as I still do) that many of the XP practices are dangerous, however now I understand were Beck is coming from when he talks about XP.

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

      Sometimes the best way to deal with ideologues is satire.

      I found this under the link "Songs of the Extremos"
      (http://www.softwarereality.com/lifecyc le/xp/extre mers.jsp)

      Songs of the Extremos (Part One)

      Imagine

      Imagine there's no requirements. It's easy if you try
      Just a bunch of coders, reachin for the sky
      Imagine all the people, coding for today

      Imagine there's no schedules. It isn't hard to do
      No silly project deadlines, no one supervising you
      Imagine all the people, coding hand in hand

      You may say I'm an extremer but I'm not the only one
      I hope someday you'll join us and make coding lots more fun.

      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

      You may say I'm an extremer, but I'm not the only one
      I hope someday you'll join us and make coding lots more fun.

    4. Re:Rebuttal by nimblebrain · · Score: 1

      I've read their book, and it's a pretty good, biting, albeit repetitive tome. We've been interested in XP practices a little, but try as we might, we haven't been able to find much common ground between what we're doing (which consists of a lot of foundational programming, because it is actually a framework).

      Clearwater consulting came up with an attempt to bridge foundational programming (which Kent Beck said "might not be appropriate for XP" in one of his books, but didn't state why) - but it was also a relatively poor fit. Essentially, what seems to be the case is that you keep all the quality-oriented XP practices, and toss all the rest.

      The major points that come out of the Extreme Programming Refactored book, for me, seemed to be:

      • The "customer" role is stressful (which is why XP modified it to be a 'team') - making all the decisions on the project, controlling the schedule and (?!) writing acceptance tests
      • It's very high-discipline, which in a negative sense means that someone has to keep pushing employees to do it
      • XP in theory is very little like XP in practice, especially when it comes to keeping up code quality

      Folks might not agree with them, but it is definitely worth a read, even if just to make sure that if you're doing an XP project, that you don't fall into the real-world pitfalls that happen when you let up your guard for a second.

      --
      Binary geeks can count to 1,023 on their fingers :)
  18. There is no silver bullet by juancn · · Score: 1

    The software development process is tricky to control, you are converting human intelligence (or stupidity) into bits.

    That doesn't mean that it is beyond some control, but as with any development process, it must be adapted to the organization that does the development.

    Although this is not an easy task, it is not impossible, the biggest problem is that this also requires a lot of common sense (the least common of all senses ;).

  19. Rating mistake by bucketman · · Score: 1

    Should be 0 out of 1, not 1 - my mistake.

    I take the guess-work out of the buy/no buy decision by giving boolean-valued reviews :)

    1. Re:Rating mistake by millette · · Score: 1

      *hehe* Doesn't leave much room for mistakes either, now, does it :)

  20. Where's the science and engineering? by Anonymous Coward · · Score: 0

    What really bugs me with these software engineering methodology books is that they seem to lack scientific rigour. A methodology should be empirically tested, right? I got the same feeling from XP when the sales pitch started...
    -AC

  21. SCUMM by Anonymous Coward · · Score: 0

    Actually I prefer software developped for SCUMM, it's more entertaining. Remember Monkey Island and DOTT?

  22. oh my oh my by millette · · Score: 0, Troll

    Extreme Programming is Dying!

    1. Re:oh my oh my by landaker · · Score: 1
      Extreme Programming is Dying!

      I, for one, won't believe it until netcraft confirms it.

  23. Bashing management practices by ajs · · Score: 4, Insightful

    This is the obligatory defanging of management bashers...

    In every badly managed company or group that I have worked in, everyone who was badly managed could identify that they were, in fact, badly managed. But time and again they were proven wrong as to WHAT the problem was, because their complaints would get addressed (often slowly) and the situation would not change (only the complaints).

    Management practices like XP or Scrum are designed around the idea of solving for one problem: consistency of success. They may or may not prove to be reasonable aproaches in the long run, but what I do know is that most of the people (and I've already seen comments from a few) who are going to reply with some form of "mangers/consultants/paper-pushers are just looking for some buzz-words to keep them employed" wouldn't have a workable suggestion to counter with.

    Some of the problem that managers face are so unquantifiable (like level of respect that team members have for eachother) that I honestly do not think that there will ever be a one-size-fits-all approach that works. I liken XP instead to just-in-time manufacturing (a manufacturing process that was popularized by analyzing why Japan was kicking US butt in terms of product cycles)... it is not, nor can it be, the absolute solution, but it may well be a valuable signpost on the way to consistent goal-meeting.

  24. orka by jesperht · · Score: 1

    Are there any studies/graphs showing any real proof of which system works best?

    1. Re:orka by pkesel · · Score: 1

      NONE of these ideas EVER have produced ANY meaningful metrics.

      I have looked and NEVER ONCE found any list of metrics by which the efficiency or effectiveness of any of these methods has been evaluated. It's all blowing smoke.

      --
      - Sig this!
  25. for a good story by SkyZero · · Score: 1

    s/sprint/sprite/gi

  26. Re:In case of Slashdotting.. by Anonymous Coward · · Score: 0

    This is a whole lot of bullshit for techno wannabes. I've been developing software for nearly a 1.5 decades, and all I can say is process monkeys have ruined development. All you need are good software engineers with a passion for what they do, and the success is assured. Ever since this dot com scam, a lot of pundits have sprung up with methodologies that can place the blame on somewhere other than the process or the SCUM leader. Find a good team of developers who love their work, empower them by allowing them the freedom to experiment, and not restricting and tying their hands by hiding behind a process. When you have people who love their work and are good at what they do, you can achieve miracles.

  27. Re:first by Anonymous Coward · · Score: 0

    can this scrotum run linux ably?

  28. Re:Scrum? by Anonymous Coward · · Score: 0

    Yes its a rugby term, and I suppose its appropriate, because the best part of a scrum is when you put your heads together.

    AC

  29. Too much work by The+Wing+Lover · · Score: 4, Insightful
    Day 20-30 Team is motivated because it can still meet the Sprint Goal if it works hard. The team works regularly including during the weekends.

    Is that supposed to be a good thing? The one thing that I like about working in an IT department within a non-tech company (rather than working in a tech company) is that there's none of that pressure to be a "real geek" and put in 90-hour weeks at the office...

    --

    - In Capitalist America, law violates YOU!

    1. Re:Too much work by supersmike · · Score: 1

      Amen to that! I worked for two dot-coms before I finally found myself in IT at a traditionl company, and it's nice to have a real work week. On the flip-side, I deal with more techno-idiots than ever before. (sigh) I guess you have to take the good with the bad.

    2. Re:Too much work by Kazoo+the+Clown · · Score: 1

      Is that supposed to be a good thing? The one thing that I like about working in an IT department within a non-tech company (rather than working in a tech company) is that there's none of that pressure to be a "real geek" and put in 90-hour weeks at the office...

      Isn't that ultimately the point of these religious movements-- to fire up the believers to fever pitch so they work so much harder-- the specific dogma used being otherwise completely arbitrary.

  30. Wow by Doctor+Faustus · · Score: 1

    A negative book review on Slashdot. This has to be a first.

  31. Re:first by Anonymous Coward · · Score: 0

    everyone did

  32. Re:first by Anonymous Coward · · Score: 0

    oh great, the whack troll is at it again? shit, time to get out the GNAA posts

  33. hmm.. by IWantMoreSpamPlease · · Score: 1

    ...moistened-bint-lobbing-scimitars dept....

    I thought it was bink...am I missing my english slang here?

    --
    So rise up, all ye lost ones, as one, we'll claw the clouds.
    1. Re:hmm.. by Anonymous Coward · · Score: 0

      no, you are correct, it's bink. you really doubt yourself so much that a slashdot editor gives you pause with your gut instinct? for shame.

    2. Re:hmm.. by IWantMoreSpamPlease · · Score: 1

      (adopting the voice of the french cleaner shrimp from Finding Nemo)

      I am ashamed

      --
      So rise up, all ye lost ones, as one, we'll claw the clouds.
    3. Re:hmm.. by MightyTribble · · Score: 1

      No, no, it's "bint", as in a derogatory term for a woman. I'm not sure if 'bink' has a place in English vernacular....

  34. Agile Software Development with Scum by Anonymous Coward · · Score: 0

    Agile Software Development with Scum

    Sounds like being forced to working on a Extreme Programming project with a slashbot. Or worse, with eurotrash!

  35. Re:first by Anonymous Coward · · Score: 0

    Have been here the whole day. Where the fuck have you been?

  36. Counterpoint to XP and other "agile" manifestos by scrytch · · Score: 4, Interesting

    Obligatory linkwhoring: The Skeptical Software Development Manifesto

    It doesn't actually sit opposite any methodology, it simply extends the basic principles of skeptical inquiry into software engineering. It's anti-hype more than anything else.

    --
    I've finally had it: until slashdot gets article moderation, I am not coming back.
    1. Re:Counterpoint to XP and other "agile" manifestos by RodgerDodger · · Score: 1

      Having read that one, it struck me as being more bashing XP whilst draping the banner of "skeptical inquiry" around the author's shoulders.

      A true skeptic acknowledges that they don't have all the answers; the author didn't.

      --
      "Software is too expensive to build cheaply"
  37. There are no best practices by Sean80 · · Score: 2, Interesting
    I've been working on a little theory of my own of late that there are actually no "best practices." Perhaps I'm crazy, but it seems to me that you only really "need" three things in software development - a) A measurement process, b) A process improvement process and c) a documented process, whatever it might be. Then, you can start out cooking chickens instead of doing software development, but the combination of the three will always drive you in the right direction, and you'll just keep on getting better and better.

    Given that, you can then take books like this and try and integrate them into your process. One of the things that's always missing in these books is how they will impact your measurements. Reduce development time by 50% huh? Well, show me the money! In my view, things then enter the realm of Design of Experiments. How do I think I can best reduce measurement x? Well, here's this book, let's try this out and see how it affects x.

    No "best practices," only "better" practices. Better and better every month. Perhaps I'm crazy.

    1. Re:There are no best practices by greenrd · · Score: 1
      Software engineering is a social science[*], and therefore a difficult science. There's too many variables to know for sure whether your lauded Factor X was really responsible for an increase in productivity. In fact, it's sometimes impossible to prove that there was an increase in productivity, when projects being compared are really different.

      How do you measure productivity anyway? LOC doesn't really work, because rewriting code to make it smaller does not mean negative productivity.

      --
      [*] Forgive the abuse of terminology here, please. You know what I'm getting at.

    2. Re:There are no best practices by cederber · · Score: 1

      Well, I think "best practices" means "best existing practices" or "best known practices", not "best possible practices".

      A very insightful post, though.

  38. L Ron Hubbard strikes back by GMFTatsujin · · Score: 2, Funny
    The team works more and its remaining work declined. The team then met with the Product Owner and the Scrum Master to determine what tasks could be reduced or removed while still meeting the goals of the Sprint. Some Sprint backlog was dropped; other estimates were lowered because not as much functionality had to be supported. Overall estimated work remaining reduced to 1400 hours. If all this work is completed, the team will still meet the Sprint Goal, although with functionality implemented less completely.


    Following that, the Thetans will be clensed by the operator, and everyone will finish off with a nice glass of kool-aid.

    Seriously... what the fuck gwan on with all this jibber-jabber?
    1. Re:L Ron Hubbard strikes back by AndroidCat · · Score: 1

      It's not based on Hubbard tech unless stats have to be up by Thursday at 2pm. (And when do you have your weekly status meetings? ;^)

      --
      One line blog. I hear that they're called Twitters now.
  39. I downloaded SCRUMVM... by whyde · · Score: 2, Funny

    ...and have been playing "Software Development Supervisor" for the last two weeks! Best MMORPG yet! I still can't kill enough bugs to get to SEI level 3, though. Must be a process issue...

  40. Re:I might understand these programming methodolog by Cthefuture · · Score: 1

    Well, that's part of it anyway. In my experience (good) programmers tend to be a lot like artists. That is, they can only work when they feel like it or are motivated. I wouldn't want to go off labeling quite possibly the best programmers you have as lazy or bad just because the mood doesn't strike them at the moment (hehe, I get this image of Paul Jr. in my head [American Chopper]).

    Unfortunately this is the root of the problem. Work needs to get done yet not all programmers are going to be enthused about the project. It's a tough situation and the best managers know how to manage that. They should write a book on that.

    Or maybe managers need to be more like Paul Sr. and just kick ass as needed.

    --
    The ratio of people to cake is too big
  41. Not dazzled by scrum by steve802 · · Score: 5, Insightful

    I have a lot of roles in my life. Yes, I am a programmer. But I am also a husband, father, and just a plain old damn person. Any time I hear of a methodology that encourages people to work lots of overtime I cringe. People cannot sustain a pace over 30 days where they are coming in early, staying late, and working weekends, to meet a goal that is only a few hours away, when another goal has just been met a few hours ago. Daily scrums have to be the biggest waste of time I have ever heard of.

    At my company, one division used the Scrum method, and it failed, taking the division, 100 jobs, and millions of development dollars with it. The biggest problem I heard from senior programmers in other divisions was that the daily scrums encouraged people to build a great prototype to show what they would do, but there so never anything actually done. Programmers would work for hours in the morning to fix the problems identified in the prototype, make changes in the afternoon, and start again after the next scrum. Waste, waste, waste.

    In our division, we have a product designer build a spec with the customer. The spec is handed to the programmer. The programmer works on the project as long as necessary without interruption (which is not to say that deadlines are open ended), and then the programmer hands it off to QA. At worst there are weekly meetings to check status. The big difference is that the programmer is on his own, trusted to call in reinforcements when he feels they are necessary. There's no need for a daily meeting if there are no problems. If coding is going well, then let it keep going.

    I have no doubt that scrumming works well for some, especially those who need constant direction and/or hand holding, or those who have no life outside of work. But I'll take our methodology any day.

    1. Re:Not dazzled by scrum by ivey · · Score: 4, Interesting
      Any time I hear of a methodology that encourages people to work lots of overtime I cringe.
      Me too. Scrum doesn't encourage overtime. No one tells the team how to meet their goal ... if they decide to work a weekend to make a goal, they can choose to do so. Otherwise, they go home. Their decision. The team agrees to what is going to be in the sprint. There appears to be a pretty serious misunderstanding about Scrum here. Many of the most vehement objections that have been voiced don't have anything to do with Scrum.
  42. The Object Oriented way by Perl-Pusher · · Score: 1
    project current_project = new project();


    for (int day=0;day != 14;day++)
    {
    current_project.design();
    current_project.build();
    current_project.test();
    current_project.document():
    }

    1. Re:The Object Oriented way by tcopeland · · Score: 1
      In Ruby:
      p = Project.new
      14.times {
      p.design && p.build && p.test && p.document
      }
      I like that "14.times" thing... yay Ruby!
    2. Re:The Object Oriented way by jrockway · · Score: 1

      Can you do something like i.times {} if you have a variable i?

      --
      My other car is first.
    3. Re:The Object Oriented way by tcopeland · · Score: 1
      Yup:
      [tom@rubyforge tom]$ irb
      irb(main):001:0> x=2
      => 2
      irb(main):002:0> x.times { puts "hi" }
      hi
      hi
      => 2
      irb(main):003:0> x.times { |y| puts "hi " + y.to_s }
      hi 0
      hi 1
      => 2
      irb(main):004:0>
      As you can see, you can use the counter if you need it, or just ignore it. Good stuff...
  43. my favorite development model by convolvatron · · Score: 1

    "hey kids, lets put on a play"

  44. "death marches" by yetanothertechie · · Score: 2, Insightful

    Day 16-17 The team is discouraged by all the work remaining and didn't work during the weekend. No changes in estimated time remaining.

    Whatever slick new ways are created to try to squeeze yet more blood, sweat and code out of already overworked programmers, it still shows a fundamental lack of proper planning when one has to resort to "death marches" for anything but highly unusual circumstances.

    It all comes down to planning and organization, both at the beginning and throughout a project. Without constant attention to these, along with the necessary technical expertise to assess issues as they arise, the project will not succeed.

    Furthermore, the team has to be treated with respect and consideration, not as chattel. Ignore this and not only will your project fail, but you'll shatter any hope of a unified team, and eventually lose your employees.

    --
    Facts are stubborn things.
    1. Re:"death marches" by AndroidCat · · Score: 1

      You know that you're bad shape when you watch Scott of the Antarctic and you keep nodding when only manage to "man-haul" a couple miles or less that day, or when they slowly lose people. Yep, been there...

      --
      One line blog. I hear that they're called Twitters now.
  45. Self-organizing teams by laalto · · Score: 1

    I'm no Scrum expert, but I've been interested in software development methodologies for a long time.

    Scrum has its roots in studies on self-organizing teams. That's why it does not prescribe working practices like collective code ownership, refactoring, unit testing, pair programming etc. It's left to the team to self-organize them if needed.

    Historically Scrum is about 5 years older than XP. Therefore Scrum does not need to reflect on XP.

    I think to really succeed with any agile methodology, be it XP or something else, you need a highly disciplined and skilled team. With a highly disciplined and skilled team, you can succeed with almost any methodology. Then it comes down to the fun/sustainability factor: you should only use a methodology if the developers are willing to use it on the next project as well.

  46. He's got the point backwards by Anonymous Coward · · Score: 0

    The relationship between Scrum and XP is very simple: Kent Beck was well aware of Scrum when he put the practices that became XP together on the C3 project, and he quite deliberately used most of Scrum as the higher level project management part of XP.

    So the notion that Scrum is XP minus the software engineering practices is backwards. XP has often been described as Scrum plus those software engineering practices.

    That description makes both the XP and Scrum experts wince, but it's a good comparison for a quick overview.

    At the Atlanta XP meeting in January we're going to have a Scrum and XP comparison from one of our members that's just come back from the Scrum Master class. He gave us a few interesting tidbits in December. One of them was that (IIRC) the reason Scrum doesn't recommend shorter iterations is because it doesn't have executable acceptance tests! That's supposedly direct from Ken Schwaber.

    John Roth

  47. There are always two... by Anonymous Coward · · Score: 0

    A Scrum master and an apprentice.

  48. wasted by Anonymous Coward · · Score: 0

    In the time it took you to write that review you could have finished your coding work.

  49. Anecdotal Evidence by Anonymous Coward · · Score: 1, Insightful

    (Posted Anonymously to Protect the Fragile Egos of the Parties Named)

    I worked for a team where their Director espoused "Agile Programming Practices", and encouraged "extreme programming" techniques for getting stuff done. As soon as I heard this, I smelled jargon-bullshit.

    The fact of the matter was that the team leadership consisted of insular, nit-picky developers who were extremely poor intrateam communicators. They would pour out undocumented code full bore, and leave the non-leads to constantly play catch-up. Informal meetings were pissing matches, and frequent interruption was a way of asserting one's dominance.

    I left, because I wasn't learning anything from those who weren't willing to teach, and I couldn't operate in an environment so driven by cults of personality. I wound up finding a nice small team that spent time going through code bases, doing real code reviews, documenting and properly testing features and functionality. In addition, these guys were humble and a pleasure to interact with. As part of this new team, we produced one of the most polished and functional products I've ever worked on.

    Last I heard, the "Agile Team" that I left was bleeding money from their parent like a stuck pig, and hadn't released a product in almost two years, with several intermediate products canceled.

  50. Why development methods matter... by Dr.+Bent · · Score: 5, Insightful

    One of the things that must occur when you move from a artistic/tradesman style of production to a engineer style of production is that you have to trade a little bit of quality for a lot of consistancy. This is why mass produced furniture costs less than hand-crafted stuff. The hand crafted stuff is slightly different from item to item, and sometimes mistakes are made and you have to throw out big hunks of furniture (which makes it more expensive), but the product that you get in the end is much better. However, unlike furniture, there is no aesthetic appeal to hand-crafted software. Most software projects are done to solve business problems, which means most software projects have to live by the same rules as every other business venture. Ok, for a minute now, everyone put on a suit and pretend you're an MBA.

    You have a $1,000,000 budget for the coming year. Your goal, as an executive, is to turn that money into something worth more than $1,000,000. The additional amount you get is called the Return on Investment (ROI). The ROI for the S&P 500 index has historically been 11%, and most companies will not embark on a project with an ROI of less than 25% (or so).

    But ROI is not the only thing to consider when deciding whether or not to start a new project. The other thing to consider is risk. What are the chances that you're actually going to get your 25% back? What if, in addition to not making any money, you actually lose money by spending $1,000,000 dollars over the course of a year and getting nothing in return?

    And here is where the software development methology steps in. Software development methodologies help to eliminate risk by setting down guidelines that help to ensure that a project will not fail. Even if it means that you take 20% longer than you would if you didn't use the methodology, and even if the product that you get in the end isn't quite as good, at least you have something that works.

    What software development methodologies do is limit the bounds on the ROI for a project. They make it less likely that the project will be a resounding success, and they make it less likely that the project will be an utter failure. This, in turn, allows the planners to plan and the bean counters to count thier beans, and that is a tradeoff that they will gladly make.

    It's predictabilty that businesses value. Not efficiency. Not quality. Not even raw cost. All of those things are secondary to the issues of "How much of my money will I get back?" and "Are you sure?"

    1. Re:Why development methods matter... by chromatic · · Score: 1

      I'll bite. Why do development methods make resounding success less likely?

    2. Re:Why development methods matter... by Dr.+Bent · · Score: 1

      Why do development methods make resounding success less likely?

      Because they waste a lot of time by imposing procedures that do not create value (i.e. working, tested, maintainable code). Of course, those procedures are ususally designed to make sure that catostrophic failures don't occur, so they're important. Using a development methodology is like taking an insurance policy out on your project...you can't spend as much time designing, coding and testing (so it costs you more), but what you end up with will probably be good enough (so at least you get something).

    3. Re:Why development methods matter... by Greyfox · · Score: 1
      That's what I'm on about. And while my CEO may feel that efficiency and quality don't add value to the company, I think in the long run my customers may feel differently. Especially if someone else comes along who can offer me better quality and efficiency at a similar price.

      As with all the other buzzwords (Java, XML, etc) Scrum is being used as a magic bullet. Oh, we don't know what we're doing, so we'll use Scrum and it'll be OK. If you've got good coders, a good manager and a strong vision of what the project's supposed to deliver, Scrum can work for you. But then, so can just about anything else you care to use. If you don't know what you're doing, Scrum won't save you, even if you combine it with Java and XML.

      The problem as I see it is that a lot of people are in this industry to make money who don't give a rat's ass about IT. I bet a small group of people willing to accept a lower ROI because they have fun working with computers would enjoy more success.

      --

      I'm trying to teach myself to set people on fire with my mind... Is it hot in here?

    4. Re:Why development methods matter... by justaguy516 · · Score: 1

      Do they make success more likely? I thought they just catch risks ahead in time (as compared to ad hoc processes), so that you can spot failure before it hits you.

  51. Comment from the 1st reviewer by bADlOGIN · · Score: 4, Informative

    To this review's author:

    As the author of the extremely short previous review, I commend you on your overview of the details. Considering how brief the origial book is, you've covered most of the book here:) However, I'd like to point out that the most important thing to keep in mind about this book is that Scrum itself is intended to be a management wrapper for _any_ engineering processing you wish.

    I suspect that's why you gave the book such a low score: no "soup to nuts" implementation. Again, however, that's the point. You need to adapt your development to your organization, and the goal of Scrum is to provide a way to do that via change evolution rather than revolution.

    Scrum itself has a relativly small set of rules and jargon (compared to some of the methodologies), even less than XP. But that's the point. Adapting Scrum into an organizations culture can give you better _management_ of your development process and bring about significant changes without as much infighting and issues as other "heavier" processes do.

    Oddly enough, what I liked about the book is most likely what you disliked about it. It's attempting to illustrate why there are so many problems with viewing software development as a defined process (like building lawnmowers), because it's not well modeled as a defined process. Again, I go back to viewing this book as containing more of the "why" of Agile software development as opposed to the "how" of Agile software development (XP, in my opintion by popularity).

    Thanks for your good review work. While I disagree with your rating for being too low, in retrospect, think mine may have been a bit high. All in all though, as content coverage and explanation goes, I commend you for doing an outstanding job.

    P.S. Any thoughts on Yourdon's Second Edition of "Death March"? Now a review of THAT could get some good chatter going:)

    --
    *** Sigs are a stupid waste of bandwidth.
    1. Re:Comment from the 1st reviewer by bucketman · · Score: 1

      It's not like I lost sight of the non-prescriptive nature of Scrum regarding the technical details. It's more that all I could see was this massive risk the Scrum imposed on the team that had to be dealt with *somehow*. This risk was never really discussed in the book and, in the end, I think my point is that if you fail to address the risks that the unspecified parts of the process impose, you'd be well on your way to a death march. I felt the book could not be recommended given that it failed to address this risk.

      I read Death March a while back and liked it quite a lot but have a couple of other books I want to review here first ("Modern C++ Design" and "The Mythical Man-Month").

      BTW, my rating was supposed to be 0 out of 1, not 0 out of 10 :)

    2. Re:Comment from the 1st reviewer by timothy · · Score: 1

      Just a note to say I'm glad to see that in this case a book was worth two (very different) reviews.

      timothy

      --
      jrnl: http://tinyurl.com/c2l8yr / foes: http://tinyurl.com/ckjno5
  52. Ahem. by johnbr · · Score: 4, Informative
    Having read the book, taken the ScrumMaster course and implemented Scrum in my organization, I think I have a somewhat different take on the value of the beast. (I, btw, also have almost 1.5 decades of experience in software development)

    First, SCRUM is not trying to supplant XP. It is trying to supplant RUP and waterfall. If you don't believe me, check out www.xbreed.net, which tries crossbreed SCRUM and XP, and was written by one of the authors of SCRUM.

    Second, SCRUM specifically says that is is a "candy bar wrapper, not a candy bar" (i.e. it is a wrapper around development practices, not a replacement for them). I recognize that the name might be confusing, and I accept that. But the book does not ever say that you shouldn't use good development practices within the SCRUM model.

    Third, SCRUM simplifies reporting and tracking, in ways that are analogous to, and quite possibly simpler than XP (I've used XP too). I know all you code monkeys disdain reporting and deliverables and tracking all that, but those of us who manage you monkeys need to be able to report some sense of progress, and SCRUM gives us tools that do exactly that.

    Fourth, SCRUM establishes an additional goal for each 30 day sprint - deliver something of demonstrable value to the customer. That, by itself, is a very powerful mindset, because it strips away a lot of the bs programming, leaving stuff that the customer will use. Ideally, the customer would be there every day, but I have yet to see that happen, except when the customer is in the office/cube down the hall.

    More than anything else, I'm amused. It's like you got the elves coming up to Helm's Deep to aid in the fight against the Uruk-Hai, and the humans in the castle attack the elves for having different weapons! Nothing about SCRUM is in any way contradictory to XP w/a 4 week iteration If anything, it provides some additional benefits. We use the core set of XP development memes (UT, daily builds, PP and Refactoring, etc), and we use SCRUM to help guide the month's worth of work. And it works very well for us.

    1. Re:Ahem. by PissingInTheWind · · Score: 1

      > Having read the book, taken the ScrumMaster course and implemented Scrum in my organization [...]

      Of course you beg to differ.

      The higher the investment you made in learning something the harder you'll vouch for it, wether it's good or not.

      --

      A message from the system administrator: 'I've upped my priority. Now up yours.'
    2. Re:Ahem. by William+Tanksley · · Score: 2, Insightful

      The higher the investment you made in learning something the harder you'll vouch for it, wether it's good or not.

      And the less you know, the more competant you imagine you are.

      Do you have any reason to suspect that the original poster is wrong? I.e. do you believe it's good or not?

      Or were you just wasting electrons?

      -Billy

    3. Re:Ahem. by Anonymous Coward · · Score: 0

      > Fourth, SCRUM establishes an additional goal
      > for each 30 day sprint - deliver something of
      > demonstrable value to the customer...

      Every 30 days?!?! What are you delivering, builds
      of "Hello World".

  53. Scrum... by Anonymous Coward · · Score: 0


    Scrum...diddely...umptious.

  54. Eigenpoll by AeiwiMaster · · Score: 1

    Hi

    I have a eigenpoll for comparing the
    best books on Agile software Develoment
    here

    rigth now it have the following books

    PeopleWare
    Agile Software Development PPP
    Lean Software Development
    XP Applied: Playing to Win
    Agile Software Development
    XP Explained: Embrace Change
    Refactoring
    Planning XP
    Test-Driven Development
    ASD Ecosystems
    Pragmatic Programmer
    ASD with Scrum
    Agile Modeling
    XP Installed
    Unit Testing in Java
    Adaptive Software Development
    Testing XP
    Pair Programming Illuminated
    Writing Effective Use Cases
    XP Explored
    Teach Yourself XP in 24 Hours
    XP Examined
    XP in Practice
    The CRC Card Book
    XP Perspectives

  55. No, this is an attempt at abstracting experience.. by Anonymous Coward · · Score: 0

    It's not that managers need to develop buzzwords and buzzconcepts in order to feel productive, it is that they are always trying to solve problems at a higher level of abstraction. They are trying to solve probelms in general instead of the specific problem they have.

    The most important knowledge a project manger needs is "a lot of". Project managers need a lot of knowldege and a lot of experience. When confronted with a *specific* problem in a specific context, a good manager will take little pieces from their knowledge and experience and totally rework them to get what works for the process under consideration. The end result will look nothing like any standard, be it waterfall, iterative, xtreme, rational unified, or scrum.

    The problem with meta-magnagers is they want to codify experience into a product, abstracted from the actual project managers who are good. But you cannot do this -- the quality is in the product manager, not in the processes that the manager uses for a specific project.

  56. Re:I might understand these programming methodolog by meme_vector · · Score: 0

    Large software development is not just a matter of having programmers that are "wanting to do their best job at coding and make sure it's code that will work and be maintainable for years to come". It's about having all that talent working together in an efficient and sustainable manner. XP (and other agile methodologies) help put a framework around the uniqueness of those talents in a manner that is both tolerable by the technicians and workable for the customer/project manager. It's a decent middle ground between letting the programmers work solely when their muse calls, and the overbearing, measure each keystroke control that the PMs want. And best of all, it embodies the very qualities you want in a team such as trust, communication, responsibility, cooperation, and thoughfulness. And it addresses the major factors that contribute to programmer burnout; impossible hours, impossible deadlines, and processes and procedures designed to cover some PHB's butt without consideration for the impact on the project or one's soul. So XP isn't perfect, but it's way better than traditional programming in any number of ways.

  57. methodologies by yagu · · Score: 1

    I've always wanted to publish my methodology but could never find a publisher willing to publish a one-page book.

    So, I've decided to publish it here on /. for free:

    My Methodology

    Find someone who knows what they want, find some people who know how to do it, put those people together in a room, and it'll get done.

    Look for future URL for download.

  58. XP == Japan Manufacturing by JWhitlock · · Score: 1
    I liken XP instead to just-in-time manufacturing (a manufacturing process that was popularized by analyzing why Japan was kicking US butt in terms of product cycles)... it is not, nor can it be, the absolute solution, but it may well be a valuable signpost on the way to consistent goal-meeting.

    I had the same impression, but for different reasons. At the university (engineering school), Japan's manufacturing process was analyzed in terms of quality control. They used randomized techniques to select product to test, design criteria to test the product, and statistical analysis to determine if there was a problem. It was all existing theory, mostly developed by Western academics, but Japan was one of the first places where they could actually get management to put the theory into practice.

    I wonder if programmers would be less critical of ideas like XP if Control Theory were a required course for a Computer Science degree. That class gave me a huge respect for feedback loops, constant sampling, and finding proper and measurable metrics to gauge improvement.

    1. Re:XP == Japan Manufacturing by jbrains · · Score: 1

      The book Lean Software Development (Poppendiecks) provides some of the theoretical underpinnings of Agile Development, including XP. As more people read this book, XP/Agile begins to sound less crazy.

      I'm not sure Control Theory courses are required to see the connection, though. Just read Slack.

  59. The best practices is Layering by AeiwiMaster · · Score: 1

    That is worng!

    At the time of writing the best practice is
    Layering!

    Here is the proff. ;-)

  60. Can you say "Snake Oil Salesmen"? by Anonymous Coward · · Score: 0
    I worked for a small software company that hired Mr. Schwaber as a consultant to come in and implement scrum in 2000. It was a dismal failure.

    Scrum is a painfully idealistic system that, if implemented perfectly and followed to the letter, might work okay. That's really hard to do. As many folks have noted, it often happens that developers are forced to work long hours, management changes their minds behind everyone's back, etc. etc. etc. In our case, many of these things happened and scrum simply served as a way for the management to feel better about micromanaging projects. Unfortunately, Mr. Schwaber was completely unable to stick to his own rules: projects got miserably out of hand, developers worked 80 hours weeks, communication between management and the developers faltered, and sprints were all but ignored.

    Scrum's one positive contribution to the development group was to increase communication between programmers - in that, it succeeded.

    So. There are some okay things about scrum, but it's pretty hard to get right, and pretty easy to screw up while you think you're doing the right thing. And, if you decide scrum is right for your company, it's my recommendation that you don't hire Ken to implement it.

  61. Re:Scrum? by plugger · · Score: 1

    It also has connotations of chaos, or at least lack of rigid organisation. In the UK, after a night in a busy nightclub, you might say 'It was murder getting a drink, there was a real scrum at the bar'.

  62. an analogy from boeing by cinnamon+colbert · · Score: 1

    "In the Scrum meeting, no one is allowed to speak save for the Scrum Team and Master. Others may attend but may not speak. This is intended to keep to meeting focused and short"
    About two or three years ago, PBS had a documentary on how boeing was building its new airplane, a pretty large project with some severe failure consequences. A lot of interesting stuff, but the most pertinent were the sections where the camera sat in on a weekly status meetings. A person would say something like: " worked on the engine mount. No progress; problem with titanium cracking at temp. Looking into heat treatments".
    and for this large project, one had the impression that the mtg was really short.
    I don't know if the software writing field has anything to learn from good manufacturing companys, but in the biomedical (pharma + biotech) research, we certainly feel we can learn a lot from boeing and motorola and toyota

  63. Another amusing anecdote by Anonymous Coward · · Score: 0

    About four years ago, the MD walked into the development room at the software house where I worked, fresh from a Microsoft briefing on a new, all-encompassing technology you may since have heard of. For some reason, he was curious about the technology we used to connect various parts of our application together, particularly over the Internet. "Do you use .COM?" he asked. "It's very good, you know."

    I don't work there any more. :o)

  64. Re:Scrum? by Anonymous Coward · · Score: 0

    And the 8-man puts his his head up the second row's asses.

  65. been using scrum for 6 months by Anonymous Coward · · Score: 0

    I'm one of the ppl that get to go to two scrum meetings a day. Seems great on the surface, but morale, quite frankly, sucks. Everyone on my development team feels like they have no opportunity to think, and problems tend to go for long periods of time unaddressed, since the groups tend to act more like military units following a design plan than committees trying to get the job done...

    So in our company, using the scrum model has actually made the process worse... certainly not a magic fix by any stretch.

  66. I use Scrum and I like it by jeremybguero · · Score: 2, Informative

    Scrum doesn't turn into a Death March.If it does then you ScrumMaster needs his head examined. I personally try to avoid any job where my boss is an idiot.

    The basic purpose for my team using Scrum is to keep focused and be able to work towards a single goal.

    The daily scrum meeting helps to coordinate the group and help each other out if there are problems. And we can find out in that meeting if someone is off track on the project or had a better method to do something.

    We stick to our 40 hours and do the best we can in the time given to a project.

    The best part of Scrum is that we have a someone that can stop outside distractions and let me do my job. That is what the ScrumMaster does the best. If someone wants to change something or pull me off to do something else, I can defer it to the ScrumMaster. A single point of focus to keep the team on the right project and outside distractions to a minimum. The ham and eggs analogy is great to explain this idea.

    And daily sprints do not mean I cannot work on a piece of the project more then one day. I just have a daily focus and work to reach a conclusion.

    Testing is part of any good development and I never understood why you had to spell it out in the methodology anyways. overkill in my opinion

    I really don't care what you call the idea of Agile Development or claiming to use the latest and greatest XP or Scrum. But I have about a fourth the worthless paperwork and meaningless meetings with a simple focus because we use Scrum. And that lets me do my job and actually create something with a focus and be able to adjust each 30 days to deliver the correct product. The funny thing is I don't think a single manager knows that we actually use Scrum but we are far more effective for doing it.

    And if you were looking to match it to XP then you could match even the waterfall method. And didn't an earlier post mention that Scrum was developed about 6 years before XP so which is a breakoff. My guess would be XP.

  67. Re:I might understand these programming methodolog by beefo · · Score: 1

    We used this method to support a more rigours production process when time constaints made things otherwise impossible.
    Our situation was: migrate existing functionality to a new platform (as the manufacturing of critical parts was being obsoleted) while introducing both improvements to the existing base and new functions at the same time.
    The systems folks had a pretty good handle on this, however, having to wait for the better part of a year for the I/O drivers, execution and memory management pieces would have put us in a very bad position (compared to competitors who were not suffering obsolecence...).
    We used a SCRUM team to initialize the new hardware and start with a planned introduction of I/O drivers. Our initial execution manager was trivial and memory management static.
    This allowed us to get something to the systems folks "asap". While they (the systems folks) were getting thier algorithms in place and tuned, we would then review our installed code, identify weakness in style and make improvements for maintenance and robustness.
    Then another I/O driver or two and turn the cycle again.
    Eventually the system integration became difficult (and needy) enough that we worked on memory and execution managment as well as power-down and other (not RUN=NORMAL) tasks.
    This model worked very well for us.
    Of course we had experienced people who could handle the
    a) "just get it work at all"
    followed by
    b) "rigourous requiremnts"
    followed by
    major revision.
    None of which would have been possible without management "buy-in". That is to say, most of the XP (or SCRUM) efforts that I have had experience failed to see the light of day.
    This one, however, took to the delight of (most) everyone concerned.

  68. "salaried" != "slave" by JonTurner · · Score: 1

    >>"Day 16-17 The team is discouraged by all the work remaining and didn't work during the weekend."

    Good grief! If, two weeks into a project, the developers are being admonished for not working over the weekend, I'd say the problem is with the manager's lack of planning skills, not the engineers' work ethic!! The old phrase "your lack of planning doesn't make it my emergency" comes to mind.

    Except for true emergencies, planning for teams to regularly work weekends is simply asking for high employee burnout and high turnover rates. What ever happened to the notion of treating programmers like respected professionals instead of so-called "resources?"

    1. Re:"salaried" != "slave" by BWJones · · Score: 1

      What ever happened to the notion of treating programmers like respected professionals instead of so-called "resources?"

      Programmers in many cases have become commodities. The dumbing down of code along with a complete lack of people who take pride in their code along with date driven rather than product driven applications has taken its toll.

      Except for true emergencies, planning for teams to regularly work weekends is simply asking for high employee burnout and high turnover rates.

      Agreed. Here is the other deal that many companies practicing this sort of business are missing here: Employee turnover is damned expensive. You lose out on employee knowledge of the intrinsic workings of the system and develop a sort of corporate Alzheimers over time if turnover remains high. This also saps corporate earnings and makes companies less competitive.

      --
      Visit Jonesblog and say hello.
  69. Damn by ByteSlicer · · Score: 1

    I honestly have to say that the review of the book already bored me to death. Maybe I'll order the book as a nightcap...

  70. Consistency of success... by DrCode · · Score: 2, Insightful

    Managers are always looking for a methodology for ensuring success.

    What I've found, is that the only way to have success is to have good developers, and that means people who are not only technically competent and skilled at writing software, but also mature enough to get along with each other.

    This isn't really unusual if you think about other professions. If you need surgery, you're most likely to find a doctor with a good track record. What you wouldn't do is come up with a "surgery methodology" and then hire a couple random doctors through an agency.

  71. Seems to me... by adrianbaugh · · Score: 1

    The problem with this model of programming is that it puts too much emphasis on "where are we going next" instead of "how do we make what we have more stable than it is already". While both of these are important facets of a successful project I feel that this system has a tendency to overemphasise the former without due regard to the latter - new features are easy to quantify whereas stability is more difficult. This seems likely to give rise to the "Microsoft Outlook" syndrome where you end up with a piece of software that can do everything that can feasibly be expected of an email reader, but has very serious flaws both in implementation and ideology. I don't believe this is inherent in the "scrum" methodology but I do think that the centring on too-regular team meetings will cause over-focus on featurism at the expense of QA and stability checking. At best, it will take a stronger team leader to keep a "scrum" project on course than if it were developed by other, less short-term-goal-focussed means.

    --
    "'I pass the test,' she said. 'I will diminish, and go into the West, and remain Galadriel.'"
    - JRR Tolkien.
  72. Mass-produced software... by DrCode · · Score: 1

    The software equivalent to mass-produced furniture is an automated CD-burner.

    Software development is akin to furniture design.

  73. Agile Software Development with Scrum by Anonymous Coward · · Score: 1, Interesting

    In the same way that Sophia Loren is more than a girl and a Porche more than transportation, Scrum is far more than the practices, terminology and rules that were extracted from the book. Scrum and XP are both based in agile values and are complementary, while addressing separate problems in development projects - Scrum addressing management and XP addressing engineering. I regret that someone who has clearly never used Scrum interpreted it based on a sterile reading and distillation. Someone more knowledgeable would have provided more value analysis and shown how XP and Scrum successfully interoperate and when they need to.
    Ken Schwaber ... author and advocate

  74. Scrum Fucking Sucks by Anonymous Coward · · Score: 0

    I hate scrum. Many methodologies suffer from staleness, from a lack of involvement after the initial design phase and until the next iteration. Scrum tries so hard to get away from that, that it becomes intrusive. Daily meetings, no matter how short, are a waste of time, especially since a lot of the real discussion will be going on in the defect tracking software or e-mail, anyway. It doesn't work well with telecommuters or people who just can't make it to meetings on a regular basis. And if you get rid of the daily meetings, it's not all that different from XP.

    So fuck scrum. And, for that matter, fuck most every other methodology. We use iterative models so our software can adapt to real world conditions. It seems kind of strange, then, that we build up these inflexible systems for people to live under. A little structure is necessary, of course, and controls are good (since software development, especially on government contracts, is a huge gamble). But there's such a thing as too much of a good thing.

    Plus, I want to work overtime. I want crunch time. Some of the best code I've written has been under deadline pressure. Sometimes I'm in a zone and need to keep at it.

  75. My mind must be in the gutter... by Anonymous Coward · · Score: 0

    I completely misread the title of that post.

  76. Scrum's success is highly dependent on the team by hog2 · · Score: 1

    We use scrum, and it has been working for us.

    We've been using it for about 6 months, and so far only the last sprint (right before the launch) turned into a death march, and even that wasn't too bad (compared to other places I've worked). During the other 5 sprints most of us worked just regular hours.

    Scrum, I think, can succeed if the team had good chemistry. If egos or personalities conflict, then I can easily see some of the problems in the article arising -- little refactoring occurs, little code fiefdoms arise, etc. But in our team this has not occurred.

    For example, a large refactoring ended up being a placed into the sprint backlog during one of the sprint planning meetings. The product owner was willing to accept this 60-hour item, because we insisted on it. If the product owner doesn't accept these arguments from development, or doesn't have a good communicative relationship with the team ... sure more features could have been added but the code quality would have suffered. The product owner must understand this.

    So, if the team is has a good working chemistry (including, maybe especially, the product owner), then scrum seems to work. I would not be surprised if it failed if this were not the case.

    --
    --Kirk
  77. Re:I might understand these programming methodolog by Renegrade · · Score: 0

    "Then, I realized that I had just assumed all other people are like me: wanting to do their best job at coding and make sure it's code that will work and be maintainable for years to come"

    When I first started my most recent job, I had a vision like this also. Then I discovered our log downloading was a blind shell script. With no detection for either missing logs or half-downloaded logs. Then I discovered that the PREVIOUS iteration was ALSO a shell script, only in a slightly different style (but still hard-coded addresses and such). Then I discovered the system BEFORE that was a series of RSH commands, also blind, also hardcoded, AND completely replaced for no reason whatsoever.

    I was horrified. It was awful. Totally against everything I believed in. My job was cut out for me: The hours of checking for missing junk had to go!

    I implemented over a few days a Perl-based downloader that had the following features:
    - "+EOF" check to determine that the whole log was downloaded (a simple change to the webservers' rotate logs script)
    - Additional checks to see that the download command didn't abort with an unusual error level
    - Basic download throttling. It's a lot faster downloading 6 logs at once rather than 384 at once.
    - Easily updated text configuration file (never made the CGI to administrate that, but it was dead easy in VI anyways)
    - Descriptive variable names and clear processi within the script
    - External documentation which included justification for all features employed as well as explanations of optimizations and whatnot
    - Detection of changes to the domain names for the websites that may indicate that additional servers were added (or removed) from a given domain
    - Support for multiple download protocols (SSH and FTP implemented initially)
    - Support for a "download caching" area, as the hardware of the time was a big, faulty raid array that topped out at 250k/sec effective write speed (adding a 36G drive to download one day's of logs helped tremendously, and the logs could then be gzip-piped over to the dog slow raid at a reasonable rate (2.5 megs/sec effective with gzip))

    To make a long story short, this system was everything the predecessors' systems were not: Elegant, extendable, maintainable, documented, fast, but (leaving out the configuration file) short. I no longer had to hunt for hours to find missing logs or run manual checks and harass system administrators to figure out if any hosts had been added/removed from domains, etc. Everything ran smoothly, and I had little to do but sit, relax, and try not to laugh at management's horrible new ideas. Any inebriated monkey could manage the new, improved system.

    Unfortunately, as I was no longer critical to the operation, and an inebriated monkey was a bit cheaper than my paycheque, management gave me the old heave-ho.

    I guess the previous maintainers who wrote poorly maintainable, useless code knew something I didn't.. doh!

  78. More bollocks from the dept of silver bullets by Anonymous Coward · · Score: 0

    Fuck I miss the days when programming was an obscure occupation.

  79. Moo by Chacham · · Score: 1

    o because my reaction to this book

    To what book?

  80. more reviews of this book by Anonymous Coward · · Score: 0

    There are some more reviews of this book here.

  81. READ IT FOR YOURSELF ! by Anonymous Coward · · Score: 0

    This review is inflammatory, and (worse) inaccurate. Why not read about Scrum for yourself, and see if it strikes you the same way? The following site has been set up by Schwaber and Beedle, so the content matches the reviewed book: http://www.controlchaos.com Personally, I wouldn't want to work in most non-Scrum shops... (once you switch, you can never go back) Submitted by debhart 3 years' experience with Scrum