Slashdot Mirror


Web 2.0 Lessons For Corporate Dev Teams

jcatcw writes "Quick, incremental updates, along with heavy user involvement, are key characteristics of the emerging software development methods championed by a new generation of Web 2.0 start-ups. A survey conducted for Computerworld showed that an overwhelming majority of the respondents said that traditional corporate development teams could benefit from Web 2.0 techniques, specifically the incremental feature releases, quick user feedback loops and quality assurance programs that include users. Fifty seven percent of the respondents said problem-solving and analytical skills will be key requirements for next generation developers. The bottom-line: corporate development teams need to get to know their users."

142 comments

  1. oh comon by Anonymous Coward · · Score: 0, Interesting

    I wish all this was true. Incremental and fast and includes clients. Sounds like a recipe for disaster to me. Sorry but I really have not seen development teams using such methods successfully.

    1. Re:oh comon by lethian · · Score: 2, Informative

      I believe Meebo.com uses this development method. It seems to work well for them.

    2. Re:oh comon by Normal+Dan · · Score: 4, Interesting

      This type of development actually works quite well in some cases. My group is contracting for a large company, and are developing/maintaining an internal website for different parts of the company. We often go to the customers themselves and see what they want. We develop something, have them test it, and request changes, upon which we implement right away.

      The whole system works quite well. The major hurdle usually comes around when management gets involved. They want to see change requests and hold pointless meetings and shift people around, etc. Because we are contractors, we can usually bypass management and the system works rather well.

      --
      A unique way to learn a language: http://languageloom.com
    3. Re:oh comon by Knuckles · · Score: 2, Interesting

      Exactly. We do this for an internal app in the company, too. What you absolutely need (and why it works well for internal stuff, IMHO) is someone from the dev team who is there for the users. Someone who knows their jobs, talks to them, helps them with bugs (absolutely critical: if you do quick incremental updates, you need to take the occasional pain of bugs off the users shoulders quickly), explains to them what this is all about, and so on. A gardener for users, so to speak.
      It works fantastic for us.

      --
      "When I first heard Daydream Nation it quite frankly scared the living shit out of me." -- Matthew Stearns
    4. Re:oh comon by dubl-u · · Score: 4, Informative

      I wish all this was true. Incremental and fast and includes clients. Sounds like a recipe for disaster to me. Sorry but I really have not seen development teams using such methods successfully.

      Works for me. It requires supporting disciplines, though. In my view, that includes a well-meshed team, a very disciplined product management process, strong automated testing, a relentless devotion to code quality, and continual examination of your architectural choices.

      It also works for plenty of other people. Flickr released every few hours, and they ended up selling for $20m after 18 months of work. YouTube releases once a week for interface changes and once a month for database changes, and they always have. At a billion views a day, I'd call them pretty successful.

    5. Re:oh comon by Bogtha · · Score: 2, Insightful

      "Incremental, fast and includes clients" certainly has the risk of scope creep, but with proper change management, that can be mitigated. The benefit, however, is transparency. You don't get the developers going off and wasting lots of time building the wrong thing. You don't get a continual state of development where it's never production-ready. The end effect is that it breeds a culture where you get used to delivering production-quality code. It sounds pathetic, but that's actually a rare skill. There's far less opportunity to dig yourself into a deep hole of failure, because as soon as you get a few inches down, the clients start complaining and your management can't make excuses.

      --
      Bogtha Bogtha Bogtha
    6. Re:oh comon by Anonymous Coward · · Score: 0

      emerge world?

    7. Re:oh comon by jeffshoaf · · Score: 1, Interesting

      The whole system works quite well. The major hurdle usually comes around when management gets involved. They want to see change requests and hold pointless meetings and shift people around, etc. Because we are contractors, we can usually bypass management and the system works rather well.

      I guess it's safe to assume that the internal website isn't subject to SOX compliance requirements...

      --
      Putting the "anal" back into "analyst"...
    8. Re:oh comon by dubl-u · · Score: 1

      I guess it's safe to assume that the internal website isn't subject to SOX compliance requirements...

      It depends on your SOX auditor, but if you've got a sane one, there's no reason you can't follow an agile process with, at most, minor modifications from what you'd see in an Extreme Programming book.

    9. Re:oh comon by asplake · · Score: 1

      In many contexts - mine being a large trading system for which I'm dev manager - scope screep isn't even a problem to be mitigated. Our job is to please our clients by delivering maximum business value, and it's inefficient (and even unreasonable) to demand perfect requirements before any work gets done. Change management for me is simply about having the tools to know exactly what I'm releasing and the confidence that changes have been tested adequately, not about constantly pushing back on change.

    10. Re:oh comon by bberens · · Score: 1

      I've found this only works if you have a client who doesn't want to force you into a fixed bid contract. That also means that you've got a history with the client and they already trust you.

      --
      Check out my lame java blog at www.javachopshop.com
    11. Re:oh comon by 14erCleaner · · Score: 1

      We often go to the customers themselves and see what they want.

      Well, at least since they laid off Tom Smykowski.

      --
      Have you read my blog lately?
    12. Re:oh comon by benhattman · · Score: 1

      And when was the last development team you've seen actually try? We geeks prefer to hide in cubicles instead of working with people, and management prefers 12 year plans.

    13. Re:oh comon by dubl-u · · Score: 1

      I've found this only works if you have a client who doesn't want to force you into a fixed bid contract.

      After a lot of years developing software, I have never even heard of a fixed bid software job where everybody ended up happy. Every one I have seen up close has ended up with at least one side feeling like they got screwed, and generally both sides feel that way.

      The good news is that there are other options. This book has some great options for software development contracts that work in an Agile context.

    14. Re:oh comon by hfx_ben · · Score: 1

      "This type of development actually works quite well in some cases." Wow, that's right bold; gonna call up Standard Deviation to fudge that wedge just a little more? *Holy sheep shit BatMan, no sentient life here!*

      --
      -- When you look to see how the system works, you usually find that it doesn't.
    15. Re:oh comon by witte · · Score: 1

      It's not just the dev teams responsibility.
      Management has to enable and support this as well, not in the least by kicking some non-dev butt when needed.
      With a mature methodology, consequently applied, and management buy-in; there is little reason why working smarter AND better wouldn't work.

    16. Re:oh comon by Hognoxious · · Score: 1

      and it's inefficient (and even unreasonable) to demand perfect requirements before any work gets done.

      Well if it can't be done perfectly it obviously isn't worth doing at all. Just make it up as you go along. It's just a bit of typing, right?

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
    17. Re:oh comon by huge · · Score: 1

      Amen!

      That's usually the biggest problem with developers, they don't know what users are actually doing.

      Everybody who is working in a in-house development team should have a basic idea what the users are doing with the application.

      App being developed is usually just a part of the whole work process and more the developers know about the process less likely they are to implement features that users classify as bugs.

      --
      -- Reality checks don't bounce.
  2. This has nothing to do with Web 2.0 by chatgris · · Score: 5, Insightful

    And is instead similar to the Agile software development process. If the average Web 2.0 monkey had some real software engineering background, maybe their work will be maintainable a few years down the road, and not just rewritten for the Next Big Buzzword.

    --
    Open Your Mind. Open Your Source.
    1. Re:This has nothing to do with Web 2.0 by pohl · · Score: 1

      It's unfortunate that you were moderated a 'troll', when it's obvious that you're correct on this. Agile methods predated Web 2.0, and it's tragic that the latter movement is somehow getting credit, in this article, for the former. What's next? Is Web 2.0 going to get credit for OO?

      --

      The "cue the foo posts in 3, 2, 1..." posts will commence with no subsequent foo posts in 3, 2, 1...

    2. Re:This has nothing to do with Web 2.0 by johannesg · · Score: 3, Funny

      Agile ... the Next Big Buzzword.

      The irony just drips off the page.

    3. Re:This has nothing to do with Web 2.0 by dubl-u · · Score: 2, Interesting

      This has nothing to do with Web 2.0 and is instead similar to the Agile software development process.

      Yes and no. It's true that the Agile people had this pretty well figured out well before the Web 2.0 wave.

      However, part of the reason that Agile methods have so much uptake is that the Web 2.0 companies are releasing early and often, both showing that it can be done and forcing their competitors to step up the pace. I also give some credit to the Rails people, who built a framework that supports key Agile practices like unit testing and short feedback loops.

    4. Re:This has nothing to do with Web 2.0 by bytesex · · Score: 1

      Some people are just too young to remember, you know. They came about when agile was /old/.

      --
      Religion is what happens when nature strikes and groupthink goes wrong.
    5. Re:This has nothing to do with Web 2.0 by johannesg · · Score: 1

      I know. Although I haven't really seen any major new methodology rise since Agile. Maybe I'm losing track. Maybe you should get off my lawn.

    6. Re:This has nothing to do with Web 2.0 by h4ck7h3p14n37 · · Score: 1

      Sadly, you're absolutely correct. We've got a Web team here that's all into 2.0 and Ruby and the latest fad language/tool. The funny thing is that these guys don't seem to know anything about Web 1.0. They're totally clueless about the HTTP protocol and will say silly things like you can't have ampersands or periods in URLs. RFC? What's an RFC?

      It doesn't help matters that they're Linux fans (I'm an old school UNIX admin/systems programmer and see nothing compelling about Linux; sue me). I swear, it's like these guys think they're coming up with something new when in fact they're reinventing the wheel, poorly. Whenever I read something from a Linux fan (recently it was about package management) it always seems like they've never heard of Solaris or the BSDs.

    7. Re:This has nothing to do with Web 2.0 by smellotron · · Score: 1

      I've heard described the difference between "Agile" and "agile". The lowercase "agile" merely refers to the goal of embracing change with software development without losing efficacy. This is a good goal, regardless of how you do it. The uppercase "Agile" always refers to someone's attempted implementation of the former, and is generally a disaster and/or sham. This description is consistent with what I've seen so far.

    8. Re:This has nothing to do with Web 2.0 by wmbetts · · Score: 1

      When I was in university I went to a series of hands on lectures given by a guy who owned a software house.

      He preached a lot about what I later heard repeated as Agile development. This was stuff like don't worry about adding all the features you want in version 1. Talk to the people that are going to use your software and see what they want / need and have them prioritize the features by importance. Decided how quick you can get a usable product out the door based on the existing code you have and the time it will take to write the new code to implement X features. After version 1 is solid let them use it. Then have them look at the list of features remaining add to the list and re-prioritize. Rinse, wash, and repeat.

      He said this gives the impression to your users that the software is actively being maintained, thus more reliable. It also gives them a sense of being actively involved in the software development, thus making them happier with the software.

      I'm not really sure if he felt that way, because it built better software or because it sold software because it gave users a sense of having developed the software too. Maybe it was a little of both.

      Whatever the reason was it seemed to work for him.

      --
      "Ubuntu" -- an African word, meaning "Slackware is too hard for me". - stolen from Dan C alt.os.linux.slackware
    9. Re:This has nothing to do with Web 2.0 by Just+Some+Guy · · Score: 1

      The uppercase "Agile" always refers to someone's attempted implementation of the former, and is generally a disaster and/or sham. This description is consistent with what I've seen so far.

      All these years I thought I was just hacking code, but as it turns out I was practicing Agile development. I are teh cool.

      --
      Dewey, what part of this looks like authorities should be involved?
    10. Re:This has nothing to do with Web 2.0 by Anonymous Coward · · Score: 0

      "We've got a Web team here that's all into 2.0 and Ruby and the latest fad language/tool. The funny thing is that these guys don't seem to know anything about Web 1.0. They're totally clueless about the HTTP protocol and will say silly things like you can't have ampersands or periods in URLs. RFC? What's an RFC?"

      That's not a "web 2.0" or "Linux" problem: is a much more general one. It's "youngsters" coupled with "crooked management".

      On the "youngster" side of the equation, youngsters always think they are inventing warm water and everything from "the old farts" is just unuseful. That's simply the nature of things. Of course, since they are youngsters they simply lack the time for the wider experience to know better.

      Crooked management goes in the equation in that, although has been known for ages what the strenghs and problems with youngsters are, they are cheaper and most of the time management lacks *both* technical skills and peopleware maturity, hence going the way for the cheap enthusiasts, hence -and not surprisingly, getting the high rate of software project fiascos we usually find.

      Narrowing again the field, I saw too much just what you see. It's true that the programing field is much, much wider than twenty years ago, so specialization is not only a must but an unavoidable thing. But then, one thing is specialization and quite another ignorance (well, when management can distinguish a strong professional from a weak one, you are on a "lemon market" so no surprise here either).

      Linux or non-Linux advocates, I'm tired of "web developers" absolutly unable to open a telnet session against port 80 from a server. That think that segregating content from presentation is a "web 2.0" thing (or comes from the "semantic web" if they are smartass enough -but then they think "H2header" is a good candidate for a css class) or that the only way to schedule a periodic event on a system is by means of another servlet. It's specialization if a web developer makes for a weak database query builder; it's ignorance when a web developer thinks HTTP/1.1 is oldfashioned and to be avoided since current paradigm is WEB/2.0.

      They are not really the problem -youngster have been that way since neolithic, heck, surely I was once that way. The problem is that they are cheaper and wanting to work longer hours (they have no family to take care of, you know), so management enjoys the situation (and the fact that they are still able to sell absolute shit for a profit due to the same lacks on the client side doesn't help either).

      It's like if in civil engineering a freshman from school wanted to build all new bridges with that new transparent concrete and "agile methodologies". *And* management allowed for this without regards to all saying from the veteran engineers. *And* they fired the veteran engineers because all they bring to the table is problems, higher costs, delays and technical ununderstandable dabba-jabba about how this won't work. *And* the bridges fall. *And* despite of this, all people wanted the new bridges (and then, the most brilliant from the youngster will analyze why their bridges fall and will come as they mature with a new, revolutionary concept they'll call "structure resistance analysis", only they make it out from papier-maché models).

      End of rant.

  3. Free labor, really. by rodrigoandrade · · Score: 2, Insightful

    I think this has more to do with the free man-hours devs get from users testing amd troubleshooting their products, then anything else, really.

    1. Re:Free labor, really. by AndGodSed · · Score: 2, Interesting

      Yeah - I had to sit through a two hour session online plodding through a MS Partner Program exam that crashed at - yep - two hours in. And the only solution was to start over.

      Ugh.

    2. Re:Free labor, really. by Animats · · Score: 2, Interesting

      had to sit through a two hour session online plodding through a MS Partner Program exam that crashed at - yep - two hours in.

      When BrainBench first started up, they offered their tests for free. I took a few for fun. Got a few of their "certs", but taking timed tests on a slow server was frustrating.

    3. Re:Free labor, really. by dubl-u · · Score: 1

      I think this has more to do with the free man-hours devs get from users testing amd troubleshooting their products, then anything else, really.

      That's definitely one source of benefit. And generally, people are happy to give it. There are a variety of beta-quality products I use, and am glad to give early feedback because it helps me get a product more in line with what I want. When I don't have the time to deal with beta-quality stuff, I pay up for a finished product.

      From a developer perspective, I love this, too. You never really know what people are going to do with something until you give it to them. If you're Microsoft, you'll sit there piling up several years' worth of guesses, and then find out all at once how you did. I think it's much safer and saner to release early and often, so you can correct your small problems before they become big ones. If I had to pay users to do that, I probably would, but so far, there seem to be plenty of free ones.

    4. Re:Free labor, really. by RAMMS+EIN · · Score: 1

      I disagree. I think agile development (not web 2.0 - whatever that is) is really a useful methodology. Rather than developing the product for an extensive period of time and finally confronting the customer with what you've cooked up, you periodically show them what you've made and let them provide input on future directions. As a customer, I would like that. I can see progress is being made, and I can spot early if things are going in a direction I don't like.

      On the other hand, I have come to appreciate the waterfall model as well. It's good when you know in advance what you want, and it makes it easy to assign different people to work on different parts of the system. When done right, I think it can save a lot of overhead compared to agile development, and you know what you will finally end up with. As a customer, I would value that, because I can go about my business while the software is being developed by others. I'd still want to check on them once in a while, though; something that most customers I've dealt with actually don't seem to do.

      So I think both models have their strength. Waterfall is good if you know or can determine in advance what you want built. You analyze the requirements, design the beast, and implement it, and if the specification was good and the devs and testers did their job, you'll have a product that does exactly what you ordered. Agile is good if you don't exactly know what you want. It fits an evironment where there is lots of innovation or competing products - you'll want to add features as you go, in response to changing ideas of what you think will drive customers to you. Waterfall is awful for that, because your product will be outdated by the time it is finished. On the other hand, agile doesn't give you much of an indication of what you will eventually end up with and what it will cost you.

      --
      Please correct me if I got my facts wrong.
    5. Re:Free labor, really. by mdf356 · · Score: 1

      The biggest disadvantage to agile that I see is that, if you have lots of customers (think MS Word, or slightly more niche, Solaris OS), you can't really get feedback from all of them (and even if you could they want different things). Also, you can't really release a new version of an OS frequently -- customers hate even planned downtime and are often running versions that are 5 years old because it works and there's risk in trying something new.

      I like the idea of agile, I work that way mentally, but the realities of large software projects in large corporations seem to make it impossible.

      --
      Terrorist, bomb, al Qaeda, nuclear, yellowcake, kill, assassinate. Carnivore is dead... long live Echelon.
    6. Re:Free labor, really. by dubl-u · · Score: 1

      The biggest disadvantage to agile that I see is that, if you have lots of customers (think MS Word, or slightly more niche, Solaris OS), you can't really get feedback from all of them (and even if you could they want different things).

      If you have a lot of customers, you don't need to get feedback from them all. Instead, you have product managers who give feedback to the development team based on a variety of inputs, including customer research, user testing, interaction with user groups, user surveys, and competitive analysis.

      For feedback on stuff under development, the interaction design world has plenty of tools for figuring out what sub-groups you need to test your software on and how to do that effectively.

      You can also run beta programs and the like so that your early-adopter customers can give you plenty of feedback, while the more conservative types wait for stable releases. A good example of that latter one is IntelliJ IDEA and their Early Access program.

      Also, you can't really release a new version of an OS frequently.

      Yep. Totally impossible. Except that Red Hat has been doing that for years. The Fedora series releases every six months, with beta releases more frequent than that. And new patches pretty much every night. They then use that to provide more stable releases, the Red Hat Enterprise Linux series to their customers who want more stability.

  4. Prior art by heffrey · · Score: 5, Informative

    This is called "agile development" and pre-dates Web 2.0 by around 10 years. Taco's having a bad day it seems.

    1. Re:Prior art by Anonymous Coward · · Score: 0

      You think Taco knows enough about real software development to understand this?

    2. Re:Prior art by Black-Man · · Score: 3, Interesting

      The only thing different I saw was that Wesabe has no QA staff and lets its users and CEO do the testing. What the article didn't mention was this was probably due to lack of financing to actually hire a SQ team rather than preferring to run a software company w/o QA.

       

    3. Re:Prior art by samkass · · Score: 4, Insightful

      Agile, "extreme", and other iterative development models go back more than 10 years... that's just when Extreme Programming was the buzzword and made it big. It's pretty much always been a waterfall vs. spiral world in software project planning.

      And none of it has anything whatsoever to do with web 2.0.

      Getting things in front of users fast is key to user acceptance. However, it has to be managed well. Users often don't actually know their requirements, and everyone has emotions and priorities that are disproportionately represented relative to their actual value. You can really easily end up chasing your own tail or always being behind the ball because you're always reacting instead of acting.

      --
      E pluribus unum
    4. Re:Prior art by heffrey · · Score: 1

      Well I'm sure agile goes back right to the start of software development. It's the natural way for very small teams to work. But agile the "movement" didn't really crystallise until around 10-15 years ago.

      I suppose all this is my point. Anyone who things these methods were pioneered by Web 2.0 knows very little about software development.

    5. Re:Prior art by The+End+Of+Days · · Score: 1

      I gotta wonder, do you ramble on about nothing in particular to people around you, as well?

    6. Re:Prior art by quanticle · · Score: 1

      You can really easily end up chasing your own tail or always being behind the ball because you're always reacting instead of acting.

      Too true. However, I'd argue that a well-managed agile process can give you more initiative. There's nothing quite like coding up a feature, putting it before the product development people, and getting feedback, all within a workday.

      As you say, though, it has to be well managed, with a strong project manager who can step on behalf of the developers when the product development folks ask for features that would be prohibitively costly or time consuming to implement.

      --
      We all know what to do, but we don't know how to get re-elected once we have done it
    7. Re:Prior art by turbidostato · · Score: 1

      "What the article didn't mention was this was probably due to lack of financing to actually hire a SQ team rather than preferring to run a software company w/o QA."

      Which company, disregarding the financial ability, would want to have a QA dept. when they can go without it?

      In a world that doesn't value quality that much, QA is a liability you should avoid as much as you can.

  5. "Perpetual beta" = it sucks, forever by Animats · · Score: 4, Interesting

    I'm not impressed with the "perpetual beta" and "using your users for Q/A" concept. Remember, the users can leave.

    I've seen this happen with Tribe. Tribe was a nice little social networking system for people in the San Francisco area. Then, in 2007, they went "Web 2.0", with a system that let you "customize your home page".

    At first, this drove the users nuts, as they tried to find a home page layout that would work. "Tribe.net bug reports" became the most popular forum. After a while, most users got their home page to some format that would work (the default was awful) and didn't have overlapping panes, then stopped using the new, fancy features. Users began to leave; some users even set up a competing system in disgust. As more users left, Tribe tried to charge for some features. More users left.

    Tribe is now down to two employees and a fraction of its user base of two years ago.

    1. Re:"Perpetual beta" = it sucks, forever by pdq332 · · Score: 4, Insightful

      One should make a distinction between software intended for general use outside of a corporate setting and software intended for use in corporate backrooms. Agile development only works when the users are invested in the software. So you're 100% right about the former case: general users aren't usually invested enough in a piece of software to stick around and help out the developers by providing usability comments and such. People get paid to do that in corporate dev shops - why does anyone think general users will do that for free?

      On the other hand, user involvement and management involvement are critical to internal corporate software development. User involvement is needed to properly understand the business cases and provide usability feedback, and management involvement is needed to make overall feature decisions with an eye on keeping down costs and enhancing efficiency. Agile development helps deliver software that addresses business issues at a low cost.

      As a professional developer, the main risk is that internal users will come up with a feature request only to have it watered down or rejected by management in order to keep development costs down. Then the users are unhappy with me, I'm unhappy with the managers, and I end up providing a "most-of-the-way-there" product that satisfies no one fully, but keeps savings flowing into senior management wallets. (Management can force the users to use the software, at least until someone board member's brother-in-law sells us an alternate solution.)

      But I tend to favor the Agile Development process in that case too because about the only leverage I have is the fact that I've involved the users and managers at every step, documented the software as well as the decisions, and a have trail of accepted release candidates.

    2. Re:"Perpetual beta" = it sucks, forever by dubl-u · · Score: 1

      I'm not impressed with the "perpetual beta" and "using your users for Q/A" concept. Remember, the users can leave.

      The upside is that if you do it right, they're more involved than ever. Google was in beta for years, as was Flickr. I was fine with that; being an early adopter and watching the product evolve was exciting, especially when they did something in response to user feedback.

    3. Re:"Perpetual beta" = it sucks, forever by brianjlowry · · Score: 1

      Additionally, when I visited Tribe.com, I received a 404... maybe they are gone for good.

    4. Re:"Perpetual beta" = it sucks, forever by Animats · · Score: 1

      Additionally, when I visited Tribe.com, I received a 404...

      Try "tribe.net. Looks like somebody forgot to update "tribe.com", which "tribe.net" apparently owns but is in domain hold for bogus Whois info.

    5. Re:"Perpetual beta" = it sucks, forever by phaggood · · Score: 1

      Never used Tribe, but if any of their users left for MySpace then the Tribe homepage templates must have been Coyote Fugly, as MySpace makes my eyes bleed and ears scream.

  6. Hrm... by Anonymous Coward · · Score: 0

    The bottom-line: corporate development teams need to get to know their users."

    Corporate developers dating their users! More at 11.

    1. Re:Hrm... by sm62704 · · Score: 1

      Corporate developers dating their users! More at 11.

      Carbon dating or more modern methods of determining age?

      --
      mcgrew's razor: Never attribute to stupidity that which can be explained by greedy self-interest
  7. Not feasible in some markets by the4thdimension · · Score: 3, Insightful

    This approach really isn't feasible in certain markets, even though I can agree it would help. For instance, my company develops health care diagnostic solutions, some of which are heavily regulated. While many of our tools and products could highly benefit from this design approach, federal regulations simply make it an impossibility.

    I wouldn't be surprised to find that many other markets are regulated in a similar fashion that prevents this.

    1. Re:Not feasible in some markets by dubl-u · · Score: 5, Interesting

      For instance, my company develops health care diagnostic solutions, some of which are heavily regulated. While many of our tools and products could highly benefit from this design approach, federal regulations simply make it an impossibility.

      You'd be surprised. There are a number of medical device people who are active in the Agile world. Yes, you can't push new code to somebody's pacemaker every morning, so there are some limits. But they are definitely applying Agile lessons even in heavily regulated spaces, so it's worth checking them out.

    2. Re:Not feasible in some markets by quanticle · · Score: 1

      At the same time, some of the lessons of Agile development may still be of use to. For example, the Agile method advocates heavy use of unit and integration tests to establish a baseline for current behavior and to catch regressions. This attitude towards automated testing is useful no matter which industry one is in.

      --
      We all know what to do, but we don't know how to get re-elected once we have done it
  8. Open source at work by DavidPutnam · · Score: 1

    It's almost too obvious, isn't it? Look at what everyone else is doing and copy the things that work the best. Oh well, somebody gets to make a living by pointing things like this out.

    1. Re:Open source at work by DavidPutnam · · Score: 1

      blah

  9. Not Web/2.0 but open source... by pieterh · · Score: 1

    Very few web/2.0 apps are open source, and while this makes a nice buzzword it hides the truth: the real revolution in software development, still not practiced in many corporates, is the competitive, open, standards based approach used by open source teams.

    You cannot do "incremental releases" to products used in critical systems (the risk is too high) but you can make the technology transparent, easy to understand, easy to contribute to, and based on clear standards.

  10. Noise to Signal Ratio by Daryen · · Score: 2, Insightful

    In my experiences with developing and using web 2.0 apps I have found that there is a lot of problems with useless information.

    The perfect example of this is Slashdot, even with the moderation system it is still full of useless, off topic, biased, and jaded information. This isn't to bash Slashdot, it is far and above one of the best communities around.

    The problem with using Web 2.0 is how much work it is. If you require registration than you will have to maintain logins, and if you don't you have to deal with hordes of advertising spam and junk posts. Even if you do maintain logins you'll still have to sort out unsavory individuals somehow.

    Most corporate websites won't have the kind of dedicated moderation staff Slashdot and other community driven sites have, so the problem will be even worse.

    Application developers will need to think long and hard about whether a truly "web 2.0" system of application development is worth the work it will create.

    1. Re:Noise to Signal Ratio by pavera · · Score: 5, Interesting

      I really don't think the article is saying "we should do intranets like web 2.0 websites! and have all user generated content!"

      They are simply saying, Instead of say having an internal software dev project, and having a huge design timeframe, huge development time frame, and then 3 months for test/fix/ship, the project should be built incrementally, using the same techniques as a lot of web 2.0 startups use...

      release early, release often, work with the users, incorporating their feedback quickly into the project. Instead of doing 1-2 years of design, 1 year of dev, then releasing a beta that no one can use, solves no ones problems, and in general was a complete waste.

      Instead, start prototyping early, releasing things to users or a group of users, and building the software iteratively with them instead of saying "this is what we built, learn how to use it" say "help us build this so it solves your problems in the best way possible"

    2. Re:Noise to Signal Ratio by megaditto · · Score: 1

      Bad SNR on Slashdot? You must have a very low tolerance for noise in that case.

      On a typical article of 200-300 posts you get maybe 5-10 useless ones (1. frist psot 2. goatsex suxors 3. turd in the library 4. racist junk for the sake of racism 5. some redundant posts giving the same wikipaedia link 6 times withint one minute)

      That's pretty much it, unless you consider ideas you disagree with to be noise (in which case you should remember that there is no "-1, I Disagree" moderation option)

      --
      Obama likes poor people so much, he wants to make more of them.
    3. Re:Noise to Signal Ratio by Knuckles · · Score: 1

      And it's good to remember that nothing of this has anything to do with Web 2.0 :)

      --
      "When I first heard Daydream Nation it quite frankly scared the living shit out of me." -- Matthew Stearns
    4. Re:Noise to Signal Ratio by larry+bagina · · Score: 1

      You forgot the lame jokes, the followups by people explaining it was a joke, the followups by people who didn't realize it was a joke and try to repeat it, the complaints about the editors, the complaints about the moderators, the dupe/oldnews posts, and the people who didn't read the article and comment on something unrelated.

      --
      Do you even lift?

      These aren't the 'roids you're looking for.

    5. Re:Noise to Signal Ratio by bytesex · · Score: 1

      Trust me, slashdot was like this way before the first person coined the term 'web 2.0'.

      --
      Religion is what happens when nature strikes and groupthink goes wrong.
    6. Re:Noise to Signal Ratio by BigDogCH · · Score: 1

      Oh, and the posts that summarize the different types of posts. And the posts that add one last thing that the previous poster forgot.

    7. Re:Noise to Signal Ratio by dubl-u · · Score: 1

      And it's good to remember that nothing of this has anything to do with Web 2.0 :)

      I think the one tie is that before Web 2.0 a lot of people would hear about these approaches and say "unpossible!" Now that you can point to plenty of successes that work like this, people can't be as casually dismissive.

    8. Re:Noise to Signal Ratio by quanticle · · Score: 1

      I think the one tie is that before Web 2.0 a lot of people would hear about these approaches and say "unpossible!" Now that you can point to plenty of successes that work like this, people can't be as casually dismissive.

      Perhaps. But, another equally likely scenario is that this sort of fast development cycle was impossible back then. Many of the tools and languages advocated by Agile proponents and Web 2.0 startups have only come into prominence over the last few years. One of the most important things for Agile development is thorough, robust tool support. Its much more difficult to do Agile/Web 2.0 development without IDEs, unit testing frameworks, and version control/configuration management. As these tools have caught on in the corporate world, using the Agile process has become much easier.

      --
      We all know what to do, but we don't know how to get re-elected once we have done it
    9. Re:Noise to Signal Ratio by Whitemice · · Score: 1

      Instead of say having an internal software dev project, and having a huge design timeframe, huge development time frame, and then 3 months for test/fix/ship, the project should be built incrementally, using the same techniques as a lot of web 2.0 startups use.

      None of this has to do with Web 2.0 (or Web 3.0, or Web 4.0) or how start-ups operate (the vast majority of these start-ups will fail). This is basically just agile development practices and have been around forever.

      Why does every positive or dynamic process suddenly have to be attached to whatever "Web 2.0" is?

      --
      Using "Common Sense" is being either to arrogant or to ignorant to ask people who know more about something than you.
    10. Re:Noise to Signal Ratio by dubl-u · · Score: 1

      But, another equally likely scenario is that this sort of fast development cycle was impossible back then. Many of the tools and languages advocated by Agile proponents and Web 2.0 startups have only come into prominence over the last few years. One of the most important things for Agile development is thorough, robust tool support.

      As you can see from my comments elsewhere in this thread, I think the new tools have made uptake easier. But the tools aren't particularly important; good Agile teams existed long before the modern tools. Indeed, they were only invented because of those Agile teams. Even if you took away my refactoring tools and my unit test frameworks, I'd still be releasing early and often; my productivity would just be lower.

  11. Just like I was tell my boss last night by Anonymous Coward · · Score: 5, Funny

    We need to deliver world-class e-tailers, aggregate bleeding-edge channels while growing our virtual bandwidth and benchmarking one-to-one deliverables. That is not to say that we redefine dot-com experiences and maximize B2C web services all the while revolutionizing end-to-end mindshare and monetize front-end deliverables.

    1. Re:Just like I was tell my boss last night by bytesex · · Score: 1

      Thank you. I needed that. I must admit - I was out of touch.

      --
      Religion is what happens when nature strikes and groupthink goes wrong.
    2. Re:Just like I was tell my boss last night by CodeBuster · · Score: 1

      bingo!

    3. Re:Just like I was tell my boss last night by Anonymous Coward · · Score: 0

      The article and your comment demonstrate very well how synergy can promote an immersive user experience. Thank you for sharing!

      (What's truly sad is that my company does indeed use the word "synergy" on their homepage.)

    4. Re:Just like I was tell my boss last night by Anonymous Coward · · Score: 0

      Only if your boss agrees that this will leverage upcoming paradigms and collect low-hanging fruit which, going forward, will allow your team to deliver targeted win-win solution packages optimized to reduce negative growth in your client's brainspace.

    5. Re:Just like I was tell my boss last night by Anonymous Coward · · Score: 0

      One word: brilliant. :)

    6. Re:Just like I was tell my boss last night by Anonymous Coward · · Score: 0

      BINGO

  12. Conservative dev orgs have trouble with security by postbigbang · · Score: 1

    Web 2 techniques aren't grounded in the older data processing profile at all, and coding techniques are perceived to allow wicked security holes if underlying data sources aren't totally bolted down.

    The concept of hot mashes makes sense, but a lot of web apps are based on browser screen scrapes with forms handling parsers and forms retrieval. When you add layers on top, it's possible to both mangle data and mis-represent what's going on in the back end. Translation: a layer of disconnect with potentials for abuses occurs if standards aren't enforced, and QA is taken out of the loop. Worse, with big hammers you can break anything and with the number of php advisories I've seen as an indicator, corpdevguys are going to face a lot of audit problems.

    --
    ---- Teach Peace. It's Cheaper Than War.
  13. Web 2.0 techniques by rs232 · · Score: 1

    "Web 2.0 techniques, specifically the incremental feature releases, quick user feedback loops and quality assurance programs that include users"

    Didn't that used to be known as Open Source methodology ?

    --
    davecb5620@gmail.com
    1. Re:Web 2.0 techniques by Anonymous Coward · · Score: 0

      Minus the "source" and "open" parts, yes. And neither really has any "methodology".

  14. WTF? by topham · · Score: 5, Insightful

    "Fifty seven percent of the respondents said that problem-solving and analytical skills will be key requirements for next generation developers"

    Really? To do development you need problem-solving and analytical skills? Since when?

    CmdrTaco, what the f are you doing? I'm seriously thinking you've slipped a gear.

    1. Re:WTF? by D+Ninja · · Score: 5, Insightful

      Kind of makes me wonder what the other 43 percent of respondents thought would be good requirements for future developers...

    2. Re:WTF? by micromuncher · · Score: 2, Insightful

      Agree; 9/10 of the developers I know have no problem solving skills. Got so frustrated in one code review recently I yelled at the guy "Didn't you take the same courses I did?" We graduated compsci together. He was using floats for UIDs, arrays/iterative searches for keyed lookups, and violating encapsulation at every turn. Algorithms, data structures, complexity, and OOP 101 were foreign concepts.

      You can lead an ass to water, but you can't make him drink.

      --
      /\/\icro/\/\uncher
    3. Re:WTF? by Knuckles · · Score: 2, Funny

      You can lead an ass to water, but you can't make him drink.

      Of course, it's the wrong end!

      --
      "When I first heard Daydream Nation it quite frankly scared the living shit out of me." -- Matthew Stearns
    4. Re:WTF? by Zerth · · Score: 4, Funny

      If they thought problem solving skills were superfluous, it is because they think developers just do what they're told. So probably "listening" skills and good handwriting topped their list.

      Possibly powerpoint assistance, formatting support, and powerswitch finding to round out the top five.

    5. Re:WTF? by pruneau · · Score: 1

      Don't worry, those were mostly managers or HR people...

      --
      [Pruneau /\o^O/\ warranty void if this .sig is removed]
    6. Re:WTF? by D+Ninja · · Score: 1

      Ah...but that's precisely what worries me...

    7. Re:WTF? by nfk · · Score: 1

      Problem-creating and synthetic skills, naturally. The software is terrible, but the shrewd marketing compensates.

    8. Re:WTF? by Anonymous Coward · · Score: 0

      Missing from the article:

      "Fifty seven percent of the respondents said that problem-solving and analytical skills will be key requirements for next generation developers, while the other 43 percent of respondents ranked T&A skills as their top priority."

    9. Re:WTF? by CodeBuster · · Score: 1

      and yet they wonder why their share price is perpetually in the toilet?

  15. I would wait for Web 2.1 by mrroot · · Score: 5, Funny

    .0 releases always have alot of bugs.

    --
    I Heart Sorting Networks
    1. Re:I would wait for Web 2.1 by Hemogoblin · · Score: 3, Funny

      Personally, I'm waiting for "Web for Workspaces 3.1".

  16. A.B.B. by Mean+Variance · · Score: 1

    Always Be in Beta. (Picture Alec Baldwin saying that in your face over and over.)

  17. Iterative development superior to Waterfall?!? by ActusReus · · Score: 1

    Much like everything else thrown under the "Web 2.0" umbrella, this story is more 1990's rehash... where someone applies new marketing gloss and pretends it's a new idea.

  18. Redundancy by Narpak · · Score: 1

    "Quick, incremental updates, along with heavy user involvement, are key characteristics of the emerging software development methods championed by a new generation of Web 2.0 start-ups. "

    "...development teams could benefit from Web 2.0 techniques, specifically the incremental feature releases, quick user feedback loops and quality assurance programs that include users."

    Is it just me, or is this a bit redundant.

  19. But what's the scheme? by krkhan · · Score: 1

    development teams could benefit from Web 2.0 techniques, specifically the incremental feature releases

    You mean we'll have even number branches (e.g. Web 2.2 and Web 2.4) for stable releases?

  20. (fr)Agile by lateralus_1024 · · Score: 3, Insightful

    I happen to be knee-deep in Agile development in a corporate environment, as a lowly junior developer. The teams are definitely meeting every day and it is hyper-collaborative in that respect but user involvement is still handled by marketing and trickles down to R&D at a slowly and ambiguously. I see this as our weak point. The slow pace could be a positive so that we don't spin out of control, but the quality of information we get is where things are most dangerous, imho. I imagine a start-up would be small enough to include developers in the customer-collaboration process.

    --
    If you think /. comments are bad, check out Digg.
    1. Re:(fr)Agile by dubl-u · · Score: 1

      user involvement is still handled by marketing and trickles down to R&D at a slowly and ambiguously. I see this as our weak point.

      You're right; that is a common mistake.

      In my view, Agile development is all about making feedback loops effective and fast. Even if you're releasing software regularly, that isn't enough; you have to see how it's affecting the users. Maybe that means developers are directly involved and maybe not, but you should certainly be sitting within easy conversational distance of somebody who does spend a lot of time studying your users.

      In short, you're right: going faster doesn't help if you don't look where it's getting you and steer accordingly.

    2. Re:(fr)Agile by BVis · · Score: 1

      They had Marketing handling the beta at my last job. Which is one of the reasons that I'm not there anymore.

      Seriously, on what planet is this a good idea? The ability of the average Marketing drone to communicate even the highest level information regarding a problem (for example, 'the website is down' when there's really just a typo on the homepage) is dangerously poor.

      It seems to me that agile development is the key to bypassing Marketing altogether. Once the clients start realizing "Hey, we can tell the developers what's broken directly instead of dealing with that twit with the plastic smile and no clue in Marketing," then we'll finally be able to fire all those useless hunks of dead weight and actually start providing the customer with what they need, not what Marketing tells them they need. (Or, even worse, marketing promising the customer the sun, moon, and stars in a man-month, and then getting pissy when reality sets in and what they promised can't be delivered.)

      Marketing shouldn't be let within 50 feet of any kind of technical feedback process. They might spill their lattes on it.

      --
      Never underestimate the power of stupid people in large groups.
  21. No thanks by Collective+0-0009 · · Score: 3, Insightful

    I hate the bombardment of updates I have to run now. Windows, Adobe, some install manager, Adobe, Java, Abobe... You get the idea.

    But the reality is that this "agile" stuff only makes sense if you are improving the product. I don't want to install 38 updates to get acrobat 8.1.4 and get nothing (read: improved or added features) in return! Make the product stable for 6 fscking months! Also don't realease a major update every year!

    So companies that like to sell software based on 12-18 month releases will never move to a true "agile" development... that would mean upgrading features and basic functionality without the end user paying for it... GASP!

    --
    I finally updated my sig, but now it's lame.
    1. Re:No thanks by dubl-u · · Score: 1

      I hate the bombardment of updates I have to run now. Windows, Adobe, some install manager, Adobe, Java, Abobe... You get the idea.

      Well, I'd more call this "Agile done stupid". It's possible to make automatic update processes pretty much seamless from the user's perspective. That some companies aren't good at paying attention to what the user actually wants is a problem that predates Agile methods.

      So companies that like to sell software based on 12-18 month releases will never move to a true "agile" development...

      I don't think that's necessarily the case. The excellent Java IDE has release and early-access versions. The release version costs money and has a new version every year or so. The early-access version is free, beta quality, comes out frequently, and expires every month or so. Users can pick whether they want stability or features more. This has been working well for them for the last few years, and could see it working well for a lot of people.

    2. Re:No thanks by RAMMS+EIN · · Score: 1

      I am so happy I found Debian. Upgrade your whole system with a single command. And if you run stable, you don't even get newer versions of software - you just get (backported) security fixes. Once it works, it just keeps working. It's almost a pity that a certain release will only be supported for a number of years...

      --
      Please correct me if I got my facts wrong.
    3. Re:No thanks by CodeBuster · · Score: 1

      But the reality is that this "agile" stuff only makes sense if you are improving the product. I don't want to install 38 updates to get acrobat 8.1.4 and get nothing (read: improved or added features) in return!

      Some people consider quality and reliability to be features. There is a reason why BMW is perceived to be a better brand than say GM and the reason is not because the BMW has power windows and traction control while the comparable GM vehicle lacks these features. Just because a feature doesn't have high visibility doesn't mean that it isn't there.

      So companies that like to sell software based on 12-18 month releases will never move to a true "agile" development... that would mean upgrading features and basic functionality without the end user paying for it... GASP!

      So they charge for a subscription. There are already companies which do this.

  22. Web 2.0 Lessons For Corporate Dev Teams by BigGerman · · Score: 2, Funny

    you mean, like, "don't"?

  23. Article Summary by littlewink · · Score: 1

    Five Web 2.0 app dev lessons for enterprise IT

    1. Break the barrier between developers and end users and involve users in quality assurance processes.
    2. Keep it simple [i.e., start simple and add as you go].
    3. Stick to the script [i.e., use a scripting language].
    4. Release early and often.
    5. Let the users, not the developers, determine new features.

    Nothing new here.

  24. Updates by shagymoe · · Score: 1

    And with all of these little incremental updates, how do you not kick all of your users off of the system repeatedly? Sit around and wait for everyone to log off?

    1. Re:Updates by dubl-u · · Score: 1

      And with all of these little incremental updates, how do you not kick all of your users off of the system repeatedly? Sit around and wait for everyone to log off?

      Depends on your technology, but by and large you build things in such a way that you can shift load around without people noticing. In web-land, that's generally done with load balancer tricks when upgrading the front end, and a smart service layer when upgrading back-end apps.

  25. How Slashdot "sort(s) out unsavory individuals" by Dareth · · Score: 0

    Slashdot sorts out unsavory individuals by modding their wicked humor up! +1 Funny

    Mods, please note: this post is Insightful!

    --

    I only look human.
    My mother is a halfling and my dad is an ogre, so that makes me an Ogreling
  26. Persistent sessions by dereference · · Score: 1

    I'll assume you're not trolling here. If you find you're ever kicking off all your users to deploy an update, you're doing it wrong. Session persistence is supported by most useful production servers. This can be used to share sessions among nodes of a very small cluster (even two instances of the server running on one machine) or simply save the sessions to disk and restore them after restarting the system. With a little forethought regarding backward compatibility, you won't have any problems. And your users will still be logged in.

  27. It's even better by Moraelin · · Score: 2, Insightful

    It gets even better. "Fifty seven percent of the respondents said that problem-solving and analytical skills will be key requirements for next generation developers." Heh, so then the other about 43% believe that you can be a developer/programmer _without_ problem-solving and analytical skills? And, wait, it's supposed to be a new and web-2.0 thing that now a whole 57% see a need for those skills? I.e., that previously even _more_ PHB's thought that any drooling retard is just as fit to be hastily drafted into programming?

    I mean, geesh, every single method you write _is_ problem solving, and involves analytical skills. It's design all the way to the bottom, to paraphrase the old turtle quote. You may get the big structure handed to you from some architect, but every single decision like "do I split this loop into a separate method?" or like "do I use <insert patern> here?" _is_ a design decision, and _is_ problem solving.

    It's all designing one big huge Rube Goldberg-style, incredible machine out of the available blocks and patterns. And sometimes given frameworks and libraries that fit the problem at hand at hand, well, just about as much as a model boat, a pool table and an anvil fit the problem of catching a mouse. And you have to figure out how to fit it all together. And at any time analyze what you have, what is still missing after taking the existing parts into consideration, etc. And you must also achive the secondary goals of security, maintainability, and the like. Surely nobody thinks you can solve such a problem -- or any other problem, for that matter -- without problem-solving skills, right?

    Well apparently wrong. Almost half of the polled people actually do think that you don't need problem-solving skills.

    It would explain a lot about the sad state this industry is in...

    --
    A polar bear is a cartesian bear after a coordinate transform.
    1. Re:It's even better by The+Redster! · · Score: 1

      Was worried by that survey myself. So I went hunting for the actual survey article. Sounds like they were picking one of several "most important" skills. I would guess(hope) the other 43% chose other options because either they already have a steady supply of developers with problem-solving skills, or they're respondents who are proficient in those other skills hoping for a job.

    2. Re:It's even better by Anonymous Coward · · Score: 0

      Not surprising given the typical amount of reductionism applied to any solution in order for a manager to "get his head around it".

  28. Next generation developers??? by HikingStick · · Score: 1

    Fifty seven percent of the respondents said that problem-solving and analytical skills will be key requirements for next generation developers

    Next generation developers? I thought those were already requirements. Wait! Did someone not tell Microsoft?

    "We know what the user wants. The user wants stuff that looks cool."

    ~ A quote from a formerly employed programmer.

    --
    I use irony whenever I can, but my shirts are still wrinkled...
  29. Next on Web 2.0 by Anonymous Coward · · Score: 0

    Web 2.0 companies discover that adding more people on a project doesn't scale as well as previously thought, dubbing what is known in "corporate development teams" as the "man-month" is more "myth than fact" ...

  30. Re:Conservative dev orgs have trouble with securit by Anonymous Coward · · Score: 0

    Test

  31. It really, really works but... by Coldmoon · · Score: 2, Interesting

    I wish all this was true. Incremental and fast and includes clients. Sounds like a recipe for disaster to me. Sorry but I really have not seen development teams using such methods successfully.

    ...you need to couple it with EFFECTIVE and relevant feedback from the development team to the customers, testers, and users.

    It is not enough to just acknowledge the feedback from your users, rather you need to make them an integral part of the process and SHOW that their opinions count.

    Developing software can no longer be dictated from the "top" by decree or from the feedback of small subsets of your user base. And contrary to your assertions, this approach has been very successful in both of the startups I have had the pleasure of being involved in over my career.

    Developing software is not about "this would be neat" or "we think this will be useful"; rather it is about solving problems and the more targeted that software is as re the users needs, the more successful it will be over the long run. And IFO never saw any value in ignoring or marginalizing the user/customer...

    --
    Coldmoon over Dark water...
  32. Business-speak by Nerdposeur · · Score: 1

    ...is often no better than literary mumbo-jumbo. Like this article mentioned in XKCD, where the creator of deconstruction (a literary method) describes why he created it:

    This type of device may have enabled me to detect not only in the history of philosophy and in the related socio-historical totality, but also in what are alleged to be sciences and in so-called post-philosophical discourses that figure among the most modern (in linguistics, in anthropology, in psychoanalysis), to detect in these an evaluation of writing, or, to tell the truth, rather a devaluation of writing whose insistent, repetitive, even obscurely compulsive, character was the sign of a whole set of long-standing constraints. These constraints were practised at the price of contradictions, of denials, of dogmatic decrees.

    It's always nice to see blatant garbage ridiculed. Thanks. :)

  33. How does this work in regulated industry? by HeWhoMustNotBeNamed · · Score: 1

    How does this work in regulated industries like insurance where changes affecting pricing and eligibility require filing updates to the manual with each state's Department of Insurance?

    1. Re:How does this work in regulated industry? by dubl-u · · Score: 1

      How does this work in regulated industries like insurance where changes affecting pricing and eligibility require filing updates to the manual with each state's Department of Insurance?

      Good question. Maybe somebody who does that kind of work can speak up, but here's my take:

      My first move would be to put a bunch of unit and acceptance tests around pricing and eligibility code. If we know we can't accidentally trigger a regulatory refiling, then we could change the system in other ways fearlessly.

      Once you know you can't break things accidentally, then it seems like you could throw the question back in the laps of the guys in suits. If they request a change that requires re-filing everything, then you tell them so. If they want it, that's great. If not, that's also great.

  34. So yesteryear's developers didn't solve problems? by hawkeesk8 · · Score: 2, Insightful

    "problem-solving and analytical skills will be key requirements for next generation developers" Are they kidding me? Since when was this requirement "new"? The problem that will confront your typical corporate development environment will be the same problems that have *always* confronted large bureaucratically heavy development environments. The list starts with the fact that the shear size of such environments makes it near impossible for them to be agile. That is why most great new stuff comes from small start-ups. The business model of large corporations is risk adverse and would rather wait to see what is trendy and then just buy it (and thus destroy it.)

  35. Web 2.0 usually have very short life span by Anonymous Coward · · Score: 0

    Unlike software which have a shelf live of a few years. Web 2.0 projects rarely last a few months.

  36. Just as long as you have a vision by gilgongo · · Score: 1

    Incremental change is all fine and dandy, but it can still end up as a pile of crap unless the whole team understands what the "vision" is.

    Faced with a billion emails from customers all suggesting different and often conflicting things, people on the team with their own hobby horses and pet projects, and countless other influences along the way, you need to ask "Why? How does this help us become a ?"

    --
    "And the meaning of words; when they cease to function; when will it start worrying you?"
  37. Excellent idea to monetize web 2.0 dev practices by di'jital · · Score: 1

    1) Take "The Mythical Man Month",

    2) Create a new cover using pastel colors, and put a glossy gradient badge on the cover saying "Web 2.0"

    3) Publicize your new edition to a bunch of Web 2.0 Blogs as "revolutionary new insights".

    4) Profit!

  38. Unit testing is not a silver bullet! by Anonymous+Brave+Guy · · Score: 1

    My first move would be to put a bunch of unit and acceptance tests around pricing and eligibility code. If we know we can't accidentally trigger a regulatory refiling, then we could change the system in other ways fearlessly.

    Wishful thinking, perhaps? You can never make any change completely fearlessly in most projects. Unit tests can do a lot to help increase your confidence and catch bugs early, but they are not a substitute for knowing what you're doing and understanding its implications, and neither are they foolproof.

    For one thing, it's impossible to get 100% test coverage for most projects. If you don't have full coverage, you can always break something in a gap.

    For another thing, if you have a few thousand lines of code and you're worried enough about bugs to write a few thousand more lines of unit tests, how can you possibily be confident that the extra few thousand lines are themselves bug-free and testing what you think you're testing?

    --
    If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
    1. Re:Unit testing is not a silver bullet! by dubl-u · · Score: 1

      Wishful thinking, perhaps? You can never make any change completely fearlessly in most projects. Unit tests can do a lot to help increase your confidence and catch bugs early, but they are not a substitute for knowing what you're doing and understanding its implications, and neither are they foolproof.

      Well, I did also say acceptance tests, which I think are also very valuable. I never suggested that they were a substitute for knowing what you're doing. It's true that they aren't foolproof; maybe it's just me, but I discourage hiring fools.

      For one thing, it's impossible to get 100% test coverage for most projects. If you don't have full coverage, you can always break something in a gap.

      This is true. From talking to people who do insurance company work, the kind of bug rates you can get get from doing unit and acceptance testing are already worlds better than what they are used to, and it may be enough for their environment. If not, there are other practices to do. I said they would be the first thing I did, not the only thing.

      For another thing, if you have a few thousand lines of code and you're worried enough about bugs to write a few thousand more lines of unit tests, how can you possibily be confident that the extra few thousand lines are themselves bug-free and testing what you think you're testing?

      Personally, I would be confident because I wrote them using test-driven development and pair programming on a team that uses collective code ownership, so all the code had been reviewed throughly. Also, because we would build along with them end-to-end acceptance tests that were defined by product experts. And were I cleaning up a legacy code base, I would check code coverage both the basic way and through a tool that randomly mutates code and looks for test failures, as well as through manual inspection.

      That doesn't mean that I'd expect this to be perfect. Nothing is. But with that kind of coverage and related supporting practices, I'd expect bug-in-production rates to be between one per developer-month and one per month. That's been my previous experience, and that's more than good enough for most teams. If it weren't, I'd do more.

    2. Re:Unit testing is not a silver bullet! by wmbetts · · Score: 1

      Well, I did also say acceptance tests, which I think are also very valuable. I never suggested that they were a substitute for knowing what you're doing. It's true that they aren't foolproof; maybe it's just me, but I discourage hiring fools.

      Then there goes anyone willing to participate in pair programming.

      --
      "Ubuntu" -- an African word, meaning "Slackware is too hard for me". - stolen from Dan C alt.os.linux.slackware
    3. Re:Unit testing is not a silver bullet! by Anonymous+Brave+Guy · · Score: 1

      For what it's worth, I think pretty much everything you wrote there is reasonable. I just wish you'd allowed for it more clearly in your previous post. While you may be aware of the realistic limitations of unit testing and you may take other steps to compensate, there are a lot of people around who think unit testing really is a silver bullet, and will stubbornly maintain that if they have unit tests they can basically do whatever they want and still be safe. I believe it is best to discourage such narrow thinking as much as possible. After all, one of us might be the guy who gets stuck with clearing up their mess later! ;-)

      --
      If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
    4. Re:Unit testing is not a silver bullet! by dubl-u · · Score: 1

      Totally reasonable thing to worry about. Maybe I'm still stuck too much in the past here, but the problem that still worries me more is the people who don't have good unit and acceptance test coverage. On the other hand, if a team were prone to Silver Bullet Syndrome, then perhaps their unit tests wouldn't be what I'd call good anyhow. Could you say more about what you've seen in the field that worries you?

    5. Re:Unit testing is not a silver bullet! by Anonymous+Brave+Guy · · Score: 1

      My evidence is purely anecdotal, from various roles mentoring/training junior developers, helping out on forums for CS students, and the like. I have noticed a distinct trend in recent years for some of them to tell me point blank that unit tests make arbitrary changes safe (with no caveats or disclaimers given or, probably, assumed).

      Usually, the people who do this are more enthusiastic than average. As a consequence, they tend to read books like Working Effectively With Legacy Code or some of the XP advocacy, but they also lack the experience to seek out other viewpoints and tend to accept what they read as authoritative.

      I figure most keen novice programmers go through this sort of stage, with whatever the latest fad of the day may be. (It was patterns around the time I was getting into professional development, and while I think I avoided overdoing it too badly, I'm quite sure that if I looked back at my approach then with the benefit of hindsight, I would say I was as guilty as anyone.) One possible cure is time: when the next cycle of buzzwords comes around say 2–3 years later and our enthusiastic but inexperienced novice has a little more experience, they can't reconcile the new hype with their exising frame of reference, and start to see the bigger picture.

      Reading more sources or finding good support from more experienced developers can fix things much sooner, as long as the mind is open to it. On-line forums like this one, or programming reddit, or the programming Usenet groups, can provide such some of that support. This is why I try to encourage people who do have a bit more experience to share it wisely. Even if it's a throwaway comment to you or me, you never know whether some impressionable young programmer is reading it and it starts them thinking.

      --
      If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
    6. Re:Unit testing is not a silver bullet! by dubl-u · · Score: 1

      Interesting!

      One thing that comes to mind is that most of the agile leaders I've met are pretty sharp, and the technical ones are generally top notch, with many years of experience. The initial audience they were addressing is people like them, so a lot of the literature is could well be poorly tuned for the fresh-out-of-college set.

      Will you be at Agile 2008? If so, drop me an email and we'll meet up for a beer.

      Regardless, you should present on this very topic at Agile 2009. We specifically want critical feedback, and have a Questioning Agile track that might be a good place. There's also a Learning and Education track that might be a good candidate. I'm involved in one of the other tracks, and I'd be glad to help advocate for a presentation that is along the lines of your comments here, especially if you do enough research to demonstrate the problem. E.g., by showing some interviews of overly dogmatic newbies.

    7. Re:Unit testing is not a silver bullet! by Anonymous+Brave+Guy · · Score: 1

      I'm flattered by your comments, but I'm afraid I'm not even remotely qualified to present at a conference, particularly not one on Agile ideas. I wish you luck, though. It's a bit far from the UK to come for a visit, so have a beer for me while you're there. :-)

      --
      If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
    8. Re:Unit testing is not a silver bullet! by dubl-u · · Score: 1

      I'm flattered by your comments, but I'm afraid I'm not even remotely qualified to present at a conference, particularly not one on Agile ideas. I wish you luck, though. It's a bit far from the UK to come for a visit, so have a beer for me while you're there. :-)

      I understand, but you should definitely think about it.

      Almost all of the presenters are people working in the field; few are full-time "experts". And by definition, the "Questioning Agile" is meant to draw in outside views. If you're already mentoring junior developers and can present to 20-30 people, then I'm sure you're as qualified as the average presenter. The rest is preparation, and the year until Agile 2009 gives you plenty of time to develop your thesis, to collect evidence of the problem, and to deliver a couple of practice talks to local user groups or other interested parties.

      Don't forget there are also a variety of European Agile get-togethers, from the London Extreme Tuesday Club to the large annual conference. You can keep an eye out for ones in your area on the Agile Alliance events page.

      But I'm serious that we're always looking for outside views. the Agile 2008 closing keynote is by Alan Cooper, who for years publicly maintained that we were all dangerous lunatics, inimical to good software development everywhere. He's now moderated his position a little, but I know he's coming to challenge a variety of our notions, and I'm looking forward to it.

      And yes, I'll definitely hoist a beer in your lack of name. :-)

  39. Still not impressed by Moraelin · · Score: 1

    Was worried by that survey myself. So I went hunting for the actual survey article. Sounds like they were picking one of several "most important" skills. I would guess(hope) the other 43% chose other options because either they already have a steady supply of developers with problem-solving skills, or they're respondents who are proficient in those other skills hoping for a job.

    Well, I'm still not impressed. So basically:

    - "18% cited the need to work with online communities"... as more important than analytical thinking and problem solving skills.

    I'm sorry, but that skill profile fits a PR guy, or marketing, or generally your first line of interface with the users. The programmers don't and _should_ _not_ be the one working directly with a mass of 10 million online members, each wishing a different thing and half of them thinking they're so important that their question must be answered in 5 seconds flat. (I was just surfing for mods for a game, and, literally, in one thread someone had posted a _demand_ and 8 minutes later he was revolted that he's got no answer yet. Yes, 8 minutes.) You wouldn't even give that community access to your level 2 support, because, frankly, they're too expensive and a limited resource. So why would you ever let your programmers do that, to such extent that that skill is more important than the skill used in programming?

    So basically 18% are truly and monumentally clueless.

    - "Meanwhile, 24% said that code generation is the key long-range development skill."... so, if I get it right, it's more important to write lots of lines of code, than to be any good at actually solving a problem with it or what the problem really is.

    I'm sorry, but the very existence of this category rubs me the awfully wrong way. It's the kind of people who'd think (and obviously thought) my ex-coleague Wally was a great coder, because he included whole tens of megabytes of open-source sources in his projects (with his name plastered on it.) And even stuff that had no relevance to the problem at hand. E.g., I swear to the elder Gods, I found the sources for a file chooser dialog in a server-side servlet-based project. E.g., instead of just making his ant script generate the EJB home and remote stubs (something he never really understood), he just did it by manually deploying once, and then decompiled the IBM-generated classes and included those sources in his project. Of course, now if you changed an EJB and ran the build script, you'd get the wrong stubs. (Effectively the old ones for the old class, decompiled and recompiled again.) Plus whole obfuscation layers and, I swear to the elder gods again, an (obfuscated) stateless "state machine".

    But hey, it's lots of lines of code.

    Briefly, I'm no less worried.

    And I don't think the "already have a steady supply of developers with problem-solving skills" is an excuse at all, either way I can understand it.

    Assuming you mean, basically, "they all have problem solving skills, let's test them primarily by some other criterion", that's basically based on a false premise. Like any other skill, it varies greatly among different people. So not all have it to the same extent. Some will be great at it, and some will hardly have it at all, or not enough to actually program anything more complex than "hello world". If you literally put another criterion X above it, you can literally get people who are great at X, but sucky at problem-solving.

    It's, if you will, like saying that, bah, for a theoretical physicist job, surely all know physics, so you might as well test them for their appearance and social skills instead. Well, then you wouldn't have hired Einstein, for a start. You'd get someone who's sharply dressed and charismatic, because that's what you tested, but only the Gods know how much physics he actually knows. It can be anything from Feynmann to a devout Flat Earth believer with a degree in dowsing.

    If you have more candidates with that skill than jobs, then sort them by skill level or even skill-per-buck, and take the best. Anything else, in end effect, is throwing your hands up and solving the wrong problem instead.

    --
    A polar bear is a cartesian bear after a coordinate transform.
  40. I refuse to by Anonymous Coward · · Score: 0

    use this abominable buzzword. I propose, that from now on, we should only refer to it as "The buzzword that shall never be spoken". This is because by just saying the buzzword, the fabric of space and time itself will rip apart, letting demons and the corrupted souls of marketing people into our reality.

  41. This is Agile - or at least should be... by MrBigInThePants · · Score: 1

    ..before they go trying to reinvent the wheel that (ironically) Toyota essentally pioneered over a decade ago with lean development.

    I guess version 2.0 of the buzz word was developed too quickly for proper research into existing techniques??

    LOL. It is like your 14 yr old rushing through the door to tell you something "new" and exciting they discovered just today...

  42. Ignorance is bliss by Anonymous Coward · · Score: 0

    Web 2.0 means that you use feedback from your customers to improve product?

    This is as new and groundbreaking as the recent web 2.0 advancements enabling the Internet to just now be used for collaboration.

    Finally there is this little jem "Problem-solving and analytical skills will be key requirements for next generation developers" ...

    Its a good thing none of this is necessary for the current generation of developers or I would really be screwed.

  43. False lights draw good ships onto the rocks by hfx_ben · · Score: 1

    Like I'm gonna explain myself. Not f'n likely. Find a thread. Login. Find yourself on /. homepage. Incompetence is the thin edge of a wedge called corruption. I've been on the "web" since '72. Dealing with you has silenced me. Which doesn't mean I went elsewhere ... ... that's what yuppies do. bla-yada, kiddos ... yada-blah. An arguably credible place to make plausibly legitimate arguments ... ... all the while knowing you're in no danger of entailments. Kidz, it's cliche that the smart are stuhpuhd. *Don't know how I am? Follow a link ... google ... I've only been online for 2 or 3 decades. fuckwads*

    --
    -- When you look to see how the system works, you usually find that it doesn't.
  44. Have you been asleep for 5 or 15 years?! by hfx_ben · · Score: 1

    "Quick, incremental updates, along with heavy user involvement, are key characteristics of the emerging software development methods" Are you merely contemptuous of your readers? What part of that is anything like news? "A survey conducted for Computerworld showed that an overwhelming majority of the respondents said that traditional corporate development teams could benefit from Web 2.0 techniques, specifically the incremental feature releases, quick user feedback loops and quality assurance programs that include users." Oh, so you're pimping ComputerWord? (For the record, when I wanna go to my local to get drunk, I take a copy of InformationWeek ... shit's so fine, I keep reading even when I'm drunk. Introduces an fascinating non-artistic irony into what follows.) Why have I not introduced my discourse-based document portal? Cuz you yuppies' kidz are /just plain /stuhpud//. Folk who earn their salt by sophistry, like other kinds of whores, are not interested in discourse. Point: I never left. I come back. I was here. I ain't leaving. *fuckwads*

    --
    -- When you look to see how the system works, you usually find that it doesn't.