Stories
Slash Boxes
Comments

News for nerds, stuff that matters

Slashdot Log In

Log In

Create Account  |  Retrieve Password

Microsoft Lauds Scrum

Posted by ScuttleMonkey on Sun Nov 13, 2005 07:37 AM
from the sounds-like-fightin-words-to-me dept.
under_score writes "According to eWeek.com Microsoft is adopting the agile methodology called Scrum to get software built faster. Is it working? They seem to be claiming that Scrum and Extreme Programming have helped them get recent releases such as SQLServer out the door faster with better quality. Many other large organizations are also adopting agile methods including Yahoo, and Google. Are agile methods the next big thing in software development?"
+ -
story
This discussion has been archived. No new comments can be posted.
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
 Full
 Abbreviated
 Hidden
More
Loading... please wait.
  • by Anonymous Coward on Sunday November 13 2005, @07:43AM (#14019738)
    Microsoft is lauding scrum for assisting them in delivering a product late and with a smaller featureset than originally planned? Ok, that's certainly an interesting approach. Now we can hear about how scrum is responsible for bringing Longhorn out earlier and with more features than ever expected.
    • by ergo98 (9391) on Sunday November 13 2005, @10:21AM (#14020161) Homepage Journal
      Microsoft is lauding scrum for assisting them in delivering a product late and with a smaller featureset than originally planned? Ok, that's certainly an interesting approach.

      I've noticed a tremendous correlation between organizations, groups, and individuals in trouble (late projects, lack of talent and capability, a feeling of being overwhelmed by the capabilities of competing groups) and an acceptance and evangelizing of silver-bullet methodologies. It's like the long-time alcoholic giving speeches on how great it is to sober, or the homeless guy talking about the importance of going to school: It's the wrong person to be talking about it. Maybe serving as a ominous warning, but not as a credible source of advice about the right course of action.

      Personally I'd like to hear what "methodology" Apple uses - They seem to continually manage to release great software. They don't seem to be buzzword laden, or full of ridiculous concepts like pair programming, but seem to use "traditional" programming models on reasonable plans with involved, motivated employees.
  • A good example? (Score:5, Informative)

    by blowdart (31458) on Sunday November 13 2005, @07:44AM (#14019742) Homepage
    So Scrum was used on SQL Server? The SQL Server product that's very late and has had to have features disabled [bink.nu]. Or was it used on Visual Studio 2005 perhaps? The one where they've already announced a service pack before the official launch date because people are so unhappy [microsoft-watch.com]?

    These are scrum successes? I'd hate to see the failures.

      • But that's typical. (Score:5, Interesting)

        by blowdart (31458) on Sunday November 13 2005, @08:49AM (#14019896) Homepage
        That's certainly true, but having read a lot about scrum et al you tend to find that most, if not all of the examples used to justify the selling of a new methodology don't have a lot of detail.

        Take a look at one of the Agile Poster Children and his proof [agilemodeling.com] that it works.

        Quote: "Because of the newness of agile methods there simply hasn't been sufficient time to prove that they work in a wide variety of situations."

        Thats a wonderful way to dismiss anyone saying bad things, and it's rubbish, because the burden of proof for any claim is independent of its age.

        Quote: "the question "where is the proof" is typically asked by organizations that fit the late majority or even laggard profiles ... Because agile techniques clearly aren't at that stage in their lifecycle yet I believe that this question simply isn't a fair one at this time."

        So the act of asking for proof these things work means you're not ready? Ad hominem alert.

        Quote: "Are they really interested in finding an effective process or are [they] merely looking for a reason to disparage an approach that they aren't comfortable with? Are they realistic enough to recognize that no software process is perfect, that there is no silver bullet to be found? Are they really interested in proof that something works, or simply an assurance of perceived safety?"

        Ad hominem again.

        Then you look at the project that started Agile, the Chrysler Comprehensive Compensation (C3) project. It was lauded as the first agile program and a success, however by February 2000 with the system was failing when paying 76,000 of the company's 86,000 employees. It was cancelled. Apparently this failure is now the new success [c2.com].

        Every methodology has rapid followers who will hear not evil said of it, but when looking at these things you have to remember "He's NOT the Messiah ... he's just a very naughty boy."

        • by arivanov (12034) on Sunday November 13 2005, @09:42AM (#14020028) Homepage
          Well, it tends to work in the areas where UML (in any of its incarnations) and the Unified Process reigns supreme. Now, the important thing before putting any claims about UML, object oriented programming and Agile is to understand the background behind their origins.

          The Unified Process precursors were initially developed by consultants helping improve the code quality at Ericsson. The work was mostly in the area of voice switches and network management equipment. These consitute a specific field of software design which is quite different from the rest of the industry.

          The most important difference is that there is an existing specification to which the software must comply. The specification already defines what the software is supposed to do for each allowed input, what are the error conditions, how to handle errors and this is usually defined as a set of simple and very strict rules. This type of task can be very easily expressed as a flow chart. The data objects are mostly defined in the protocol spec so there is no data design work to wrestle with. The spec rules are trivial to map to elementary state machines and are usually very small and well defined. They can be easily written with test cases and unit tested. And most importantly there is plenty of system resource to implement them.

          While the methodology behind this type of work can be applicable to other fields there is no justification whatsoever to state that it is the only correct methodology.

          It is not applicable to systems whose behaviour is mostly determined by a resource constraint.

          In order to apply it to a system you have to define the specification first and express it in terms which are suspiciously similar to a Telecom switch spec - trivial actions with well defined input and output.

          It is not applicable to systems where the conditions determining the change of execution are complex and cannot be expressed in terms of simple rules. Best example is possibly heavy duty math. It is nearly invincible to UML, UP and Agile attacks.

          So on, so fourth.
  • by dnoyeb (547705) on Sunday November 13 2005, @07:44AM (#14019743) Homepage Journal
    I find methodologies are like other tools. If they buy you time, and your dilligent, that time will be spent on quality. So its not likely to both buy you time & quality. If you seem to have more time its only because you have not spent it on quality.
    • by aussie_a (778472) on Sunday November 13 2005, @07:49AM (#14019760) Journal
      With Microsoft's virtual monopoly, they have a guranteed market for a program and would have to cock it up REALLY, REALLY bad for that market to shrink to a noteworthy degree. So they need to get programs out there to rake in the cash. Quality isn't really an issue for them.

      However hopefully if they continue to use this flawed business plan, they'll continue to slowly lose customers. Well, I can dream, can't I?
    • Insightful?! (Score:5, Insightful)

      by RAMMS+EIN (578166) on Sunday November 13 2005, @09:29AM (#14019996) Homepage Journal
      Sorry about whining about a post getting modded up, but what is this? Can't people calculate anymore? If Scrum buys you two months of time, and you spent half a month on improving quality, hasn't Scrum bought you both quality and time?

      The above is just a simple counting argument. But if you actually look into the nature of things, it's entirely likely that a better process can increase development speed and improve quality. For example, if you improve the specification process, you could end up with a clearer specification that wouldn't be adapted so often while implementation is already going on. This reduces the time it takes to implement the specification, and causes it to be implemented better.

      So, no, I don't think the parent is right that you can't have an improvement in both time and quality, or that if you've improved one, it's probably because you sacrificed the other. I do think that a lot of these methods are worse than worthless, but that's a completely different story.
  • Deadlines (Score:5, Insightful)

    by aussie_a (778472) on Sunday November 13 2005, @07:46AM (#14019751) Journal
    Looks more like developers are being pressured to achieve ridiculous deadlines, with a fancy name tacked onto the pressure. I also wonder what sort of security is being done to programs developed via the scrum method. Is the scrum JUST for the programming (and/or the preceeding stages)? Or is it the whole thing, testing included, in this "quick, quick" method? If it's the latter, I can't see how testers are going to be able to truly secure the software, so we'll continue to get unsecure software from Microsoft. Thanks a lot, you just made my wish to migrate to Linux increase.
  • by Frankie70 (803801) on Sunday November 13 2005, @07:49AM (#14019761)
    How many people are going to read this as Microsoft lauds Scum?
  • by Colonel Sponsz (768423) on Sunday November 13 2005, @07:49AM (#14019764)
    So... does that make Microsoft a hive of scrum and villainy?
  • big things (Score:4, Insightful)

    by famebait (450028) on Sunday November 13 2005, @08:05AM (#14019791)
    Are agile methods the next big thing in software development?

    No, they are the current/i> big thing. No doubt the hype will pass, but I do hope and believe and they bring some things to the table that deserve to last.

    The focus on the way people actually work, on optimising that in a realistic way, on work satisfaction, on recognising and handling uncertainty in stead of ignoring it, and on pulling the curtain on a lot of practices that everyone knows don't really work but kept pretending anyway. All long overdue lessons for a methodology-field too long too dominated by good-on-paper theory and wishful thinking for managers rather than real experience with what works.
  • by ankarbass (882629) on Sunday November 13 2005, @08:14AM (#14019809)
    When XP works, at least in some cases, it works not because it's the best methodology. But because it is the one that people will do. It is "A" methodology where there either wasn't one, or there was something in name only which people paid lip-service too. For the programmer and manager alike, XP is easy to grasp and start implementing right away. Compared to more traditional methods, it's a simple method that eschews excess paperwork and you can explain the basic idea over lunch.

    I also think there is something to the transparancy of the work environment. It's a lot harder to read slashdot when you are "pair-programming" or all of your peers are sitting in the center of a large room. It might just be that you get more done because it is harder to slack.
  • An XP Book Review... (Score:4, Informative)

    by mindpixel (154865) on Sunday November 13 2005, @08:20AM (#14019827) Homepage Journal
    This is a very timely posting for me...Monday I have a meeting to get the budget to make create an XP team to build Ajax internal systems. Good to see the large entities are thinking the same way.

    Here is my review of Ron Jeffries, Extreme Programming Installed from April 25, 2001:

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

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

  • At Alias, we use Agile and Scrum very extensively. The Sketchbook team was among the first at Alias to adopt it at our company -- Jim Highsmith even gave us a little write up in one of his books.

    We don't, however, do that much pair programming. And the whole completely open office space works for some, and definitely not for others. For myself, I'm way too easily distracted -- so I need a nice quiet and private cubicle in order to achieve the state of "flow" where I can write code. In my experience, pair programming works for debugging and integrating code -- and not so well for creating it. YMMV.

    Sketchbook has come in on time and on budget, and with extremely high quality. Agile and Scrum had something to do with it. I think the fact that we had a clear vision, a small and very experienced team, a really good working relationship with our usability team and research team, great QA, and excellent management had at least as much to do with it.

    As a process, its the only one I've seen in 20 years of doing this that actually makes the life of a programmer better, not worse.

  • by RAMMS+EIN (578166) on Sunday November 13 2005, @09:19AM (#14019964) Homepage Journal
    Ok, so what's this scrum thing? According to Control Chaos [controlchaos.com] (the first related hit I got on Google):


    Scrum is an agile, lightweight process that can be used to manage and control software and product development using iterative, incremental practices. Wrapping existing engineering practices, including Extreme Programming and RUP, Scrum generates the benefits of agile development with the advantages of a simple implementation. Scrum significantly increases productivity and reduces time to benefits while facilitating adaptive, empirical systems development.


    Lots of buzzwords, little information. So let's Learn more [controlchaos.com]:


    - Scrum is an agile process to manage and control development work.

      - Scrum is a wrapper for existing engineering practices.

      - Scrum is a team-based approach to iteratively, incrementally develop systems and products when requirements are rapidly changing

      - Scrum is a process that controls the chaos of conflicting interests and needs.
    Scrum is a way to improve communications and maximize co-operation.

      - Scrum is a way to detect and cause the removal of anything that gets in the way of developing and delivering products.

      - Scrum is a way to maximize productivity.

      - Scrum is scalable from single projects to entire organizations. Scrum has controlled and organized development and implementation for multiple interrelated products and projects with over a thousand developers and implementers.

      - Scrum is a way for everyone to feel good about their job, their contributions, and that they have done the very best they possibly could.


    At this point, my head exploded. This note is a post-mortem plea to press murder charges against the person who wrote that crap.
  • vapor style (Score:4, Funny)

    by opencity (582224) on Sunday November 13 2005, @09:22AM (#14019974) Homepage
    So Scrum is the idea that teams meet once a day for half an hour, figure out what they're going to do then go off and do their work very quickly.

    Wow, genius.

    (from what little I know) Extreme programming is testing constantly and having people work side by side? Well I Am Not A Professional but I figured this out after my first project got too big. Am I missing something here?

    I've got a new methodology: It's called: "Inning". Your programming team works for an 8 - 14 hour period and then takes a break when they sleep. I like to combine it with "Lunch" where the team, either together or seperately, eats food periodically during the day. My book is available to preorder.
    • by Spit (23158) on Sunday November 13 2005, @08:35AM (#14019867)
      No, Scrum is different. Scrum is a daily meeting that is EXTREME TO THE MAXX!!
    • by bwy (726112) on Sunday November 13 2005, @08:50AM (#14019899)
      Well, yeah, we call that a daily team meeting. Been going on since, oh, forever.

      The daily stand-up is only a small component of Scrum. And the purpose of the meeting is strictly related to which tasks from the sprint backlog you were working yesterday, which ones you'll be working today, and whether or not you have any impediments. Only pigs are allowed to speak in the daily stand-up. This means that chickens (product owners, business folks, etc.) are only observers and can't butt in and introduce scope creep. How many times in a traditional waterfall methodology have you had someone add to your scope in a daily meeting? Every day they want to change a page, add a column to the database, change the way something works, etc. This goes on to the point where the product never gets delivered. Under scrum you deliver something every 30 days and at that point the product owner can decide if he really wants to change something- and he does this by adding it to the product backlog- not by grabbing someone in the hallway.
      • by sparkhead (589134) on Sunday November 13 2005, @08:55AM (#14019910)
        I checked out the Wikipedia entry on Scrum, and if you'd like to fill in the missing details, please do so. What it says is in bold, what I would call it is not:

        Characteristics of scrum

        * A living backlog of prioritised work to be done;
        An updated prioritized bug and feature list.
        * Completion of a largely fixed set of backlog items in a series of short iterations or sprints;
        Picking a set of items and fixing them quickly.
        A brief daily meeting or scrum, at which progress is explained, upcoming work is described and impediments are raised.
        Progress and issue review.
        A brief planning session in which the backlog items for the sprint will be defined.
        Planning.
        A brief heartbeat retrospective, at which all team members reflect about the past sprint.
        Post mortem review.

        What's truly new here? I'm not asking to be a wiseass, I genuinely would like to know what this is apart from relabelled standard practices.

        I went to the Control Chaos site on Scrum and the header states "It's about common sense". OK, so why give it a stupid label with overblown descriptions? The "what is scrum" section on that site reads like a Dilbert strip.

        • by Anonymous Coward on Sunday November 13 2005, @09:28AM (#14019992)
          The news is (or was when Agile first came about) was packaging these practices into a methodology. And giving it a name - a name, as we all know, is the most important part of a project.

          Ten years ago, and often still today, a mainstream software engineering textbook started with "design errors are expensive to fix while programming". Which is a slippery slope that inevitably leads to the Waterfall Model.

          So most companies (not all!) took the Waterfall Model as an unquestionable law of nature. Monolithic upfront requirements specifications carved to stone, etc.

          Agile methodologies _think_ about the "obvious to any hacker" process and _measure_ it. They take what looks like chaotic uncontrolled hacking and, by thoughtfully selecting the right parts of the chaos, make something that can be directed to achieve the desired result.

          Sure there have always been programmers who used bits and pieces of Agile tricks. But rarely in a controlled, designed, documented, measurable way. Not in a way that is taught to every new employee, which is what you'd do with a systematically applied methodology.

          If you have for decades systematically used a well-thought-out collection of Agile principles you should have written a well-argued book that proves how your methodology kicks Waterfall Model's butt. If you aren't a book-writing kind of guy you could have ghosted the book. It's too late now to say "I always used a provably better methodology than the Waterfall Model, I just never bothered to tell anyone" :-)
        • by Zigurd (3528) on Sunday November 13 2005, @11:22AM (#14020457) Homepage
          Scrum is the upshot of the fact that standard project tracking tools don't adapt well to software projects. You can't see the difference between 30% or 70% of the coding on a large task being complete, so Scrum tells you not to have tasks that large and to only count something complete when it is 100% complete. Even the XP rule of thumb that tasks should not take more than a week to complete is too coarse-grained.

          Scrum admonishes the manager to ask "What got completed today?" If the answer is "Nothing." then you don't really know if project completion is closer or not.

          That is common sense, but it is uncommon in projects that have misapplied project management tools.
    • Re:Of course... (Score:5, Insightful)

      by Anonymous Coward on Sunday November 13 2005, @08:44AM (#14019886)
      The problem is that most managers have absolutlely no clue how to program or organize code. They can't really do anything useful in the design process. Each time something is built the programmers design and build everything without much more than stupidity raining down from the management team. Since managers don't know anything about the craft they're "managing," they don't recognize who is actually writting good code or designing robust systems and they tend to rely too heavily on the people who do nothing more than sit in the bosses office brown-nosing. As a result, many projects fail miserably or are badly designed, bug-ridden crap when they fianaly get called a "final" release. Since these managers are always having their own performance reviews tied to a process that they totally do not understand, they invent new "management" schemes to make it appear they are adding something to the process in an attempt to make themselves seem different from their peers. Until managers understand the craft they pretend to manage, we will all be subjected to feeble management fads.
    • Lucky You (Score:5, Insightful)

      by RAMMS+EIN (578166) on Sunday November 13 2005, @09:51AM (#14020065) Homepage Journal
      I say you're lucky. I'd much rather work for a company that watched what $new_thing is doing to others before adopting it, than one that jumped on every overhyped new thing that hit the press.

      There is an unholy amount of crap being invented and hyped everywhere, and, in my experience, the things that are being hyped the most are never the best ones, or they aren't actually anything new.

      A few examples:

        - Java, when new, was being hyped up the wazoo. This was the herald of object oriented programming and write once, run everywhere. Never mind that object oriented programming languages had existed for a long time, as had write once, run everywhere, and that Java isn't actually a particularly nice programming language (I get modded down every time I say something negative about Java, but this time I assume at least you will read it). With the advent of Java 5.0, it got a lot better, with things like generics and "foreach loops"; the performance problems have mostly been worked out, and stable and mature frameworks have been developed. And now your company has adopted it. Makes sense to me.

        - Ajax is the new hype of the website scene. All it is about is making websites more like regular applications through the use of existing technologies. I was doing this stuff in 1997, possibly earlier. It's still majorly broken in the exact same ways (you need to use a full HTTP request to get new data, and the server can't push data to you, except on some implementations). Maybe in five years these things will have been fixed (perhaps with the advent of XAML?) and your company will adopt them?

        - RSS feeds are all the hype. Basically, you can get news headlines from sites you subscribe to. It works just like regular HTTP, except that people have standardized on a, no, two, no, four formats to distribute headlines in, so that they are sort of compatible between implementations. Maybe in five years, when your company adopts the technology, there will be a single standard format? And maybe they will have solved the problems caused by the fact that data is being pulled (by clients who don't know when updates are available), instead of pushed (by providers who do know when content is available)? We shall see.

      I could go on, but I think you get the idea.