Conversational Software Development: The Agile Software Development of Web 2.0
I've been meaning to write this post since hearing Martin Fowler's keynote at RailsConf. He gave a great speech, and while this wasn't the main thesis of the talk, it was something that stuck with me.
Paraphrasing, he said something to the effect of, "One of the other proposed names for Agile Software Development was Conversational Software Development."
I immediately fell in love with that term, because to me it conveys something totally different than that of agile development.
I may be the only one who thinks this (though I doubt it), but to me Agile Software Development stands for quick releases, quick bug fixes, quick turn around time, and writing easily maintainable software (test-driven, well-designed, etc).
But these are really just methods towards the end goals of Agile Software Development.
The real goal of Agile Software Development is to promote conversation. The problem with the Agile Principles is that you can tell it was developed by consultants. They talk about "business people" and "customers" and imply having meetings often ("face-to-face conversations" and "at regular intervals, the team reflects..").
In this new, Web 2.0, era of software development, the initial organization regularly consists of two geeks, one apartment, one idea, and zero business people. There is, in my opinion, also a deceivingly large difference between interpreting the person at the other end of the pipe as simply a customer versus a user. The former is often treated as someone who simply pays you money for a service. The latter is more likely viewed as a living being actually using and performing multiple and varied actions on your service. There are no meetings or face-to-face conversations with our customer. Rather, only logins and page views performed by the user.
So it is unsurprising that the notion of Agile Software Development has degraded to simply methods of producing software.
Contrast this with the concept that first enters your head when you hear the term Conversational Software Development. It immediately conveys the idea of talking and listening. It does not portray any notion of physical meetings, just a notion of learning what the user really wants. And this willingness to learn is the single most important feature us Web 2.0 developers can provide to our users. Unfortunately, most of us are not very good at this (yes, I'm raising my hand).
Hearing Martin Fowler speak so eloquently about Agile Software Development as Conversational Software Development really changed my thinking as to how to approach our software and what it really means to be agile (focusing on the goals, rather than the methods). Conversational Software Development is the Agile Software Development for Web 2.0.
Tags: Martin Fowler, RailsConf, agile software development, agile, web2.0, software
Paraphrasing, he said something to the effect of, "One of the other proposed names for Agile Software Development was Conversational Software Development."
I immediately fell in love with that term, because to me it conveys something totally different than that of agile development.
I may be the only one who thinks this (though I doubt it), but to me Agile Software Development stands for quick releases, quick bug fixes, quick turn around time, and writing easily maintainable software (test-driven, well-designed, etc).
But these are really just methods towards the end goals of Agile Software Development.
The real goal of Agile Software Development is to promote conversation. The problem with the Agile Principles is that you can tell it was developed by consultants. They talk about "business people" and "customers" and imply having meetings often ("face-to-face conversations" and "at regular intervals, the team reflects..").
In this new, Web 2.0, era of software development, the initial organization regularly consists of two geeks, one apartment, one idea, and zero business people. There is, in my opinion, also a deceivingly large difference between interpreting the person at the other end of the pipe as simply a customer versus a user. The former is often treated as someone who simply pays you money for a service. The latter is more likely viewed as a living being actually using and performing multiple and varied actions on your service. There are no meetings or face-to-face conversations with our customer. Rather, only logins and page views performed by the user.
So it is unsurprising that the notion of Agile Software Development has degraded to simply methods of producing software.
Contrast this with the concept that first enters your head when you hear the term Conversational Software Development. It immediately conveys the idea of talking and listening. It does not portray any notion of physical meetings, just a notion of learning what the user really wants. And this willingness to learn is the single most important feature us Web 2.0 developers can provide to our users. Unfortunately, most of us are not very good at this (yes, I'm raising my hand).
Hearing Martin Fowler speak so eloquently about Agile Software Development as Conversational Software Development really changed my thinking as to how to approach our software and what it really means to be agile (focusing on the goals, rather than the methods). Conversational Software Development is the Agile Software Development for Web 2.0.
Tags: Martin Fowler, RailsConf, agile software development, agile, web2.0, software


1 Comments:
Infactsolutions are Offshore outsourcing consultants that provides ecommerce website development solutions, website designing and optimization, custom web application development, e-commerce website development for business, complete ebusiness solutions providers, it services outsourcing.
Post a Comment
<< Home