Slashdot Mirror


Becoming Agile

IraLaefsky writes "The appropriately titled Becoming Agile: In An Imperfect World by Greg Smith and Ahmed Sidky offers a realistic path to the family of Agile practices which have become prevalent in software development in the last few years. This family of approaches to software development has been widely adopted in the past decade to replace the traditional Waterfall Model of software development, described in a 1970 article by Winston W. Royce 'Managing the Development of Large Software Systems.' The Waterfall Model stressed rigid functional and design specification of the program(s) to be constructed in advance of any code development. While the this methodology and other early formal tools for Software Engineering were infinitely preferable to the chaos and ad-hoc programming-without-design practices of early systems, these first tools ignored the fallibility of initial interviews used to construct initial design and often resulted in massive time and cost overruns." Read below for the rest of IraLaefsky's review. Becoming Agile: In An Imperfect World author Greg Smith and Ahmed Sidky pages 408 pages publisher Manning rating 9/10 reviewer IraLaefsky ISBN 1933988258 summary provides the tools to introduce and adapt agile practices in a variety of corporate cultures The Agile methodologies which are described in this text stress an iterative approach to software development, with the continuous involvement of users (or user surrogates). These iterations consist of several week periods (to at most two month intervals) where a concise partial design requirement, story, is translated to a complete executable version of the program which can be demonstrated to users, for their immediate and anticipated criticism and controlled feature addition. These practices have undergone various codifications since the Agile Manifesto of 2001. Among the more popular Agile Menthodologies are Extreme Programming (XP), Crystal Clear and Scrum.

In describing these development methodologies this practical handbook takes an approach sorely needed in descriptions of Information Technology (IT), it assumes that the purchaser is considering employing the technologies described within the context of a real corporate environment with existing strengths and limitations, an existing approach to the problems addressed, and cultural biases concerning the adoption of new technologies. This approach enables the book to be used as a virtual consultant, taking the experiences described in a case study based upon the authors' advisory experience, and the test of organizational readiness for adoption and needs for customization of the technology as true guideline for introducing these practices in culturally and technology appropriate fashion. During the mid 1980s I served as an internal consultant at a large insurance firm, at the time we were considering the introduction of Expert Systems methodologies into the IT organization. I purchased several handbooks which were intended to introduce this new from academia technology to companies in the financial industries. Most of these books did an adequate job of describing the nature and basis of this technology to IT and Business Analysts trained in existing technology. But, all of the available books failed to chart a path for an IT organization with traditional development practices to successfully migrate to the new technology and appropriately translate this technology for business management. Becoming Agile, introduces a new effective method for describing the risks, benefits and appropriate adaptation of a radically new technology to organizations with existing successful and unsuccessful software development practices and a particular business culture.

Important features of this guide include the Sidky Agile Measurement Index (SAMI) which provides guidelines in moving your particular organization to Agile practices, the non-religious presentation of multiple Agile methodologies and approaches (specifically XP and SCRUM), appendices on organizational readiness assessment, phased development within the Agile context, an overview of the Agile process (suitable for business presentation), and the author forum. The importance of recognizing that new technology methodologies such as Agile Practices must be introduced and carried out in the context of a specific organization, with its own strengths and foibles, cannot be overemphasized. Step-by-step directions and illustrations are given for choosing an appropriate target application for the initial introduction of these methodologies, and each stage of implementation and their possible stumbling blocks are carefully outlined.

That it provides the tools to introduce and adapt these practices in a variety of corporate cultures, with varying degrees of technical sophistication is an invaluable advantage over other Agile texts and will save the organization many thousands of dollars in consulting fees. My only minor nit with this exceptionally fine introduction to Agile Methodologies is that some of the illustration appear to have been formatted in PC-based tools such as VISIO and PowerPoint and require a bit of squinting to study in the smaller book format. With this trivial exception I would award this excellent guide and virtual consultant, an almost perfect nine out of ten review, and recommend it to any organization seeking to intelligently adopt Agile Practices.

The print edition is available at all retailers, while the ebook can be purchased exclusively through the Manning E-Book Storefront.

You can purchase Becoming Agile: ...in an imperfect world from amazon.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page.

