One of the hallmarks of Web 2.0 and broader software development has been the rise of Agile Techniques. This is a roster of development methods that vary in exact processes but emphasize much shorter development and delivery cycles of 3-9 months instead of 1 to 3 years, client particpation through prototyping and testing, and adapting a plan even to changing the architecture depending on the tested feedback from the delivered and evolving product and market conditions.
Agile Spiral of Values
Needless to say, Agile is a very proactive and also risky method that can go awry if there is not a continuing consensus on the target product including assessment for changing priorities and needs as a)the product is delivered, b)the clients and customers react to that product plus conditions in the market where the product is to be used change. The emphaisis is getting new software products out to the customer/clients rapidly and then use the feedback from the customer to adjust the initial plan if need be or continue the planned rollout for the next iteration. There is a long term plan and strategy; but that is often broken into small in 3-6 month delivery increments and depends on prototyping to extensively to show the users what they are going to get at each iteration.
As the reading on Agile shows there are a number of competing methodologies, each of which is adapted to different characteristics of a) the development project; b)the software developers and their experience with a software solution set, and c)the time available, experience and competence of the clients co-designing and testing the ongoing software tool[s].
The three big advantages of the Agile method are a)the organization gets to see the product early and often, b)they can adjust the initial plan and development strategy depending on how weel the software meets their ongong needs[the software is adaptable], and the client can if conditions warrant walk away from the project if market conditions change and/or the product does not meet the clients needs.
Now having described Agile it is interesting to see how Agile the three major software vendors are. All claim to be agile in developing their software. All clearly do have some Agile-like processes in their development. So here a “top of the napkin” review of the the 3 major software vendors in the World today.
Apple – general directions but no declaration of the overall plan’s detail and steps. Rather the opposite, those details are kept ultra-secretive. Thus testing and co-designing with clients and customers is also kept ultra secretive. The cycle for major updates is generally one year but Apple can deliver in considerably less time a major upgrade or fix as has been seen in the iPhone and iPad in recent times.
Google – also provides general directions and has introduced and then after 1- or 2 iterations walked away from, redirected, or postponed work on major projects. Two examples are Google Wave and the Nexus One Smartphone. Google has a mixed record on being open about the detailed plan; some projects are explicit and others are as secretive as Apple. However, once a basic API is revealed, the project becomes more open. Often clients are invited early to do beta testing [think Google Books and Google Maps] and are surveyed for their reactions to the software. The projects tend to have short update cycles of 3-6 months [think Android and Google Docs] but this may be after a longer 1 year or greater first gestation period.
Microsoft – also provides strategic planning and directions. Its Windows continuum was renewed once again by Steve Ballmer at the CES 2011 show with one significant departure – instead of being exclusively an Intel x86 platform choice, Microsoft has added the ARM CPU+System architecture. But the OS will be Windows 7 not Windows Phone 7 [which is built on largely the same language tools but has some novel OS design and implementation methods].
Like Google, Microsoft can be mixed on how the detailed plan is implemented – sometimes open and other times ultra secretive. But Microsoft almost always has a substantial beta processes sometimes eliciting the partcipation of thousands of users and some prestigious early client/organizational adopters. However, Microsoft software generally has very long delivery cycles measured in years. Typical is the recent Windows cycle which from XP to Vista was 4-5 years and Windows 7 to Windows 8 looks like 2-3 years. Even the Windows 7 upgrade for from Vista to 7 was well more than a year. Even for smaller software projects like the IE browser the Microsoft development cycle is very long: IE6 to IE7 took 6++ years. Even after Bill Gates promised a faster update cycle after IE7, IE8 took 2++ years, IE9 appears to be keeping that same 2 year cycle.
So now you, dear reader, in these fast moving times will get to decide who you are going to bet on in the huge and fast emerging media device, smartphone and tablet markets – which vendor is going to carry you forward? Innovative but secrertive Apple; Agile leaning Google or rich but long cycled Microsoft. Or will a new shop be able to steal into this space – maybe HP with Palm’s webOS or RIM with its QNX or the newly revitalized NVidia with its chips and graphics software savvy.