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."
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.
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.
This is called "agile development" and pre-dates Web 2.0 by around 10 years. Taco's having a bad day it seems.
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.
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.
Crackin' Wise - Blogging about whatever we want
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.
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.
"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.
.0 releases always have alot of bugs.
I Heart Sorting Networks
I believe Meebo.com uses this development method. It seems to work well for them.
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
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.
you mean, like, "don't"?
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
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
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.
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.
"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
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...
"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.)
rootsmith Inc.