193 comments

  1. PDF of old paper was Slashdotted! by Anonymous Coward · · Score: 0

    Here's a little snippet. My secretary had it pulled up on his screen.

    MANAGING THE DEVELOPMENT OF LARGE SOFTWARE SYSTEMS
    Dr. Winston W. Rovce

    INTRODUCTION
    l am going to describe my personal views about managing large software developments. I have had
    various assignments during the past nit,.: years, mostly concerned with the development of software packages
    for spacecraft mission planning, commanding and post-flight analysis. In these assignments I have experienced
    different degrees of success with respect to arriving at an operational state, on-time, and within costs. I have
    become prejudiced by my experiences and I am going to relate some of these prejudices in this presentation.

    COMPUTER PROGRAM DEVELOPMENT FUNCTIONS
    There are two essential steps common to all computer program developments, regardless of size or
    complexity. There is first an analysis step, followed second by a coding step as depicted in Figure 1. This sort
    of very simple implementation concept is in fact all that is required if the effort is sufficiently small and if the
    final product is to be operated by those who built it - as is typically done with computer programs for internal
    use. It is also the kind of development effort for which most customers are happy to pay, since both steps
    involve genuinely creative work which directly contributes to the usefulness of the final product. An
    implementation plan to manufacture larger software systems, and keyed only to these steps, however, is doomed
      to failure. Many additional development steps are required, none contribute as directly to the final product as
    analysis and coding, and all drive up the development costs. Customer personnel typically would rather not pay
    for them, and development personnel would rather not implement them. The prime function of management
    is to sell these concepts to both groups and then enforce compliance on the part of development personnel.

    I read through several pages and glossed through the rest. Good ideas consider how far this goes back. Definitely worth the read IMO.

    1. Re:PDF of old paper was Slashdotted! by AvitarX · · Score: 1

      Perhaps they are all the best for some people?

      As generational sensibilities shift, perhaps best practices do too.

      If one looks at generational sensibilities as cyclical, than so too can methods of doing things be, most likely 1/2 generation behind too.

      cut generation times in half (to take into account that really you have blending and overlap), and you get roughly decade changes, and everyone can be best.

      --
      Wow, sent an e-mail as suggested when clicking on "use classic" banner, and got a fast response that addressed my msg
  2. Methodology fads by davidwr · · Score: 5, Insightful

    Every decade or generation management and process fads change. All of them have their faults and all of them have their benefits, and none are ideal for all situations.

    I wonder what the fad of the 2020s will be?

    --
    Knowledge is how to play a game, intelligence is how to win, wisdom is knowing what game to play.
    1. Re:Methodology fads by truthsearch · · Score: 3, Insightful

      I see changes in the software development process as more of an evolution than a fad. The needs of management and end users change, so the process changes with it.

    2. Re:Methodology fads by teh_commodore · · Score: 2, Insightful

      Most of the developers I know (myself included) should just be placed in a box with a spec sheet and left to code. All of this process mess is for the management and the "architects."

      --
      --"insert clever quote here"
    3. Re:Methodology fads by Anonymous Coward · · Score: 0

      I see changes in the software development process as more of an evolution than a fad. The needs of management and end users change, so the process changes with it.

      Does it really change that much? I sell webdesign and software/database development in Bali, (Developing world) ... Is there really another way to go besides "
      methodologies which are described in this text stress an iterative approach to software development, with the continuous involvement of users (or user surrogates). These iterations consist of several week periods (to at most two month intervals) where a concise partial design requirement, story, is translated to a complete executable version of the program which can be demonstrated to users, for their immediate and anticipated criticism and controlled feature addition."

      feel free to contact me at admin@kintabantu.org

    4. Re:Methodology fads by Austerity+Empowers · · Score: 1

      I don't know, but 6 sigma has gone retro here. Here's to 2020 being late 90's dot com chaos!

    5. Re:Methodology fads by Alphager · · Score: 1

      I don't know, but 6 sigma has gone retro here. Here's to 2020 being late 90's dot com chaos!

      Yeah, this time i will cash in and charge six figures for the 2020-equivalent of HTML!

    6. Re:Methodology fads by Trepidity · · Score: 2, Insightful

      They even seem to come with the weird religious rhetoric, too, promising that if only you embrace $Methodology, your life will change. Well, except the ultra-oppressive ones like CMMI: it demands that you accept CMMI or be destroyed.

      It seems to be a fact of life that these things are going to float around, so I guess what makes sense is figuring out which ones are relatively better or worse, and what ideas from them are relatively useful or not. As (excellent tech blogger) YosefK put it in a review of an Extreme Programming book:

      This quote is right from the book cover. "Extreme Programming Explained. EMBRACE CHANGE." Does it freak you out the way it freaks me out? Maybe it's because of the cultural gap created by my Russian origins? Nay, I know plenty of English slogans I can relate to. Say, "Trust a condom". Beats "Embrace change" hands-down. Changes come in two flavors, good and bad. Should I "embrace" both kinds?

      [...]

      "The key to XP is integrity, acting in harmony with my true values The past five years have been a journey of changing my actual values into those I wanted to hold."

      "Journey". Talking about being good. Do you like hippies? I like hippies more than nazis. I like XP more than CMM. But IMO the hippie world view and general style is suboptimal.

    7. Re:Methodology fads by Angst+Badger · · Score: 1, Insightful

      I wonder what the fad of the 2020s will be?

      I'm almost certain that the language fad will be functional programming, unless of course something even bigger and sloppier comes along to counteract Moore's Law. The management and process fad? Who cares? Except for a lucky few, we'll all have to nod and smile and suck it up until the next silver bullet comes along.

      --
      Proud member of the Weirdo-American community.
    8. Re:Methodology fads by b4dc0d3r · · Score: 4, Insightful

      The only Agile Programming method is to trust your workers, and give them what they need to get it done.

      My company said it was agile, but every process was waterfall with the names changed. More gates, more reviews, more layoffs and offshoring.

      I could support my application 100% and have time for other development, but instead I have to train other teams (10 people at least at this point) and produce enough documentation that they can fire me when I get too expensive and hire a homeless guy to replace me.

      Trust your coders, give them access they need. Then, when someone inevitably breaks your rules, hold them accountable. That's the key. Don't change the rules for everyone so you can answer "What have you done to prevent this from happening again?" The answer should be "We enforced our current policies, the person has had all access stripped, then terminated, and a reminder sent out."

      I can't do agile development if .NET has built-in limitations which require a change request to an offshore server admin support group that doesn't even work my hours. So I sit idly until the workday ends, wake up the next morning and realize the sa team wants more information. I just bypass the whole thing and develop locally, but I can't always demo locally. If I could configure the box myself, I'd be able to document what I did so I can make an implementation guide, but I can't even do that - the dev servers are locked down. I am expected to document steps that I can't perform myself, nor test. That adds time to development.

      Trust your coders, work closely with them, and get something working. Then plan for changes, because there will be design updates as well as requirement updates.

      It all boils down to hiring people who can code either quickly or generically, so that when something changes they can respond - and then allowing them to respond.

    9. Re:Methodology fads by Anonymous Coward · · Score: 1, Informative

      I miss the Extreme Programming fad.

      Coding while bungee jumping was really cool.

    10. Re:Methodology fads by Anonymous Coward · · Score: 0

      Don't mistake a "fad" with just how things are done during a particular period of time, due to the knowledge and technology that was available then.

      Traveling long distances by horse wasn't a "fad". Before trains, automobiles, and planes were invented, it was the only reasonable method available, even if we drive cars now.

      Ruby on Rails is a "fad". Everything we can do in Ruby using Rails could be done using Perl, Python, PHP, Java, C#, and almost all other languages, using a variety of different frameworks. It's just that Ruby got lots and lots and lots of hype online from stupid college students, HR idiots and managers who were more concerned with being "trendy" than with efficiently producing high-quality software.

      Agile methodologies are clearly not a fad. They have allowed us to build larger and more complex software systems using fewer resources. This was something we could not easily do before, using existing methodologies, and even today we have few alternatives.

    11. Re:Methodology fads by truthsearch · · Score: 1

      That would make you a programmer. A software developer is often involved in more than just programming.

    12. Re:Methodology fads by Anonymous Coward · · Score: 3, Interesting

      Fully agree with you on this. What the Agile process has shown me so far is that its a very fragile process, where the management want to break down the developers to the point of making replaceable parts of even the very best programmers. Add the war room to the mix, keep poking developers to "what I did yesterday, what I'm going to do today, whats holding me back" daily even when there is no work planned, so that you keep every one in check, all the time. Every job in the world has some slack built in, so you get to try something new, learn a new tech, etc, but with not Agile. They treat you like a disposable contractor that can be replaced any time. Working in a war room is not only very distracting, but also makes it very hard to look for other jobs since answering phone is going to be hard without causing suspicion.

    13. Re:Methodology fads by AnotherShep · · Score: 1

      Ask again in ten years.

    14. Re:Methodology fads by Anonymous Coward · · Score: 1, Interesting

      As a technical writer, I can see producing user documentation in small software projects using Agile is possible, but my experience in large, enterprise projects is that Agile is outright hostile to multi-layered user documentation.

      Providing estimates on how long it will take to write and produce podcasts DURING THIS SPRINT -- for a feature the developers may or may not deliver, ... meh.

    15. Re:Methodology fads by ducomputergeek · · Score: 2, Informative

      We're a small company, so we can probably get away with it, but I require my coders to show up twice a week to the office for regular meetings and then be available if something comes up. All our code is either in SVN or Git repositories depending on the project. (Our Java team likes SVN, the web development team likes Git. Usually one isn't dealing with the other). We just come up with a list of milestones and due dates and then I get out of their way. Once a new feature is added, we test for bugs, and usually the last week of the month is documentation.

      --
      "The problem with socialism is eventually you run out of other people's money" - Thatcher.
    16. Re:Methodology fads by pnewhook · · Score: 2, Insightful

      That is a "throw it over the wall" approach which time and countless failed programs have shown *DOES NOT WORK*.

      --
      Tesla was a genius. Edison however was a overrated hack who liked to torture puppies.
    17. Re:Methodology fads by Anonymous Coward · · Score: 0

      Architects are also developers. This agile process is largely concerned with how to get you that spec sheet in the first place.

    18. Re:Methodology fads by Anonymous Coward · · Score: 0

      > Except for a lucky few, we'll all have to nod and smile and suck it up until the next silver bullet comes along.

      Agile may be the "gold standard," but it's no silver bullet.

    19. Re:Methodology fads by MartinSchou · · Score: 1

      and produce enough documentation that they can fire me when I get too expensive and hire a homeless guy to replace me.

      Or find someone who can quickly pick up the work, when you inevitably die horribly in a plane crash on New Years, when the commercial airliner experiences a catastrophic failure and both sets of stabilizers snap off, causing it to crash right into your living room.

      It's terribly precise, I know, but hey - you were being overly paranoid.

    20. Re:Methodology fads by maxwell+demon · · Score: 1

      Whatever it is, it will certainly (again) not replace whatever was in use before, but the waterfall process. Every method always is intended to replace the waterfall process. If the waterfall process survived so many alternate methods, it must be really good!

      --
      The Tao of math: The numbers you can count are not the real numbers.
    21. Re:Methodology fads by quanticle · · Score: 1

      But what do you do if the spec. sheet is wrong? What do you do if the spec. sheet is unclear? How about if you can't meet the requirements given by the time specified? Methodology answers all those questions.

      --
      We all know what to do, but we don't know how to get re-elected once we have done it
    22. Re:Methodology fads by quanticle · · Score: 1

      As far as answering the phone goes, it helps to give out your cell phone number to prospects, so that, when they call, you can step out of the room as if you were discussing a private issue with a friend or a family member.

      --
      We all know what to do, but we don't know how to get re-elected once we have done it
    23. Re:Methodology fads by cheshiremoe · · Score: 1

      Agreed! Any time you get beyond small scale or low complexity, it fails to deliver on time, the features actually don't meet the business needs or the need have changed. You can't hit the moving goal if it takes a year and a half or more to get your project through the development cycle.

    24. Re:Methodology fads by Darinbob · · Score: 1

      A problem with many of these methodologies is that they claim to be the silver bullet, or at least be a one-size-fits-all approach. The waterfall model may be inefficient for short quick feature changes to existing products, but on the other hand the Agile approach is not very good for long term project planning and infrastructures. Often these methodologies become ideologies, with proponents pushing the ideas religiously. Ie, the project manager who has the attitude that everything will be great if everyone would just do what he says, or that problems in the past were do to imperfect implementation of the methodology.

      These aren't completely snake oil, but there's a bit of that substance mixed in to be sure.

    25. Re:Methodology fads by Darinbob · · Score: 1

      It does work at the right granularity. Implementing a straight forward feature that is well understood works best without having to waste time being interrupted by process or creating more documents than actual code or carving deadlines in stone.

      At some point, the actual work needs to be done, real code gets typed, and the results tested. That's the point when the process needs to back off and let stuff happen.

    26. Re:Methodology fads by pnewhook · · Score: 3, Insightful

      That's the point when the process needs to back off and let stuff happen.

      If you think you can just ignore all the design work when you start coding I'm afraid you are not going to be very successful. You seem to have a 'go away and I'll get you the answer' approach which is the same as throw it over the wall.

      Good developers need to learn how to work cooperatively in teams. Too many times I see people that *could* be good developers but have this isolationist attitude and dont want to be involved in the big picture.

      --
      Tesla was a genius. Edison however was a overrated hack who liked to torture puppies.
    27. Re:Methodology fads by Anonymous Coward · · Score: 0

      "I could support my application 100% and have time for other development, but instead I have to train other teams (10 people at least at this point) and produce enough documentation that they can fire me when I get too expensive and hire a homeless guy to replace me."

      I worked with you. You are the typical, "oh, yes, I'm really an ununderstood star rounded by morons". The fact is you don't know what a team is and why you are expected to work by the group. You are fired on the spot on my book.

    28. Re:Methodology fads by Anonymous Coward · · Score: 1, Interesting

      Trust your coders, give them access they need.

      Yeah, cause they will get laid off first. Most coders actually end up sabotaging the whole project, cause in the Agile "way", no one but the product owners gets the blame of failure. So if the project fails, the whole team usually gets the boot.

      Someone show me one agile success that has been around for 5yrs? A real success (e.g. it runs the Boeing 787 flight computer "level") Google and MS are exceptions, cause they do Agile, but their main products are not done in the Agile way anymore...

      Also, it is democratic coding, everyone's agenda's come out to play and you'll find not everyone is willing to tackle everything at full speed: some coders don't want to work much (slackers/job hoppers), some want to take all the cool work (resume builders), some want only specific problems (the PhDs), some want the critical-path problems (the prima donnas and corporate climbers), and some want the quickest tasks (the integrators/business coders). With no real schedule, index cards that only team members with the same domain knowledge know how to interpret and no responsibility (it's done when it's done mentality)--it just creates a game environment (coding is fun!) that ends up being a sweat shop from the 10K view.

      And yes, agilista is a stupid name that conjures up religious/fanboy fantasies-- there, I said it.

    29. Re:Methodology fads by Gilmoure · · Score: 1

      Yeah, but I sucked at the half pipe. So much re-compiling.

      --
      I drank what? -- Socrates
    30. Re:Methodology fads by Wizdumb · · Score: 1

      Welcome to IT darwinism

    31. Re:Methodology fads by plopez · · Score: 1

      Those meetings may qualify as "scrums". Why they were named that I don't know. Long before agile I was running teams and we met about 2x a week to do the same thing. The one rule I insisted on was "no meeting shall last longer than an hour."

      That's a bit long for agile, but I think you get the point. Short, concise, and to the point.

      --
      putting the 'B' in LGBTQ+
    32. Re:Methodology fads by Anonymous Coward · · Score: 0

      Say what you will. Software may be agile, but the infrastructure is still waterfall.

    33. Re:Methodology fads by onepoint · · Score: 1

      Gee, I don't know what has happened in the development world, but it sure sounds like a lot of BS from sales people.

      the way I recall is you had the idea, then made a features paper, then made the basic user interface on paper. after that, it was break it down into small parts and try to integrate properly.

      by the time you did everything and kept it on paper, the guys that were ready to code could build it out in no time, perspective, most of the coders were in on all the steps, so they could guess-ta-mate how many hours per sheet.

      it was a fun time, I guess they don't do it that way anymore.

      --
      if you see me, smile and say hello.
    34. Re:Methodology fads by jhol13 · · Score: 1

      I see unbelievable buzzword soup.

    35. Re:Methodology fads by sjames · · Score: 1

      Every last one of them seems to look at an effective team of bright people and attempts to codify their practices into a rulebook a micro-manager can use to make monkeys perform in a similar way. All ignore that the key to success was that the team members were bright and flexible and would have been successful with any "methodology" provided that the manager was smart enough to do his job (run interference with other management) while they get their job done in whatever way works best for them free of interference.

      Waterfall works fine when modified by such a team. They just have the good sense to see well in advance it isn't gelling yet and that lessons have been learned, so they cycle it back through. Repeat as necessary. Then someone sees that and decides more is better so they decide it must recycle every week. They throw out the part about seeing if it's gelling or if lessons have been learned since the id10ts they're working with wouldn't know either of those. They see the bright team pairing off as needed for some intense discussion or code review, so they decide (again, more is better) that's how programmers should work 100% of the time. They throw out the "as needed" part since, once again, the id10ts they're working with don't know when that is.

      Meanwhile, and this is perhaps the one and only real benefit, the actually bright programmers tell the manager "we're using an agile style" so he'll shut up and let them get to work satisfied that his department has that all important bullet point. Alternatively where the manager is good as well, that's what he tells the id10ts above him so they won't stick their fingers in the pie and prevent his team from doing what he knows they do best.

      In truth, it matters little what you call it. Sometimes it's best to close your door and hack it out. Sometimes an extra pair of eyes is very helpful. Sometimes it becomes apparent that the system as-specified isn't going to work and needs revision. The better programmers code with that future possibility in mind so it won't all have to be thrown out.

      Big hint, if the discussion ever turns to whether or not something is or is not [insert flavor of the day here], and the team's future actions depend on the outcome of the discussion, you're doing it wrong. Your team may be missing the all-important mentors and de-facto leaders who don't need [flavor of the day] to know when to re-group the project.

    36. Re:Methodology fads by Anonymous Coward · · Score: 0

      Management: keep development costs low, develop with less people, make money. Better, faster, cheaper.

      Users: features, features, features. View data, slice-n-dice, query, query, query, reports, reports, reports.

      Needs of users and managers changing? I think not: has been the same for the last 40yrs.

  3. Waterfall by Anonymous Coward · · Score: 2, Interesting

    Waterfall crushes a piece of my soul every day.

    1. Re:Waterfall by MadKeithV · · Score: 3, Interesting

      Interesting history: The original description of the "waterfall" methodology was actually used as an example of *bad* methodology: http://en.wikipedia.org/wiki/Waterfall_model.

  4. Oh, THAT strawman by Moraelin · · Score: 4, Insightful

    Oh, right, yet another valiant effort at demolishing a strawman of the Waterfal Model... which never really meant the carricature opposed by the "agile" crowd, and wasn't applied that way. Ever heard of iterations? Right. Apparently the agile crowd still never heard that anyone else uses those.

    --
    A polar bear is a cartesian bear after a coordinate transform.
    1. Re:Oh, THAT strawman by Anonymous Coward · · Score: 5, Informative

      I'm uncertain as to what waterfall means where you work...but despite loud protestations from several developers...where I work, it means precisely the caricature that we Agile folks oppose. And it's basically mandated that a formal, pre-planned, no-iterations "waterfall" approach is used, as per the guidelines pushed by PMI and CMMI. I wish you were right...but it ain't a strawman.

    2. Re:Oh, THAT strawman by Anonymous Coward · · Score: 0

      I don't see why people criticize C for poorly supporting object-oriented programming when there have been a number of languages that build on C that have supported it for years.

    3. Re:Oh, THAT strawman by natehoy · · Score: 2, Informative

      If your CMMi consultants are pushing waterfall as official CMMi canon, you might want to find yourself a new batch of CMMi consultants. CMMi is about being able to measure and manage your work, not about using a specific methodology to do so.

      But a lot of it depends on the size of the company and the average project size. If I have an estimated 2-month effort and 4 programmers (all internal), it's unlikely in the extreme I'm going to deal with the complexity of an iterative model. Plain old waterfall fits that bill pretty well. If the project is a lot larger, I'm either going to break it into phases/subprojects (waterfall's "iterations") or go with a more flexible approach.

      --
      "This post contains words, known to the State of California to cause thought. Wash brain thoroughly after reading."
    4. Re:Oh, THAT strawman by pnewhook · · Score: 1

      I'm uncertain as to what waterfall means where you work...but despite loud protestations from several developers...where I work, it means precisely the caricature that we Agile folks oppose. And it's basically mandated that a formal, pre-planned, no-iterations "waterfall" approach is used, as per the guidelines pushed by PMI and CMMI. I wish you were right...but it ain't a strawman.

      This is ridiculous. And shows a lot of developers simply dont understand processes.

      1) nothing in waterfall mandates that it cannot be iterative. In fact it *must* be iterative, allowing you to jump up levels as well as flow down. Thew waterfall levels simply are to be used as milestone gates so progress can be measured. Companies simply cannot work with the 'just give me unlimited funds and resources, leave me alone, and I'll get you the product sometime" approach that some so called agile developers think that is what agile is all about. Grow up thats not going to happen.

      2) Agile is nothing new. It basically describes a method to work together. Other engineering disciplines have been doing this for years and it is NOT incompatible with waterfall.

      3) CMMI does not mandate a specific process. It just tells you to document what you are doing, follow that process, and feed back the results to improve the process. If you want to document waterfall, agile, or pull it out of your ass as your standard process, thats fine. CMMi doesn't care as long as it is documented, everyone understands it, and results are fed back to improve the process.

      --
      Tesla was a genius. Edison however was a overrated hack who liked to torture puppies.
    5. Re:Oh, THAT strawman by Anonymous Coward · · Score: 5, Informative

      Shows what you know about PMI then. In fact, right up front in PMI's definition is that a project is "progressively elaborated."

      Both are perfectly at ease with an iterative model, simply noting that

      1) each iteration is itself a project (or at least: a project phase which requires most of the same initiation, planning, execution, monitoring & control and closing disciplines as a whole project)

      2) if you're changing your mind as you go along, there's a real Risk that you'll have to rework earlier outputs to suit later decisions, with impacts to some or all project constraints.

      But of course, handling Risk within a mature framework - like PMI's - you'll be able to assess this against the Risks of not doing this, and understand which - in any given situation - is the better option.

      In fact, I'm still trying to see one Agile practise that is unique and couldn't be applied to any other project:
      * Daily standup meetings? Check
      * Ongoing stakeholder involvement? Check
      * Defining tests as a way of validating Quality (ie that the product meets requirements)? Check
      * Delivering end to end working software each release/iteration? Check
      * Late changes in requirements? Check, but each one has a real decision about whether the impact of it is worth the benefit
      * Trust of the individuals & Self-Organising teams? Check - good old McGregor's Theory of Y (as described in PMBoK)
      * Co-location? Check

      And far too often, I've seen Agile used as an excuse for cowboy coding and sheer laziness in producing any documentation (try getting your AMS team to support a complex system and diagnose a production outage based on Googlechat records); I've seen developers rush for it as a simple power grab (but hey, everyone thinks they should be in charge), which is slightly better than rushing for it because it's trendy; I've seen Agile projects swallow 10s of millions of dollars with no business benefit (and yes, I've seen waterfall projects do the same).

      While Agile is a particularly useful approach when dealing with customers who genuinely can't know their destination until they're along the track of discovery, and so evolving requirements within the project lifecycle are really called for (User Interfaces being a major example), generally it's not development's responsibility to cover up for customers' failure to plan and decide.

      And to anyone who's done a few Agile projects with teams of 5, or 10, or 50... come back and boast when you've done something *hard*. As the classic book on the PMP exam says: it tests from the perspective of a large project, that involves 200 people from many countries, takes at least one year, has never been done before in the organisation and has a budget of US$100m or more.

      When you've done that kind of project, come back and complain about PMI's methodology.

    6. Re:Oh, THAT strawman by Anonymous Coward · · Score: 0

      Sicne when does the PMI not cover iterations? You need to re-read PMBOK or STFU. (An I'm not fan of PMI but I hate FUD mroe)

      Agile is a crock. It's a fantastic trick developers have used to get away with never having to promise to deliver anything specific in any given timescale. 'We're not sure what we're going to develop yet, or when we'll deliver it, but I promise you when we do deliver it it's what you want'. That's no use to anyone.

      Waterfall has many faults but agile is not the solution.

      And BTW - people shouldn't blame a project delivery methodology for an infrastructure control methodology. Other posters are complaining that servers are supported off-shore which slows dev right down. It's true it does - but that's nothing to do with agile or waterfal development techniques.

    7. Re:Oh, THAT strawman by pnewhook · · Score: 1

      In fact, I'm still trying to see one Agile practise that is unique and couldn't be applied to any other project:

      And far too often, I've seen Agile used as an excuse for cowboy coding and sheer laziness in producing any documentation

      When you've done that kind of project, come back and complain about PMI's methodology.

      An excellent response. FINALLY someone who understands correct methodology. Too bad you responded as AC, I'd mod you to the roof.

      --
      Tesla was a genius. Edison however was a overrated hack who liked to torture puppies.
    8. Re:Oh, THAT strawman by Anonymous Coward · · Score: 0

      As the poster who claimed it wasn't a strawman...

      1. I agree that this is ridiculous. However, it's also the reality in my $600M/y IT department.

      2. I read Royce 1970. I agree it's a model for what doesn't work. Doesn't mean it's normally used that way.

      3. Waterfall-ish approaches ought to be iterative. I agree. Enough phase-gating, Change-boards, and weight of documentation, however, and it becomes infeasible to go backwards up the chain. In addition to Agile advocacy, I've also pushed iterative methods (most of Agile's value comes from early prototyping for risk purposes)...and those don't float here either. Waterfall, 1 way.

      4. Agile is effectively Lean process applied to software, but developed independently. Lean/Agile, and modern decision science note that it is usually stupid to make decisions before the "last responsible moment". Waterfall asks for LOTS of decisions to be made LONG before the last responsible moment.

      5. In theory, CMMi doesn't mandate a specific process. In theory PMI permits rolling wave project management. In theory, you could do the same thing with C++ Template functions. In theory, theory is the same as practice. In practice, practice is different, C++ Template functions will bite you in the ass, and CMMi and PMI advocate Waterfall processes.

    9. Re:Oh, THAT strawman by pnewhook · · Score: 1

      Waterfall-ish approaches ought to be iterative. I agree. Enough phase-gating, Change-boards, and weight of documentation, however, and it becomes infeasible to go backwards up the chain

      Waterfall is iterative. If your company implements it stupidly then thats not the fault of the process model, just your implementation of it. Each gate does not require 100% completion of the current phase before starting the next phase, you just need to complete enough to reduce the risk of proceeding. Good guidelies are PDR you need 60% of high risk design completed, CDR 80%.

      Waterfall asks for LOTS of decisions to be made LONG before the last responsible moment.

      No, noly the high risk. And if you can't decide on things like basic architecture early in the program, then you shouldn't be deciding the architecture.

      CMMi and PMI advocate Waterfall processes

      No they do not. They advocate documenting your process, then execute your process. The process you choose to document is irrelevant.

      --
      Tesla was a genius. Edison however was a overrated hack who liked to torture puppies.
    10. Re:Oh, THAT strawman by deoxyribonucleose · · Score: 1

      Oh, right, yet another valiant effort at demolishing a strawman of the Waterfal Model... which never really meant the carricature opposed by the "agile" crowd, and wasn't applied that way. Ever heard of iterations? Right. Apparently the agile crowd still never heard that anyone else uses those.

      Congratulations on never having been exposed to the literal waterfall. In other news, it's still very much alive and kicking, despite the intent of the original paper to promote the spiral (incremental) model. (Hint to moderators: change parent from +5 insightful to +5 painfully funny.)

    11. Re:Oh, THAT strawman by DragonWriter · · Score: 1

      Oh, right, yet another valiant effort at demolishing a strawman of the Waterfal Model... which never really meant the carricature opposed by the "agile" crowd, and wasn't applied that way.

      Certainly, in many times and places, the waterfall model is (and, in some particularly backwards places, still is, IME) applied in largely the way portrayed by the Agile crowd.

      Ever heard of iterations? Right. Apparently the agile crowd still never heard that anyone else uses those.

      Certainly, most of the writings I've read on Agile methodologies by practitioners/advocates of those methodologies have acknowledged that Agile methodologies are largely codifications of best practices developed in places that were working with internal modifications of some older methodology, mostly the basic Waterfall Model, and that iterations are certainly one of those practices. The fallacy of you seem to be describing seems to be more of an anti-Agile crowd strawman of the Agile position than an pro-Agile strawman of the pre-Agile status quo.

    12. Re:Oh, THAT strawman by Red+Flayer · · Score: 1

      Waterfall is iterative. If your company implements it stupidly then thats not the fault of the process model, just your implementation of it.

      Waterfall is not iterative. By definition. Modified waterfalls can be iterative, but the very definition of a pure Waterfall development process is not iterative.

      Each gate does not require 100% completion of the current phase before starting the next phase, you just need to complete enough to reduce the risk of proceeding.

      That is not a pure Waterfall methodology. That's what's known as the Sashimi model, another modified Waterfall.

      What you describe is not Waterfall. It is Iterative. They are two different things.

      --
      "Trolls they were, but filled with the evil will of their master: a fell race..." -- J.R.R. Tolkien on Olog-hai
    13. Re:Oh, THAT strawman by pnewhook · · Score: 1

      The software implementation of waterlfall process was never intended to be purely iterative. This clearly does not work. The intent of the software waterfall process is exactly as I described without having to invent stupid cutesy monikers and pretend it is something new.

      --
      Tesla was a genius. Edison however was a overrated hack who liked to torture puppies.
    14. Re:Oh, THAT strawman by Tellarin · · Score: 1

      Actually, neither PMI or CMMI push for the use of waterfall methodologies. I've worked in a CMMI 3 environment and we did XP. And I've also worked on projects "guided" by PMBOK managers and using Scrum.

      But I know what you're talking about, I guess I've worked in similar situations, where people think this push exists. It usually happens because during their training, whoever talked about CMM or PMBOK used waterfall like phases or tools like a WBS as examples somewhere and people just assume it needs to be that way. Maybe one of the problems is the lack of people who have used "agile" in real life and know CMMI or PMBOK.

      Just to conclude, while I do like some agile methodologies and do think they are the best option in a myriad of scenarios, they will not work in every situation. One has to choose the best tool for the job at hand. Waterfall and others do have their place. It's just not everywhere, especially if the requirements are not really well understood.

    15. Re:Oh, THAT strawman by Red+Flayer · · Score: 1

      What you described is not waterfall, not by any measure. It is a contrasting methodology.

      It has nothing to do with cutesy monikers (which, btw, is a fair dig at Sashimi). The reason it's not waterfall, however, has nothing to do with the overlap of phases.

      What it does have to do with is the fact that it's iterative. Iterative design was developed (or evolved, or whatever) in response to the weaknesses of waterfall methods. The iteration is what makes it !waterfall.

      --
      "Trolls they were, but filled with the evil will of their master: a fell race..." -- J.R.R. Tolkien on Olog-hai
    16. Re:Oh, THAT strawman by Anonymous Coward · · Score: 0

      Cause that's the main flow of the waterfall method as taught by CMMi/PMI/SEI--which are mainly software development methodologies.

      The strawman should have happen before you started the waterfall. That's part of several system engineering methodologies.

    17. Re:Oh, THAT strawman by hibiki_r · · Score: 1

      Hard methodologies are definitely the way to go in some environments, to solve some kinds of problems. I've been in those situations, and been glad that the structure was there. However, there's situations where agile-like project organizations will do the job better. The trick is realizing that no size fits all, and that each development model fits different organizations, and sometimes even projects within organizations, much differently.

      There's also the people issue. Each model has different requirements on the technical and management skill of their people. Some organizations are set up to work around highly competent management, but will get good results even if the developers are just drones. In that case, bad leadership would sink the project to the ground, regardless of development skill. Other times, the weak point is what typically is the hardest part of the job: requirements gathering. With an agile system, the problem is backwards: It tolerates shoddy management better, but a half dozen of bad developers can do a lot of damage. Maybe the grandparent is in one of those organizations where PMI is being handled by someone who can't really run it.

      In the end, there's no such thing as an abstract methodology that is equally applied everywhere and has any weight: Implementation details make all the difference, and without explaining how our organizations actually work, it's very difficult to debate methodological pros and cons. There's a right answer for your project, and your people, and it might be what you are using, but I bet that the solution for a system made to order for an external customer, built by 400 developers in 4 countries is not going to be the best solution for an in house project built by 3 people. An industrial mower is a great option for a 3 acre field, but it's not really a good solution for a 0.2 acre front yard.

    18. Re:Oh, THAT strawman by DrXym · · Score: 1

      In general it is a strawman. Waterfall doesn't work very and even companies that may have followed it at some point have softened up. I used to work for a financial firm which was originally waterfall but the reality meant that business requirements, ui design, technical requirements, and QA fed into each other so much that it required constant interaction between the groups. The best software shops cherry pick from different methodologies to suit their requirements. Slavishly following the methodology du jour might be great for consultants selling that crap but its not great for getting stuff done. Agile has good things about it such as test driven development, but it advocates some highly questionable practices of its own.

    19. Re:Oh, THAT strawman by pnewhook · · Score: 1

      Waterfall does NOT imply linear. It is only assumed to be linear by people trying to prove other processes are better.

      Iterative waterfall is a good approach used by thousands of companies.

      --
      Tesla was a genius. Edison however was a overrated hack who liked to torture puppies.
    20. Re:Oh, THAT strawman by Le+Tmraire · · Score: 1

      Agile is a crock. It's a fantastic trick developers have used to get away with never having to promise to deliver anything specific in any given timescale. 'We're not sure what we're going to develop yet, or when we'll deliver it, but I promise you when we do deliver it it's what you want'. That's no use to anyone.

      If your developers are using agile as an excuse, then they are doing it wrong!

      I have been a Scrum Product Owner many times, and for sure we had to deliver what we promised. The difference was that our promises were better and more realistic, because the team had the final word in what had to be delivered at the end of an iteration.

      And who said you can't apply PMBOK and use an agile method at the same time? Both seem quite compatible to me.

  5. The first step to becoming agile by Fear+the+Clam · · Score: 5, Funny

    Put down the Cheetos, lard-ass.

    1. Re:The first step to becoming agile by L4t3r4lu5 · · Score: 1

      Indeed. Everyone knows Ballet dancers get the hot chicks in college.

      --
      Finally had enough. Come see us over at https://soylentnews.org/
  6. Here are a few criticisms... by Spy+der+Mann · · Score: 5, Informative
    1. Re:Here are a few criticisms... by pijokela · · Score: 1

      The first link bashed XP because the writer feels that it is possible to spec everything up front. When the specs are done right (i.e. by him?) they are correct and implementation will be a stroll. If it is possible to completely spec the software before hand then, yeah, there is no need to be able to change it and therefore agile is not needed.

      The second link bashed something called "agile" and promoted something else called "google agile" that sounded just greasy. Sure it may work for Google, but how many companies look like Google? The funny thing is, he really doesn't describe google agile that much at all: where do the requirements come from?

      Can I have better criticisms, please.

    2. Re:Here are a few criticisms... by Anonymous Coward · · Score: 1, Interesting

      Agile has turned out to be the worst of Micromanagement. Make replaceable parts out of every developer. I doubt developers will be motivated to dig their own graves.

      http://en.wikipedia.org/wiki/Micro_Management

    3. Re:Here are a few criticisms... by Tellarin · · Score: 1

      The first link starts with a mistake and is from 2003. A lot has changed in "agile development" since then.

      And the second actually praises the way Google does things (quite "agile" if I may say so) while criticizing fads and the methodology-of-the-month.

      I couldn't agree more with Steve about how bad it is with the agile fad and all the courses and whatever people keep selling and hyping about. And I do hate using to world
      agile to mean so much different stuff.

      But not-so-rigid-development-processes-that-kind-of-code-common-sense-about-development are indeed good in many scenarios. It's just not necessary to turn that into a religion as many people do.

    4. Re:Here are a few criticisms... by turbidostato · · Score: 1

      "Agile has turned out to be the worst of Micromanagement. Make replaceable parts out of every developer."

      That's as much a strawman as the (implicit) that everything that is not "agile" must be pureshit waterfall. Agile *empowers" developers: it allows developer-to-customer feedback instead of a top-bottom "that's what you are gonna do". It rewards the problem realm knowledge the developer gains through succesive iterations and feedback with the customers. It gives the chance to the developer to have something to say instead of being an "aye-aye sir" guy.

      But, hey, we all are very proud to fingerpoint managers as the only morons over there.

    5. Re:Here are a few criticisms... by Anonymous Coward · · Score: 2, Informative

      Steve-yegge's blog is interesting on how Google worked back in 2006, but it's 2009 and life is pretty different in most parts of Google.

      Also for a guy at Google, it's a great perspective on how to do Google-like apps, but do you think Google could build a flawless flight control, power plant control or embedded system?

      Nope, especially with the process he calls "good agile". That's why they hired the ex-danger guys to develop Android for instance and now applying Agile likely. Agile excels when you're framework is already written, otherwise it's a crap shoot as the lower level code (embedded, OS, driver, etc..) you go.

  7. Ah, a new entry by HangingChad · · Score: 2, Insightful

    A new entry for you Buzzword Bingo cards. The big question is whether "Agile Computing" and "Agile Development" should be separate squares or lumped under "Agile"?

    I vote for a single "Agile" square.

    --
    That's our life, the big wheel of shit. - The Fat Man, Blue Tango Salvage
    1. Re:Ah, a new entry by moichido · · Score: 1

      A new entry for you Buzzword Bingo cards. The big question is whether "Agile Computing" and "Agile Development" should be separate squares or lumped under "Agile"?

      They should be different terms.

      Last year, I completed a course on Agile Systems in which I thought we were going to study Agile Development. Though I should have perhaps understood from the course title, Agile Systems/Processes/Computing is not the same as Agile Development.

      Agile Development is a type of Agile System. It is an agile system that is applied to software development. There are agile business systems and agile computing systems. The term applies to the characteristic that the process itself is agile and able to be adapted as required to the situation. A business that can adapt can be said to be an agile business.

      So, you can make an Agile Computing System using Agile OR Waterfall Development. Or you could make a a more static system using either development method as well.

    2. Re:Ah, a new entry by T-Ranger · · Score: 1

      Absolutely not. Writing something in an "agile" way is not the same thing as producing something that is "agile". As an example, a project here at work was a 2 year development effort, for a (in the grand scheme of things) pretty boring CRUD/workflow type app. What would be the reasonable approach to take to build 20 modules, all with pretty similar features? Write (or buy) an engine, pushing as much details as possible as data (configuration files). Adding a new module should this take days; changing modules later should be trivial... agile, so to speak.

      But what the development team did was to go out of their way to not either buy or write an engine. I'm not sure if this was because they are Java types, and doing configuration driven, engine based, coding is just alien to that culture, and/or because the main "agile developer" said loudly things like "the customer didn't' ask for it! I cant build an engine!" and shite like that. They did it in an agile way, 2 week iterations, constantly tweaking the base classes, but producing very boring, very static, functional, but uninspired, very non-agile software.

      Doing things "right" would mean building an engine, and solving the specific problems as an afterthought, and giving users the power to update things... To produce, at the very least, software which can quickly change. Ideally, producing software which can be changed by the users.. Agile guys will never do this, because they would just do the update in a 2 week cycle.

      I'm not quote prepared to extrapolate from this single example that agile development doesn't lead to agile computing, but it isn't a stretch.

    3. Re:Ah, a new entry by Anonymous Coward · · Score: 0

      Doing things "right" would mean building an engine, and solving the specific problems as an afterthought, and giving users the power to update things... To produce, at the very least, software which can quickly change. Ideally, producing software which can be changed by the users.. Agile guys will never do this, because they would just do the update in a 2 week cycle.

      What a bunch of bull! Agile does not limit you on what you can code or how, how can you even think that? Sounds like your development team just plain sucks.

      Here at work, we code HR, finance, training, web type applications as well as industry leading video games using agile development. It does work.

    4. Re:Ah, a new entry by T-Ranger · · Score: 1

      No question about it, that one particular shit head was using "Agile development" as a way to force generally shitty design principals on the team. But since throwing things away is core to the process, doing things right over the long term isn't.

  8. Ad hoc is best by etymxris · · Score: 5, Insightful

    The best programmers utilize domain specific knowledge gained through years of experience to perform the project design and development tasks that make sense. Trying to generalize one model to fit all domains is doomed to failure. Mainframe COBOL screens work differently than web screens which work differently than low level screen drivers and so on.

    If you're starting work in a new domain, no methodology is magically going to make things work. New domains of development require plenty of experimentation and failure. How to best build the project is going to depend on what comes out of that experimentation.

    And above all, the most important factor is people. You need smart people. No amount of clever methodology is going to make mediocre programmers create a great project. And for smart people, SDLC usually stands in the way of what they already know works best.

    1. Re:Ad hoc is best by tedgyz · · Score: 1

      And above all, the most important factor is people. You need smart people. No amount of clever methodology is going to make mediocre programmers create a great project. And for smart people, SDLC usually stands in the way of what they already know works best.

      Well said! In fact, in my 25+ years of programming I have found that methodologies are put in place for PHBs and the talentless. I recall when I took my first programming class the teacher insisted we must write the flowchart first. I found it easier to write the code and reverse engineer the flowchart. To this day I find the formal process to be an anchor weighing down creativity and speed of development.

      --
      "No matter where you go, there you are." -- Buckaroo Banzai
    2. Re:Ad hoc is best by recharged95 · · Score: 1

      If you've been in the business for >15yrs.

      Smart people can still make a project fail miserably. 50/50 they also get in the way of a project (by miscalculating priorities for instance).

      You don't just need smart people: you need the right people. That's called a team. To the MBA's, that management 101, and is no different for the s/w field. Bring the wrong team, and I guarantee it will fail.

    3. Re:Ad hoc is best by Anonymous Coward · · Score: 0

      Excellent! The problem is that the PHB's don't want to admit that they need to hire good people, as such people are hard to identify and appear expensive. They'd rather get 4 offshore programmers for $40K each than one strong local person for $100K because it looks so much more cost-effective. And it gives them a reason to call themselves 'managers'.

  9. From one end to the other by BlueBoxSW.com · · Score: 4, Interesting

    So we've gone from over-designing systems to under-designing systems.

    How about right-designing a system based on the complexity of the scope and the key personnel involved?

    Is that crazy?

    1. Re:From one end to the other by Anonymous Coward · · Score: 0

      Because right sizing based on scope is damn near impossible; it's always a moving target.

    2. Re:From one end to the other by Wiseazz · · Score: 1

      The problem with right-designing (and I do like the designation, btw) is that having multiple methodologies can create confusion. Consider the corporate IT shop. Hundreds of IT folk of various skill sets working in an organization with strict auditing and quality controls. Repeatable, predicatable processes work best in this environment... pick one and stick with it as best as you can so everyone's on the same page. It's a trade-off to be sure, but in some environments you have to learn to work within such limitations for the greater good.

      We are currently using Agile (Scrum) and Waterfall because we're in transition (to mostly Agile.) Agile is new to me still, but I cannot deny how the added transparency and shorter dev cycles have begun to streamline our development. Life will be better still when Agile is in full swing here and all involved have been properly introduced to the concept.

      --
      My sig sucks.
    3. Re:From one end to the other by 7+digits · · Score: 1

      > How about right-designing a system based on the complexity of the scope and the key personnel involved?

      Get a cool name for that methodology or just shut up.

  10. Agile is monthly waterfall. by tjstork · · Score: 1

    Agile Development is a monthly waterfall. You have short cycles, but if anything, there is even MORE up front planning than you would get for each sprint than a waterfall model and precious little time to change if things need to be retasked.

    The only real advance in methodologies as of late has been to include automated testing.

    --
    This is my sig.
    1. Re:Agile is monthly waterfall. by Anonymous Coward · · Score: 0

      Automated testing, unit testing, integration testing, iteration (see FORTH)... has been used to develop projects for 40 years.
      Nothing is new except the death-march philosophy and the ability of management to get the reports and keep the developers in paranoid servitude.
      Feh. Fuck XP.

  11. It's easy to stay fit... by XPeter · · Score: 0, Offtopic

    I eat whatever I want, whenever I want. But I also have swim practice two hours a day six days a week :)

    --
    "The difference between genius and stupidity is that genius has it's limits" - Albert Einstein
  12. Agile development in engineering? by 140Mandak262Jamuna · · Score: 4, Interesting
    Our company is trying to switch to Agile methods and have bought some software. Hoping to get training scheduled soon. But from what I see in the intro so far, all the examples are from GUI development or web support or IT where a large number of coders with very similar skill set is used to implement from the scratch a new application for deployment.

    But our company software has a large installed base and we need to fix bugs in existing code and somehow graft new functionalities into existing architecture with full backward compatibility for old saved data. And the skill set of coders varies widely. There are just a couple who can even touch isoparametric element stiffness matrix code, to name just one example. I still dont know how agile is going to change the way those two guys work.

    I see the advantages of early feedback, and early testing, testing partial implementations etc. But at some point for some kind of code development, Agile may not be the best way to do the code. And I am hoping the training will shed light on where I can use Agile and where I should stay clear of it. I don't want to jump on a band wagon because it is the latest and then have a minor revolt among my padavans.

    --
    sed -e 's/Chuck Norris/Rajnikant/g' joke > fact
    1. Re:Agile development in engineering? by ZFox · · Score: 2, Interesting

      For issues dealing with the existing code, I would recommend: Working Effectively With Legacy Code, by Michael Feathers.

    2. Re:Agile development in engineering? by Uksi · · Score: 1

      I ask you that you go into it with an open mind. Agile stuff has been treated as an overhyped bogeyman (look at all the posts here) and understandably many of us geeks are very cautious to approach it. However, if you pull the layers of hype and bullshit away, you recognize that it's just a different mindset that guides the work. This mindset happens to work a lot better with people and software (I am now convinced of this).

      I'm hoping that you have a good instructor for training. But also, I am hoping that you have access to that instructor for questions afterwards, because that's really the most useful part. Every kind of training I've seen presents idealized examples to some degree, but a smart instructor will be able to tell you how you can work your situation.

      For example, for varied skill sets, once you make up your team, try to take on a mix of stories (simplified use cases) that *approximately* reflects the skills breakdown. For example, if you have only two people that can touch your matrix code, take only on one or two matrix-work-intensive stories per sprint. After all, you have to be realistic.

      (However, maybe a third person on your team would like to learn this matrix code. By sitting that person down with the matrix code expert and going through several dev tasks together, that person may learn something and may pick up these skills. Sure, it will feel slower at first, but now you have greater versatility in your team.)

      If you are primarily doing fixes, then just reflect that in your wording of the stories. For example, we had to do some work to improve the startup performance of our product. We came up with stories that said, "As an administrator, I want my server to restart in less than X seconds." When we did some loose estimates, we realized that this was too much work to fit into a one-week sprint. So we split it into "As an administrator, I want my server to restart in less than X seconds, on Windows" and "... on Linux." This is because after doing some investigation, we realized that there was a lot of different work to be done for Windows vs Linux. This is not a perfect split of user stories (you want to keep such platform details out as much as possible), but that's OK. Do what works for you.

      I have resolved to myself that, if I can help it, I am never again going to work at a place that does old-school waterfall. My team right now is in the middle of a transition to a Scrum-esque approach. We are running into plenty of problems, our team members have varied skills and some are much more versatile than others (Etc etc). However, it's already a better situation than what we had before.

      So far, I am enjoying working off a prioritized product backlog, concentrating on getting smaller features DONE DONE, working in short iterations (2 weeks), and having the team who is fairly open to "let's change it if it doesn't work".

      For one, many times before, spend months nailing down a long list of requirements, estimating the whole freaking thing, arguing between product management and engineering, cutting things to try to fit a set of features into some deadline (based on start-of-project estimates). Our product management would fight to keep certain things in that were important but not that important (because they did not want them to get dropped until the next release, that was many many months away). The developers (including me) would sit there, pulling estimates out of our collective ass for a ton of features, with barely any information for some of them.

      Then we'd write extensive software requirement specifications (SRS) based on what was agreed to be implemented. The QA would go off to write test cases based on those SRSs. Of course, the use cases in these requirements were too detailed in some respects and not detailed enough in others, and completely missing the boat in yet other aspects. But, since they were signed off as "complete", we spent the rest of the project following what was agreed upon in the beginning instead of adjusting to the new proc

    3. Re:Agile development in engineering? by Anonymous Coward · · Score: 0

      You wouldn't happen to work where I do, do you? We do about the same as you have described (pretty much everything you have said) and everything is grand, short iterations is the key I find.

      You get stories done, you get code tested and you move on. Much easier to manage resources also with small iterations, etc.

      And it is not just my team that works like this, most game productions do here at our studio.

    4. Re:Agile development in engineering? by mahadiga · · Score: 1

      Debuggers are great tools to understand Legacy Code.

      --
      I'd like to buy homeland for our 10 million people. http://twitter.com/mahadiga
    5. Re:Agile development in engineering? by Anonymous Coward · · Score: 0

      first off, why I feel qualified to comment: I've been consulting on software development for 12 years and specializing in 'Agile' for the last 8. I have helped many places adopt Agile, including many with large legacy code bases.

      >Our company is trying to switch to Agile methods and have bought some software.

      Uh oh. 'Buying some software' isn't going to help you 'Go Agile'. It is an approach, a mind set and a discipline. Get software if it is useful, not because you want to be 'Agile'

      >Hoping to get training scheduled soon.

      better, but trying to adopt agile methods after a bit of training is like trying to learn karate from a book. You are going to end up doing something that look vaguely like karate, and then you are going to get your ass kicked. Get people with real experience in a) running agile projects and b) helping organizations adopt agile methods to come and help you. Get them to work with you, side by side, for 6 months.

      >There are just a couple who can even touch isoparametric element stiffness matrix code, to name just one example. I still dont know how agile is going to change the way those two guys work.

      well first off, they are going to have to help other people learn how to do it. ( And frankly, in my experience, they are going to find that they can't get away with making things out to be more complex than they really are or need to be any more )

      >But at some point for some kind of code development, Agile may not be the best way to do the code.

      yep that may very well be true, but I haven't found it yet.

  13. AGILE is about Mangagement CONTROL by Anonymous Coward · · Score: 0

    Not about actually getting stuff done. Its a new age GANTT chart remake that serves to generate a smokescreen for upper mangement about progress on technical projects. As a developer I can't fully estimate how long Schtuff is going to take to build but I can give you a firm idea of how long the next 3-6 steps will take. That unfortuneately sends traditional MBA weenies (like me) into apoceleptic fits.

    The Spiral aka Boehm method still kicks the most ass as far I am concerned.

    Sadly Agile and other silver bullet methods provide the means of producing better looking charts and really at some level of idiot manager its all about the slick charts, gradients in the powerpoints and how much ass you kiss. Results matter but if they don't like you they will resent you for doing good and making them look bad. As a result project managers become chart bitches and become List Management Engineers.

    I'm also a huge fan of hiring fewer smarter people than huge crews of people because of channels of communication issues..

    1. Re:AGILE is about Mangagement CONTROL by Tellarin · · Score: 1

      Every methodology is about management control.

  14. Evolutionary Prototyping by PIPBoy3000 · · Score: 2, Insightful

    My preferred approach these days is what I think is technically called Evolutionary Prototyping. Basically you start with some rough requirements, make something to show people, get more refined requirements, and repeat. At some point when the product is useful, you go live, but in reality you're never done and just the time between deployments gets longer.

    This approach is horrible for things that have to work perfectly the first time (e.g. rockets to Mars), but for web development seems to be a decent approach. It's also hard to estimate how long something will take, as the requirements aren't known up front. Still, it's what I've been using for years. I don't think I knew what it was called until our organization brought in a consultant to talk about this stuff.

    1. Re:Evolutionary Prototyping by Tridus · · Score: 1

      Yeah, this is the only type of approach that really works at my job. Most of the time the system owners and end users don't *know* what they really want at the start. They have a vague idea of a few things, and thats it. Trying to develop detailed specs has never worked out based on that, they agree to anything you put under their nose then in 6 months realize its all wrong.

      Instead, start building based on what you do know. Refine that. Get a lot of feedback. People may not know what they want, but they know what they don't like.

      At the end of the day, we've found that people are much happier with systems devleoped this way then ones done using a waterfall method. So it works well for us. YMMV.

      --
      -- "So they told me that using the download page to download something was not something they anticipated." - Bill Gates
    2. Re:Evolutionary Prototyping by gtall · · Score: 1

      Evolutionary Prototyping probably works well with small systems. With large systems, the sheer weight and cost of producing many prototypes is going to get in the way. Just testing a large system is a significant expense.

      Another area it probably won't fly is security systems for organizations like NSA. You won't be going back and forth with those guys over some system, they'll simply conclude you have no idea what you are doing and your contract won't be renewed. All of your security mechanisms and overall design need to be seen before they commit to funding any kind of development. If you show them a prototype near the start, it simply won't fit into their scheme of wanting to see precisely what you think you are building first since they'll be needing to evaluate it with security in mind. What is a small detail to you is covert channel to them.

    3. Re:Evolutionary Prototyping by quanticle · · Score: 1

      This approach is horrible for things that have to work perfectly the first time (e.g. rockets to Mars), but for web development seems to be a decent approach.

      Doesn't NASA use a fair amount of prototyping when they're designing new rocket systems? I mean, there's nothing like building a small scale version to see a preview of what you've got to deal with when building the full scale system.

      --
      We all know what to do, but we don't know how to get re-elected once we have done it
  15. Bizarre Covers by Tarlus · · Score: 1

    I swear, between O'Reilly's animals and Manning's depictions of people from different eras and cultures, I'd say a picture of a guy with a dead bird tucked in his belt is the most random choice for the cover of a programming book that I've ever seen.

    --
    /* No Comment */
    1. Re:Bizarre Covers by Tablizer · · Score: 1

      a guy with a dead bird tucked in his belt is the most random choice for the cover

      It fits the agile fad perfectly: you are told you can fly by stapling wings to your belt. If you crash, it's because you "didn't leap hard enough".

           

  16. Ah well... by Anonymous Coward · · Score: 2, Funny

    When you use the Waterfall Model there's bound to be some splashback...

  17. Yeah, it's great when you do agile by NotSoHeavyD3 · · Score: 1

    and everybody is theoretically supposed to be able to do system analysis, coding, and QA. That way nobody is unique and it's much easier for them to lay you off and swap some new cog into the machine. (Ok, so I just got laid off and I was on one of the agile teams. Actually we had a bunch of agile teams and they pretty much dumped most of the people on them and kept people who weren't on them because they had unique skills. I know, I should have seen that one coming.)

    --
    Did you know 80 to 90% of the moderators on slashdot wouldn't recognize a troll even if one dragged them under a bridge.
  18. PyPy - crashing and burning with "agile". by Animats · · Score: 5, Interesting

    The attempt to write a Python implementation in Python, PyPy, turned into a death march. The project has been underway since at least 2003 (when they had their first "sprint"), never produced a usable system, and the European Union pulled the plug on funding. But the project limps on. There's a released version. It's slower than CPython. There's supposed to be a "just in time" compiler Real Soon Now. (This is try #2 at a JIT, not counting the schemes for outputting Java bytecode and Javascript.) Six years in on a compiler project, and no product.

    The PyPy project is very "agile". They have "sprints". They have "flexibility". They have nightly builds. They have mailing lists and trackers. They support multiple output back-ends. They have about 50 contributors. What they don't have is a usable product.

    Meanwhile, one programmer produced Shed Skin, which compiles Python to C++, with a speed gain of 5x to 50x over CPython.

    When the problem is dominated by design and architecture, "agile" doesn't help.

    1. Re:PyPy - crashing and burning with "agile". by Clover_Kicker · · Score: 4, Insightful

      Yeah but I'm sure someone here can point to hilarious failures of any methodology, or tool, or language.

      Let's face it, software sucks. Writing software is hard.

    2. Re:PyPy - crashing and burning with "agile". by Animats · · Score: 1

      "Agile" designs for the business logic part of web sites makes sense. The problems aren't technological. Writing an efficient compiler for a language that's never had one is a design and theory problem. A big team hacking away somewhat randomly won't cut it.

    3. Re:PyPy - crashing and burning with "agile". by pnewhook · · Score: 1

      Let's face it, software sucks. Writing software is hard.

      No, *writing* software is easy. *Designing* software is hard. There are a lot of people are good at writing software that should not be let anywhere near the software design.

      --
      Tesla was a genius. Edison however was a overrated hack who liked to torture puppies.
    4. Re:PyPy - crashing and burning with "agile". by Anonymous Coward · · Score: 1

      From what I remember - and I do remember back when the project was originally announced - PyPy was NEVER supposed to be particularly fast or particularly 'finished'. I mean, think: it's a python implementation *written in python*. The points of the project were supposedly that 1) in the act of writing it, they may find out more about the language, and that new knowledge could be used to fix the reference implementation, and 2) they could use it as a framework for quickly trying out new features for feasibility checks, and then some of that may show up in future versions of python. (And I suppose a potential #3: if you REALLY needed a custom version of python, once pypy got rolling it'd be easier to do your custom version in pypy than by modifying cpython).

      I guess what I'm trying to say is that it's hard to honestly blame their methodology for not producing a finished project in this case, when there never was a concrete end goal to begin with - NO possible methodology would produce a magical faster-than-C version of PyPy.

    5. Re:PyPy - crashing and burning with "agile". by recharged95 · · Score: 1

      Why can't we just call a "death march" .... just a failed project (or project that will fail).

      All these buzzwords and cliq names are just building a fantasy environment.

    6. Re:PyPy - crashing and burning with "agile". by stygianguest · · Score: 1

      It is in no way fair to compare PyPy, a compiler that actually implements about 95% of Python and is meant to be a drop-in replacement for CPython, to Shed Skin, which only works for specially tailored Python programs.

      Also, the funding of PyPy wasn't cut off as you put it. The EU hands out money for research projects with a deadline (usually 2-5 years), not to deliver a marketable product.

      Don't forget that, as opposed to CPython, PyPy is primarily a research project meant to explore new compiler and VM technology. This means that most of the developers work on their own extensions, rather than the stability of the core compiler.

      That is not to say that your comments are completely unwarranted. Perhaps their development process is not particularly suited to the development of a compiler/interpreter.

      Oh and by the way, having built an incomplete Python interpreter myself, I have deep respect for both the people of PyPy and the developer of Shed Skin.

    7. Re:PyPy - crashing and burning with "agile". by hibiki_r · · Score: 1

      Designing is much harder than writing, but figuring out what to design is harder still. The difference between what a user wants, what they need, and what they need that can be built under budget can be very large. Few things in development are so disheartening than developing a system as demanded by the customer, and then see it go unused because the requirements that were written down had little to do with real life needs.

    8. Re:PyPy - crashing and burning with "agile". by pnewhook · · Score: 1

      Agreed. Which is why requirements definition is THE most important part of development, yet for some reason is a process absolutely ignored by the majority of developers.

      I would also add that even more disheartening (from experience as a project leader) is the software lead assuming he is smarter than everyone else including the systems lead and the customer, ignoring the requirements and writing what he believed the solution should be. Needless to say, three years after delivery we are still trying to undo the damage he did and get it working properly.

      --
      Tesla was a genius. Edison however was a overrated hack who liked to torture puppies.
    9. Re:PyPy - crashing and burning with "agile". by cecom · · Score: 1

      I don't think your comparison between PyPy and Shed Skin is valid. Without commenting on the merits of either project, I have to say that an efficient implementation of a convenient subset of a language is vastly easier than an efficient implementation of the whole language. The latter might not even be possible at all.

      Shed Skin is not Python. It is a language that has some syntactic similarity to Python and a few similar libraries. Again, I am not commenting on the merit of the project - just stating facts.

      Case in point for Java, some of GCJ's important static optimizations for Java were actually unusable when used on a real Java project like Eclipse. GCJ does support most of the language, but when used in that mode the code it is significantly slower than a JIT (perhaps surprising many people).

      My personal opinion about PyPy, in case anyone cares, is that it is interesting, but if the intent is to have a practical result it is clearly a mistake.

    10. Re:PyPy - crashing and burning with "agile". by Anonymous Coward · · Score: 0

      I was the project manager of the PyPy EU project, and I think you are spreading a bunch of falsehoods both about the PyPy project and about agile methodologies.

      We did not have our funding pulled. The project was very successfully completed, and the way EU funding works, we would have had to find another call, spend time writing a proposal, negotiating etc. Also the Eu requires matching funding, and the partners did not have the financial means of going for another EU project.

      PyPy is an advanced research project, and we knew from the start that it would not be a quick thing. We had hopes that the financing would be easier and that we would have had the possibility of working full time on the project. This did not come true, because it is very hard to get people to part with their money for truly visionary projects.

      Our results of late show that it is a truly visionary project. We achieve results comparable to ShedSkin without having to limit the Python language, without having to compile before running and with the full set of dynamic features that make Python so powerful.

      So, the speed is there, and we think we can further improve on it. Next step is to find hidden bugs and corner cases.

      Given our adherence to agile methodologies and TDD, this should be fairly painless. Without the agile ideas, PyPy would have been impossible. With them, it has merely been extremely challenging.

  19. Oh and the second agile dogma is stupid by NotSoHeavyD3 · · Score: 1

    That one about working software vs comprehensive documentation. I mean what company was it where they actually had a problem with too much documentation. All my experience has been in IT people don't want to document anything and that dogma would probably make them think not only is it ok to not document but it's actually a good idea.

    --
    Did you know 80 to 90% of the moderators on slashdot wouldn't recognize a troll even if one dragged them under a bridge.
    1. Re:Oh and the second agile dogma is stupid by Anonymous Coward · · Score: 0

      And when you combine it with a fundamental lack of overall design, it's downright dangerous in a complex system - outright asking for brittle, spaghetti code. Hey, that's the result I live with every day.

    2. Re:Oh and the second agile dogma is stupid by Anonymous Coward · · Score: 0

      It's not that organisations have a problem with comprehensive documentation, which I agree, never exists in a good, usable or maintained form.

      It's that organisations can tie themselves in knots trying to produce said comprehensive documentation before allowing anything to be signed off.

      I guess you've never worked for government...

    3. Re:Oh and the second agile dogma is stupid by Le+Tmraire · · Score: 1

      I think this has to do with how you read and interpret the agile manifesto. The second dogma says:"Working software over comprehensive documentation." And not vs. comprehensive documentation.

      I have been in software projects where after 18 months (!) of development we had nothing to show except for tons of documentation and designs. I have also been in scrum driven projects were we had little but very useful documentation.

      So, in my book, Agile != no documentation. Agile == make only the documentation that is useful and wanted by the customer.

  20. The strawman moonlights as a consultant by Anonymous+Meoward · · Score: 0

    Reminds me of a gig I held a few years ago. We had 2 software dev sites for a particular product line, one in the southeast USA where I still reside (5 developers) and one in Silicon Valley (about 20). A software manager out west, who fashioned himself to be a "player" (but who was really just a jackoff), decided that we needed a software methodology. He talked to a consultant. The consultant said that Agile was crap, and that as a publicly-traded firm we really really should get CMMI certification.

    Of course, I did some research into this at the request of my manager as well, and found out that our group was really using Agile methodologies. We just didn't bother to label it. We had lots of testing, short tight cycles, stand-up meetings, and so on. And guess which group was the only one that met its target delivery dates?

    Unfortunately, the company HQ was in Silly Valley, so guess who's opinion was echoed throughout the halls of the organization?

    (Sadly, there's no ending to this story, since both teams, including myself, my manager, and the player, were let go before the plans could ever be hatched. Stupidity ran really deep in that company back then.)

    What did I learn? Simple:

    1. Any moron can call himself a consultant.
    2. Only a moron heeds the advice of a consultant without question.
    3. You are not automatically smarter or more effective because your ZIP code begins with a 9. You may in fact just be a complete fucktard.
    --
    --- The American Way of Life is not a birthright. Hell, it's not even sustainable.
  21. Actually, yes, it's a strawman by Moraelin · · Score: 3, Interesting

    Actually, I hope you realize that -- since it's referenced even in the review here -- the 1970 article by Royce which described it (albeit not actually using the term "waterfall") was a description of a dysfunctional process which doesn't work right for software. That article wasn't a formalization of the waterfall model, but a critique of it. (And a modification to something that works better, at that.)

    It's not even the only one. Several authors and books exist about making software development work, _long_ before there even was such a thing as the XP manifesto or the word agile.

    So at the very least we have the first strawman: that we needed the Agile crowd to come along and wake us up to the fact that the waterfall doesn't work. It was widely known that it doesn't work, at _least_ since 1970. You know, the fun times before microprocessors and personal computers and when even Unix was still just a cutesy personal experiment.

    The model actually doesn't come from computing but from RL construction and partially manufacturing. That's the place where the costs get prohibitively higher if you discover a mistake after you built the whole building. And while _some_ misguided MBAs have always tried to treat programming like a generic assembly-line operation -- including using methodologies like this one, which are utterly inapropriate -- it's hardly been the standard, de facto and de jure methodology in computing. The pretense that somehow if you're not doing a crap^H^H^H^H agile job, you're one of those using the waterfall model (never mind that it was discredited for 3 decades already) is the strawman that irks me the most. Yes, some islands of insanity exist. You have my sympathy if you work for one. No, it's not the standard in programming. No, we don't need a wakeup call or extreme methodologies to know it doesn't work. We knew that already. At least since 1970.

    And in reality even the places which go somewhat waterfall-y... well, let's just say that any place that's ever had a change request or made a version 2.0 of a product, essentially has iterations. Not the best form of them, to be sure, but it is iterations. Requirements change after code has been written too.

    --
    A polar bear is a cartesian bear after a coordinate transform.
  22. Agile and embedded systems? by Anonymous+Meoward · · Score: 2, Interesting

    Who here has actually used Agile for embedded systems work? What were your experiences?

    --
    --- The American Way of Life is not a birthright. Hell, it's not even sustainable.
  23. Is to become Fragile by Anonymous Coward · · Score: 0

    Stupid methodology for control freaks. Micromanagement at its worst!

  24. Re:I'm fucking a ballerina by hoggoth · · Score: 1

    No but if you were a fucking ballerina it would.

    --
    - For the complete works of Shakespeare: cat /dev/random (may take some time)
  25. How to turn your skilled employees into cogs by composer777 · · Score: 4, Insightful

    I think the appeal with agile development is that it removes any barriers that programmers might have, such as rigid milestones, etc, and basically allows management to do what they want in terms of setting goals. It also is appealing to management because the knowledge sharing implies that they can get rid of their most expensive employees after a period of time (once the knowledge has dispersed). Specialized knowledge is an anathema to management, as it means that you have to pay that person more, and it's critical to the business, it's harder to fire them.

    We have to evaluate agile based on it's real world results, not what the books describe. In the real-world, agile creates a very high-pressure work environment, where personal space is non-existent, everyone is watching you, and your work is constantly on display. This pressure can produce productivity gains but I would say that in the long run these gains aren't sustainable. I think agile is a very poor fit for your average introvert, which, imagine that, describes most programmers very well. What I believe will happen is that over time the better developers will move to a work place where things aren't quite so agile.

    In the mean time, throwing out such ideas as design first, is going to cost us, big time. I think that software quality will drop, but it won't be obvious, as "quality" and "productivity" aren't things that are easily measurable. Often times, managers walk through a room, and if they see a bunch of people typing away or debating some design issue, then they see that busyness as productivity. No, I think the drop in productivity will become apparent when non-agile competitors clean their clocks, but then it will be too late.

    1. Re:How to turn your skilled employees into cogs by avandesande · · Score: 1

      Yes, coders who like to sit on their hands for weeks or months and play fantasy football instead of work don't last very long in an agile environment.

      --
      love is just extroverted narcissism
    2. Re:How to turn your skilled employees into cogs by MartinSchou · · Score: 4, Insightful

      . Often times, managers walk through a room, and if they see a bunch of people typing away or debating some design issue, then they see that busyness as productivity.

      Very true.

      The biggest surprise I had in my professional life was when I was stuck on a particular problem. Completely stuck. So I tried doing other stuff in the mean time. Then I rand out of stuff to do. Posted on newsgroups and forums, but still no answers.

      So I asked my boss if he had anything else I could do, while waiting. "Go play solitaire, read a book, go for a run. But not too far, and keep your cell on you if we need you."

      He knew that some things cannot be forced. So I got paid to sit on my ass and read books for two days until the answer popped into my head. Sometimes the best way to be productive is to just sit back, relax and do nothing.

    3. Re:How to turn your skilled employees into cogs by composer777 · · Score: 1

      Right, because goofing off is only allowable for managers, who have their own offices, not programmers. After all, we all know that having a desk in a quiet, distraction free location means that one is up to no good. What other reason would someone want this kind of environment? The same goes for libraries and other quiet settings, it clearly means that people are up to no good.

      You're going to overlook quite a few very talented programmers with that kind of attitude.

    4. Re:How to turn your skilled employees into cogs by DeadlyBattleRobot · · Score: 1

      Agile's appeal to the corporate world is understandable. Turn an anarchic, creative, random process into a measurable machine operation. Developers now become robots in the clone army. And there is buy in at many levels. Now imagine your group's most obnoxious administrative assistant becoming your scrum supervisor. It's a way for the non technical to make themselves relevant.

    5. Re:How to turn your skilled employees into cogs by composer777 · · Score: 1

      My hope is that it will fail. However, I've seen over and over that just because something should fail, doesn't mean it will. It's all a matter of what people will put up with. Unfortunately, markets don't always teach us the correct lesson, or measure the correct variables.

    6. Re:How to turn your skilled employees into cogs by Anonymous Coward · · Score: 1, Insightful

      We have to evaluate agile based on it's real world results, not what the books describe.

      As the third or fourth biggest game studio in the world, I can assure you about real world results. :)

      In the real-world, agile creates a very high-pressure work environment, where personal space is non-existent, everyone is watching you, and your work is constantly on display. This pressure can produce productivity gains but I would say that in the long run these gains aren't sustainable.

      Not true. Your work is not constantly on display, the advancement of the is. The client is happier this way and if he chooses to change requirements around, it is less of a deathblow to the project deadline than using the "waterfall" approach. Also, in the long run, productivity gains are the same, as after 2 years of using agile development, I can attest to it.

      I think agile is a very poor fit for your average introvert, which, imagine that, describes most programmers very well.

      Then you should review your hiring practices. If your employee can't follow daily stand-up meetings or scrums, then why is he working for you? If he can't express his ideas properly, how is he going to advance and evolve as a developer?

      Often times, managers walk through a room, and if they see a bunch of people typing away or debating some design issue, then they see that busyness as productivity.

      Then those managers are crap. Thanks to agile development, a manager can actually see if stories are getting done and how much time was spent on it. And with agile development, over time, stories can be more precisely poker-planned when finding out how much time tasks will actually take.

      Agile development is one thing, actually doing it right is another. It does work well, I can attest to it.

    7. Re:How to turn your skilled employees into cogs by hibiki_r · · Score: 3, Interesting

      If anything, Agile requires high quality developers to be very successful: Since the design process is diluted, you can't get away with having one or two people that run the show technically and a bunch of drones: Bad developers that can't shape up throw a wrench into the system, and send quality down to the toilet.

      An agile system where the developers are actually talented raises their skill levels as they go along, and it can be very rewarding to everyone involved. Eventually management can just set them loose on a project, knowing not just that the end result will be good, but that most issues with requirements will be dealt with before they become a serious problem.

      If anything, the problems I've had getting Agile implemented is getting management to accept the budget issues that come from leaving behind a model of two very good developers/architects and a bunch of bums paid a pittance.

    8. Re:How to turn your skilled employees into cogs by composer777 · · Score: 1

      With the adoption of XP, went boundaries went out the window where I work. I'll often come in to find someone sitting at my desk, or people will have impromptu meetings wherever, whenever. This drives me nuts. When a group of people is sitting so close to you that your chair bumps into theirs, it's a bit much. It's ridiculous, which is sad, because other than the work environment, it's a good place to work.

      The biggest problem that I find with agile is that it's too easy to implement incorrectly, and the overall sweatshop environment means that productivity won't dip right away, as everyone is being watched. Many managers read about it and think, "Great, we can get rid of their offices, put them all out in the open, and throw out any kind planning." I think in the long run it will fail in a slow, painful way, as people get fed up and leave. Then, when productivity finally drops, management will receive the feedback that maybe their implementation is wrong.

    9. Re:How to turn your skilled employees into cogs by composer777 · · Score: 1

      I'm beginning to think the issue is that the mis-application of Agile/XP can result in some of the most extreme micro-management that I've ever seen. Combine that with no offices, open work environment, etc, and I think when it goes wrong, it goes very wrong.

      Shouldn't this also be part of the discussion? If half the time people try it they screw it up miserably, then that's a failing of XP, in my opinion. Poor execution of XP would also explain the wide variability in opinion about XP.

    10. Re:How to turn your skilled employees into cogs by Anonymous Coward · · Score: 0

      I really strongly disagree with most of what you say.

      In my (long) experience, the best developers are not introverted little lambs who can't function if their work is on display, and who only exist to scratch their own personal technical itches. I've met those people and had to work with them, and frankly, I would be more than happy for them to go find somewhere else to work. They are not even close to the best developers, although they may very technically skilled people.

      Agile provides feedback cycles to developers, managers and stakeholders on a variety of levels. And in my experience, good managers, developers and stakeholders welcome this feedback, as it means they're building something that people actually want and will get used.

    11. Re:How to turn your skilled employees into cogs by Le+Tmraire · · Score: 1

      The biggest problem that I find with agile is that it's too easy to implement incorrectly, and the overall sweatshop environment means that productivity won't dip right away, as everyone is being watched. Many managers read about it and think, "Great, we can get rid of their offices, put them all out in the open, and throw out any kind planning." I think in the long run it will fail in a slow, painful way, as people get fed up and leave. Then, when productivity finally drops, management will receive the feedback that maybe their implementation is wrong.

      This is so true. And true on every level. I have seen very wrong implementations of (agile) methodologies on developer level, design and analysis level, project management level and so on.

      I can get so depressed and frustrated by this. Because, most of the time, it has nothing to do with the chosen methodology per se, but more with applying simple well-known management solutions.

    12. Re:How to turn your skilled employees into cogs by avandesande · · Score: 1

      What does your what your manager does in his office have to do with you?

      Sick.

      --
      love is just extroverted narcissism
  26. By any other name.... by EternityRoad · · Score: 1

    This sounds and kind of looks like another description of Rapid Prototyping or how a artist does a work of art. Do a bit.. Backup... Look at it from all angles. and continue on. When will these "Thinkers" realize one size doe not fit all. You need to think of "how to do the problem" along with "How to solving the problem"... This can work for "Project XYZ" thats so open would be a nightmare if you used structured programming. But structure would work very well creating a accounting package.. Been writing & building items since the early 70's for places and clients I have worked. Used about every system in the book so to speak. No one system can do all. That's why we dont have a few tools but unbeleviable amount. The right tool for the right job. Or as a Dr said to me. "The right juce for the right bug." Else not solving the problem.

    1. Re:By any other name.... by Maximum+Prophet · · Score: 1

      But structure would work very well creating a accounting package.

      I would hope so. Accounting is so formalized that the prototype essentially has already been written, it's in the way accounts would do it without a computer. The same rules have to be followed whether you are doing it by hand or machine.

      You bring up great points. If a job is currently being done, and we want it to be done the exact same way, but cheap and faster, a methodical method would work well.
      If, on the other hand, you want to create something that's never been done before, an agile methodology might work better. The key is being able to determine at each milestone if you are headed in the right direction, and if you get off the path, to get back on ASAP. (also people often assume that their idea is completely new, but it already been implemented somewhere else, better.)

      --
      All ideas^H^H^H^H^Hprocesses in this post are Patent Pending. (as well as the process of patenting all postings)
  27. The users are the problem by Maximum+Prophet · · Score: 5, Insightful

    My biggest problem with quick prototypes are the users that expect too much.

    Me: Here's the prototype. It's black and white, but the finished product will be in full color.
    Them: This menu item is supposed to be green.
    Me: That's because the prototype is in black and white. We're just trying to get the text and spacing correct
    Them: That item is supposed to be red...

    Managing user's expectations during the prototype phase can be a full-time job. (:-(

    --
    All ideas^H^H^H^H^Hprocesses in this post are Patent Pending. (as well as the process of patenting all postings)
    1. Re:The users are the problem by Civil_Disobedient · · Score: 1

      Me: Here's the prototype. It's black and white, but the finished product will be in full color.
      Them: This menu item is supposed to be green.

      Jesus Christ this is so painfully true.

    2. Re:The users are the problem by alexo · · Score: 1

      My biggest problem with quick prototypes are the users that expect too much.

      That is why I don't call them "prototypes" anymore. "Proof of concept" usually works better.

  28. Menthodologies by Anonymous Coward · · Score: 0

    "Among the more popular Agile Menthodologies are "

    What's a Menthodology? Is that a minty way of making software?

  29. Not to be pedantic, but... by heironymous · · Score: 1

    Royce was actually arguing against waterfall, but a poorly worded caption led to much misunderstanding. Waterfall is almost certainly the most expensive meme in history.

  30. Rational by cbreaker · · Score: 1

    There's plenty of different methodologies to writing software. IBM's Rational system combines project management, a feature request system and a code management system into an iterative development structure that I found to be very robust and fun to work with.

    The idea is to start writing code now. Write the code, make sure your concepts work - and before it's been written into a budget and had time allocated to it. With each iteration of the development process, you can bring together more code and more features until you reach a release state.

    Some things are better done the Old Way (limited scope project, etc) but for more major development cycles there are better ways.

    --
    - It's not the Macs I hate. It's Digg users. -
    1. Re:Rational by pnewhook · · Score: 1

      The idea is to start writing code now. Write the code, make sure your concepts work - and before it's been written into a budget and had time allocated to it.

      Oh God. that is NOT what Rational says at all !!!!

      --
      Tesla was a genius. Edison however was a overrated hack who liked to torture puppies.
    2. Re:Rational by cbreaker · · Score: 1

      I really don't think I'm that far off. The idea is to start writing code as soon as possible so you can encounter and address problems as soon as possible as you build your application.

      The idea is to avoid the three month design phase, only to find out that 25% of the things you designed for won't end up working for some reason or another.

      --
      - It's not the Macs I hate. It's Digg users. -
    3. Re:Rational by pnewhook · · Score: 1

      First, it has nothing to do with budgets. Most companies you cannot even assign employees to a project without having a budget.

      Second, you need to start your requirements first before coding. Without requirements, what are you going to code?

      --
      Tesla was a genius. Edison however was a overrated hack who liked to torture puppies.
    4. Re:Rational by cbreaker · · Score: 1

      No, you missed the point. What I said was that it got you to start your coding to make sure your concepts will actually work - BEFORE you blow your budget out because it turns out you can't do something as originally intended. Traditionally you'd write up the whole project plan, budget time, resources, money, etc - before writing a line of code. In the Rational way, you do have to do some of that, but you can avoid the major pitfalls of budget (be it time, money, resources, whatever) under and overruns by proving the code very early on.

      Yes, you need requirements. But those requirements can start light. "Application to provide unified authentication between sites and directories. Must connect to Active Directory." So, your programmers can start off with methods to connect to AD and either rule-in or rule-out various ways of doing that, putting you on the right track from the start and basing the rest of your work off of a known good starting point. As more requirements come through - via Requisite Pro or another method - you can begin refining the application and expanding it through iterations.

      --
      - It's not the Macs I hate. It's Digg users. -
    5. Re:Rational by pnewhook · · Score: 1

      You seem to have bad experiences with requirements.

      A good requirement does *not* dictate the implementation method unless there is a really good reason to do it. Typically requirements should only list what needs to be done, not how to do it.

      If you have no idea what needs to be done and can't list your requirements, then you have a problem and shouldn't even start the program.

      What I said was that it got you to start your coding to make sure your concepts will actually work - BEFORE you blow your budget out because it turns out you can't do something as originally intended.

      This is implementation. There must be *some* known method to meet the requirement before you start coding. If you don't know your concept will work then that is a development risk but handled outside of requirements. Yes you would code up a prototype first, but not before your requirements are defined and definitely not before the program starts.

      --
      Tesla was a genius. Edison however was a overrated hack who liked to torture puppies.
    6. Re:Rational by cbreaker · · Score: 1

      All that being said, I see you've never worked with Rational before.

      --
      - It's not the Macs I hate. It's Digg users. -
    7. Re:Rational by pnewhook · · Score: 1

      P.Yes I have. For years, starting with Rational Rose, then ReqPro, ClearCase, ClearQuest, SoDA... I was using Rational long before IBM bought them.

      --
      Tesla was a genius. Edison however was a overrated hack who liked to torture puppies.
  31. Huge Problems by bodland · · Score: 1

    When companies move to agile style of programming (I call it Git'er done) they immediately see benefit with the speedy deployment of apps and processes. Roll the camera forward three to five years the failure to include data cleanup, loopback and redesign methods for "shortcuts and workarounds" becomes crippling. Apps that are implemented result of "git'r done agility" result in a cross platform spider-web of dependencies that is unstable and needlessly tied to one another. The entire business becomes trapped up in a giant ball of code that is unraveling in multiple places.

    In the real world there is no discipline in undisciplined programming methods and deployment.

  32. Re:Huge Problems by Tablizer · · Score: 1

    That's what happens when "finishing" is given higher priority than maintenance. If a business wants to trade finishing sooner for future maintenance headaches, that's their prerogative. However, they should be made aware, in writing, that such a trade-off is actually being made.

  33. The big flaw of Agile by tjstork · · Score: 1

    Is that, everyone gets so caught up in "hours burned" for each scrum, that what is actually getting burned takes a back seat to the deliverable. I was on a sprint where I had no hours burned for three days, which really, really sucked. But at the end, I was the only one that actually had a product that you could do sprint demo with.

    --
    This is my sig.
    1. Re:The big flaw of Agile by Le+Tmraire · · Score: 1

      I do not really understand what you mean by "hours burned." In a stand-up we only talk about tasks you have been working on the previous day, or that you finished the previous day. And then we talk a little about the tasks we will be doing today.

      If I understand you correctly, in our stand-up you would have said that you were working on the same task for three days in a row. There is nothing wrong with that. It is only an indication for a scrum master and scrum product owner that your task is a really complex one, or a long one, or that you ran into a problem that you cannot solve.

    2. Re:The big flaw of Agile by tjstork · · Score: 1

      I do not really understand what you mean by "hours burned."

      We assign each task prior to the sprint a set of hours. We track hours spent vs hours burned. Hours burned is an increment towards the completeness of the task, based on sprint start estimates, and hours spent is the semi-actual hours actually spent on task. What happened is that we have low estimates going into the sprint, so we get killed every scrum.

      --
      This is my sig.
    3. Re:The big flaw of Agile by Le+Tmraire · · Score: 1

      What I learned from Agile, is that linking "hours" or even worse "man-hours" to tasks or estimates is really bad practice. This is because hours are only a one-sided measure for the workload of a task. A meaningless measure, like task points is often used to overcome these problems.

    4. Re:The big flaw of Agile by tjstork · · Score: 1

      A meaningless measure, like task points is often used to overcome these problems.

      We go from task points to estimates, and then attach hours to the estimates. Our problem is that we have a culture of unrealism in our task points, but then do not change any practices needed to reduce the complexity, and therefor, size our task estimates to match the point, and just wasted another two days on sprint planning.

      --
      This is my sig.
  34. strawman strawman by avandesande · · Score: 1

    We are a CMMI level 3 certified shop and use agile development.

    --
    love is just extroverted narcissism
  35. Stop with the "methodologies" already! by DrVomact · · Score: 1

    While the this methodology and... The Agile methodologies which are described...In describing these development methodologies...non-religious presentation of multiple Agile methodologies...

    The word method may be defined as "a systematic way of accomplishing a task"; near-synonyms include "procedure" or "technique". The word methodology means "a study of methods", or perhaps "a comparison of methods", or "a science of methods".

    This substitution of the word "methodology" for "method" happens so frequently that one could argue this is just one of those shifts in English usage that happen now and then, and it's time to stop obsessing about it. I don't think this is such a case—I think if a writer uses long, pretentious words in place of simpler, more direct ones, then this should serve as a warning to the reader: stilted diction may serve to obscure a lack of substance.

    Now, about the word "agile"...as a buzzword it's become quite raddled by excessive use. I'm surprised someone is brave enough to use it in the title of a book.

    --
    Great men are almost always bad men--Lord Acton's Corollary
  36. Agile vs. Predictive by Anonymous Coward · · Score: 0

    Management buys into "Agile" because they think it means "fast" ... "We'll get our software developed faster!!! Run, Team, Run!"

    The reality is that "Agile" means agile, not fast. To understand this, consider the difference between a bicycle (a very agile vehicle), and a 53' long 18-wheel truck (not even close to agile).

    Which vehicle you want to use depends on what you need to do:

    If you launch one space shuttle every five years, but it absolutely positively must work as planned the first time; then you use a predictive model (CMMI); because the process will force you to dot every i, cross every t, and sacrifice the proper amount of goats to the correct evil deities at the most auspicious times for doing so, and your shuttle will launch without blowing up.

    If you've got a small online game, and you need to add new user-ready features constantly, and the end users are happy with "a little rough around the edges", then use an agile model (XP, SCRUM, etc.); it'll help you respond to user feedback in time for it to be useful.

    You wouldn't use a bicycle to haul 50,000 lbs from Florida to Washington, and you wouldn't use a big rig truck to deliver hundreds of small packages to hundreds of different addresses in downtown NYC.

    Why would anybody expect a software process to fit every kind of software to be developed?

  37. Agile is good for GUI/web projects by saigon_from_europe · · Score: 2, Insightful

    Scrum has one good point - show your code to your customer often and apply his comments. But that works only for GUI or web. I cannot imagine that in, say, medical software. For instance, one of my colleagues had to optimize crucial piece of code (some heavy math for CAT scanner). It took him several months. Only thing he could say to the customer was like "it is now two times faster" or "it is now 3.45 times faster". Not something you can really get some useful feedback on.

    In another company, we were supposed to do a project for GE, and there was some serious GUI there, but their office was some several thousands miles from us and I really didn't know how we would make regular meetings with them as Scrum required. Also, they had some very elaborate specs and they did not see too much point of Scrum methodology. In some other situation, that project would be a perfect one for Scrum.

    PS One thing I don't like with Agile evangelists is that Agile (Scrum in this case) is always right. It's either "what are you doing is not Scrum" or "you did not adapt Scrum to your needs", but its never the problem in Scrum.

    --
    No sig today.
  38. Step 1 by Anonymous Coward · · Score: 0

    The easiest way is to make sure you give yourself high dexterity. I recommend 16 or higher.

  39. Methodology is like cooking by pcraven · · Score: 4, Interesting

    Methodology books are like recipe book. Good chefs own many of them, and draw on the knowledge and ideas inside.

    But buying and following a cookbook does not make you an expert chef.

  40. agile is not 'yawn' you moron. by unity100 · · Score: 0, Flamebait

    just look at microsoft. just look at how their products become outdated even before getting into the market.

    there are still a lot of people who work in deep vestiges of corporate structure where this kind of old development shit is still taken as a reality of life apparently. you build code like you build a bridge, taking years and years of time and rigid structures built on other rigid components. and you are still getting paid.

    the reality is, the place you are currently at is little different from an island stuck in time. it will change. reality will catch up.

  41. I love when developers talk project management by Anonymous Coward · · Score: 0

    First, I'll start out in stating that I am both PMP and CSM certified with plenty of experience as a PM and a BA. I always find it interesting that developers have no qualms sitting back and criticizing PM methodologies or PMs who may try to do something a little different. If it's so common sense or easy, why don't you do it?

    There is no best methodology when it comes to PM, and anyone who says there is, is full of it. A good PM should be able to draw upon their knowledge and experience to find the best fit for the company and culture. Scrum has serious flaws. The project isn't thought through enough, the time line isn't established early and it's extremely easy to loose features/functionality because it wasn't in the story, which was never thought out. Waterfall has flaws too. I can't stand sending out a request for approval to submit a change request updating requirement 4.3.2.5.6.4.3.3 to change the word pare to pair.

    It's all about finding balance and taking the positive aspects of each and incorporating them into each project. What worked for one isn't necessarily going to work for the next, and as soon as people get over the idea of I'm this methodology or this methodology and focus on producing results consistent with expectations in a timely manner, we'll all be better for it.

  42. Methodology Labels by Anonymous Coward · · Score: 0

    Does anyone else think the mere act of labeling these things causes more than its fair share of problems?

    Regardless of the methodology you use, I can't imagine there's a single person that hasn't deviated from that methodology when circumstances dictated. As far as I can tell, the sole purpose for giving these things names is so that we can sell the idea to the non-technical decision makers who are still trying to turn developers into interchangeable parts.

  43. Nevertheless... by Moraelin · · Score: 1

    Nevertheless, I fail to see why XP and generally the "Agile" crowd has to compare itself only to the Waterfall Model, every single time. It's getting like listening to the Creationist crowd: they can't even make their point without devolving into just bad-mouthing Darwinism. WTF of a claim is it, anyway? "Yay, we're better than a methodology known to be the absolute worst at least since 1970"? There's a difference between it being alive in some places, and acting as if that was the only alternative to the "Agile" stuff.

    I mean, BDSM is still alive and kicking, but you don't see stuff advertised as, basically, "come to our massage parlour, it's better than being whipped and crucified." Anal rape is, supposedly, still alive and kicking in prisons, but you don't see stuff hyped as, say, "our laxatives are better than being ass-raped." Copro-fetishes are very much alive and kicking, but you don't see stuff hyped to the effect of, "eat at Moraelin's Diner, our food tastes better than shit."

    Yet somehow for picking a methodology, it's apparently enough to know that it's better than the worst. Oookaaay.

    Here's my request to whoever out there feels a need to proselytise for XP or whatever offpring of it: Pick up, say, Steve McConnell's book, take your pick about which of his variants sounds the best and most workable, and convince me that your agile method is better than that. You know, make a claim to the effect of "we're better than some of the best other methodologies", not "we're better than the absolute worst."

    --
    A polar bear is a cartesian bear after a coordinate transform.
    1. Re:Nevertheless... by deoxyribonucleose · · Score: 1

      Nevertheless, I fail to see why XP and generally the "Agile" crowd has to compare itself only to the Waterfall Model, every single time. It's getting like listening to the Creationist crowd: they can't even make their point without devolving into just bad-mouthing Darwinism.

      Let's not strawman the strawman argument. I see plenty of comparisons with [R]UP, for instance. Or does nobody actually practice that one, with or without iterations?

  44. Sometimes no methodology can help by davidwr · · Score: 1

    What do you do if the spec sheet is clear and right today, but thanks to outside events becomes wrong tomorrow?

    If you methodology or other "way of doing things" prevents a nimble response to changing circumstances, it can drag you down.

    Specifications are far better than no specification, but rigid adherence to something that no longer meets current needs can be worse than scrapping the project and starting over.

    --
    Knowledge is how to play a game, intelligence is how to win, wisdom is knowing what game to play.
    1. Re:Sometimes no methodology can help by quanticle · · Score: 1

      What do you do if the spec sheet is clear and right today, but thanks to outside events becomes wrong tomorrow?

      Well, again, that's what you have software development methods for. Part of having such methods is having a way of dealing with changes, and assessing risks of change.

      If you methodology or other "way of doing things" prevents a nimble response to changing circumstances, it can drag you down.

      Well, that's true, but usually having a methodology is better than not having a methodolgy, for the sole reason methodology makes you think about the high-level organisation of the software.

      --
      We all know what to do, but we don't know how to get re-elected once we have done it
  45. A peacock's tail feathers are an evolution by SmallFurryCreature · · Score: 1

    A peacock's tail feathers are an evolution. Doesn't mean they are useful, or don't turn the bird into a far easier (if hard to pluck) meal.

    Evolution does NOT always lead to perfection. The cheetah is so agile, so fast that it has lost all strength and stamina to defend its kills and the animal is dying out.

    A lot of people get evolution wrong, they still see it as having some kind of goal, a finish line. An end result that is perfection.

    There have been a lot of changes in IT and a lot of meaningless marketing drivel has been used to make them seem fancy and frankly, nothing changes really.

    Go SCRUM and AGILE if you like, the rest of us are far to busy doing our job well to need to implement yet another fancy method to make us do our job well.

    --

    MMO Quests are like orgasms:

    You may solo them, I prefer them in a group.

  46. Avalanche Development Process by Hairy1 · · Score: 1

    Waterfall? Agile? All are passing fads. There is only one correct methodology, and you are probably using it already - Avalanche Software Development Process:
    http://www.youtube.com/watch?v=yR_XIPOkSmQ

    Or perhaps you would like to actually implement Appropriate Design:
    http://www.youtube.com/watch?v=lNUQIjGe-ec

  47. I wish it were a fad. Agile means rewrite by syousef · · Score: 1

    I hate fads but this new agile nonsense isn't your regular fad. It's much much worse. I've seen "agile" used as an excuse to deliver a substantially changed final spec well into the final stages of development, then wonder why the product, which started off as one thing has been so completely MANGLED to become that other thing, performs poorly and is buggy. It's like starting off with a spec for a bridge then in the months where the bridge is almost complete despite incomplete documentation asking for that bridge to now become an ocean liner.

    Furthermore all of the tools that do work - unit testing, continuous integration, thorough peer review, can all be used with other methodologies without being mangled by the mentality that is agile.

    --
    These posts express my own personal views, not those of my employer
    1. Re:I wish it were a fad. Agile means rewrite by MBGMorden · · Score: 2, Insightful

      I must agree. As a Project Manager my boss has sent me off to several of the "Agile" development workshops and I came to the same conclusion I do about most buzzwords - it's a solution looking for a problem. Too many PHB's walking around looking for a way to keep themselves busy.

      --
      "People who think they know everything are very annoying to those of us who do."-Mark Twain
  48. First rule of business by SmallFurryCreature · · Score: 1

    Kill the customer. Goes amazingly well, they never complain and as long as you are in undertaking, the money will just roll in.

    --

    MMO Quests are like orgasms:

    You may solo them, I prefer them in a group.

  49. And a master chef by SmallFurryCreature · · Score: 1

    Has no books at all, except possibly the ones he wrote. God did not read a manual.

    --

    MMO Quests are like orgasms:

    You may solo them, I prefer them in a group.

    1. Re:And a master chef by hibiki_r · · Score: 1

      Someone that doesn't look at what everyone else is doing for at least some inspiration is either alone, or too self centered to be all he can be.

    2. Re:And a master chef by SmallFurryCreature · · Score: 1

      Sigh, if you were a cook you would know you get inspiration out of others WORK, not out of some text book. Real chefs go to other chefs restaurants.

      --

      MMO Quests are like orgasms:

      You may solo them, I prefer them in a group.

  50. I would so love to be a PHB by Anonymous Coward · · Score: 0

    PH is better than no hair.

    I'm the boss and the stress made all my hair fall out.

    Sincerely,

    NHB

  51. Not quite on the 2nd link... by bADlOGIN · · Score: 1

    Steve Yegge's post is (line for line) more of a masturbation session on how cool Google is.

    Although he also makes the point quite well that if you're all rock star coders in a company
    driven by engineering instead of marketing, you don't need no "steenkin'" methodology. But
    then again, that's more of my first complaint now isn't it;)

    --
    *** Sigs are a stupid waste of bandwidth.
    1. Re:Not quite on the 2nd link... by 7+digits · · Score: 1

      I always liked that blog post, as I consider google to be on of the most ineffective successful company out there. There are thousands of developpers, standing on giant's shoulders (ie:using opensource technology), but when you look at the actual produced software, it isn't really that much (it isn't bad either, it is just not something to be particularly proud of)
      Furthermore, with all that free flowing money, extreme brainly employees, etc, etc, one have to wonder why they need so many acquisitions...

  52. Tired of the "magic" straw man by Gorimek · · Score: 1

    I don't think anyone has claimed that Agile is magic or that it can make mediocre programmers create a great project.

    It's just a collection of sane and rational practices to get important work done as well as possible.

  53. No more night-time builds means agile is possible? by mcalwell · · Score: 1

    I'm not too young to remember when a software change meant an overnight build before testing could be done the next day.
    And then testing involved aspects of system performance which simply don't apply in many environments today - memory leaks, null pointer exceptions, DLL hell, and so on. There was a much stronger case for a more rigorous and pedestrian process, because the costs of change were higher. Being able to change and test code on the fly is something to to be taken advantage of.
    That doesn't mean methodology should be thrown out of the window. A solid, lean, clean, transparent, demarcated set of classes to describe the general system and initial problem will give you flexibility to change. Keep your business, data and presentation layers separate. Always maintain stable interfaces. It doesn't have to be dogmatic.

  54. Agile = Advance by Jack9 · · Score: 1

    Acronyms and paradigms aside from SCRUM, there is no other project framework that has processes to identify and highlight the interests of all parties involved in development, other than BUG TRACKING.

    Business interests are described, enumerated and ranked then broken down.
    Technical difficulties are described, broken down, enumerated and ranked.
    Work is broken down, allocated and individual tasks assigned to and by tiers matching your company's hierarchy.
    Metrics can be performed and any interest can track what happened and why (if you have decent SCRUM management software).

    Talented developers don't mind (as per all the posts here), weak developers can be pointed out and weak managers are unhappy they need to spell out what they want. More things get done faster. Simply said. SCRUM doesn't address bug tracking, which is the only weakness I have found. Take care of designing how you will deal with bugs during a Sprint. Any other system, is probably usable, but certainly less efficient.

    The identification and organization of addressing the various interests is much better than having (non-?)technical designs drawn up prior to implementation. This is what I have seen come out of Agile (which is just "Lean" repackaged) that can be used at any company, so I call it an advance. Not perfect, just a GOOD THING(tm).

    --

    Often wrong but never in doubt.
    I am Jack9.
    Everyone knows me.
  55. title sure represents the whole agile "movement" by Anonymous Coward · · Score: 0

    "Becoming Agile: In An Imperfect World,"

    Sort of like saying: Agile (i.e. Scrum) is perfect [methodology], and the world is not. Typical attitude of most Scrum evangelists: if your scrum project fails, it's because you didn't "implement" scrum correctly, you screwed up. i.e. Don't blame the game, blame the players.

    I smell an air of elitism in this book. Top of the hype curve? Yep.

  56. Something devoutly to be wished for by Snaller · · Score: 1

    Who doesn't want an agile girlfriend!

    --
    If Google really cared they would fix Android Chrome to reflow text, instead of discriminating
  57. Mistake in the overview... by Money+for+Nothin' · · Score: 1

    The Waterfall Model stressed rigid functional and design specification of the program(s) to be constructed in advance of any code development. While the this methodology and other early formal tools for Software Engineering were infinitely preferable to the chaos and ad-hoc programming-without-design practices of early systems,

    The author of this /. post erroneously completed that last sentence. Appended above should be "it was replaced by a return to those same engineering failures of chaos and ad-hoc programming-without-design practices wrought under the name of Agile".

    Pig, meet lipstick. In practice, Agile = cowboy coding; I've never seen it done any other way, even though yes, in theory it *shouldn't* be that way...

  58. And again, it's not waterfall by BitterAndDrunk · · Score: 1
    I have an apple.

    You have an orange, and are telling me it's a fruit and therefore it's an apple.

    It's not.

    Waterfall is ONE WAY. Iterative waterfalls are actually named different things because they're different.

    You'd be better served saying "Waterfall is a strawman, and iterative models similar to waterfall DO work". Which is closer to the truth.

    --
    You better watch out, there may be dogs about . . .
  59. Methodologies for Lawns by Anonymous Coward · · Score: 0

    (well, it's a change from 'Horses for Courses')

    The thing is, it's the problem of large, complex projects that Agile claims to be solving - it's those ones where BDUF is hard and problematic.

    Projects that are small enough to be done by a team of 10-15 people over 6 months (initiation to go-live, plus a bit of warranty support afterwards) can usually be understood and have their requirements appropriately defined in one shot by their business customers, and then make their way through a classic analysis, system design, application design, code, test & deploy waterfall. With strong change control operating throughout, and running to hard deadlines & cross-team dependencies.

    Now if part of that functionality can deliver business benefit on its own, sure you could approach it iteratively and release it incrementally to get some earlier benefit (plus accelerating the timescales anyway by parallelling the work). But I don't see how that requires any Agile magic dust, as most of the practises you could apply anyway (see GP) without taking the high and mighty "Agile is l33t/Waterfall suxx0rs" attitude.