Innovation and agile development
October 11th, 2006 by binnur
Agile development methodologies tend to generate quite a buzz. This blog was inspired from Steve Yegge’s blog, or rather his rants, regarding the Agile Methodology. You can check out his blogs at his blog site: http://steve-yegge.blogspot.com/
- original post: http://steve-yegge.blogspot.com/2006/09/good-agile-bad-agile_27.html
- follow on post: http://steve-yegge.blogspot.com/2006/10/egomania-itself.html
For me, it is never about the tool, or the methodology, but rather how one uses, or adopts, the tool to get to the results effectively and efficiently. Though I don’t quite get Steve’s analogy in regards to the chili making, it is worth visiting the agile development methodologies and their support of the innovation cycle. In this blog, agile development methodologies refers to all existing agile and light-weight software development processes, such as extreme programming, feature driven development, etc.
Firstly, important to note that I do not believe in silver bullets, nor a one size fits all approach. It is important to take these prescribed methodologies and adapt them to fit with your culture, your organization, your market and your customers. Forcing any development methodology on your organization can potentially backfire as it will touch and stress every part of your organization’s value-chain activities. As such, the implementation should be taken seriously, address ways to incorporate everyone that will be impacted, and recognize that this can be ultimately be a trial and error process: aim-fire, aim-fire, aim-fire, …
With that said, I have adopted these agile development methodologies with my team on mid-to-large scale projects, and have experienced positive returns. I believe that the agile development methodologies support the needs of innovation efforts and innovation cycle and as such are invaluable tools IF utilized correctly. Here is a quick review of the agile development tools/processes I find most valuable:
• Customer involvement: Innovation is by nature creating something new that didn’t exist before, and commercializing it. Understanding the market and the customer is a crucial step in the innovation cycle, and agile development methodologies put the customer front-and-center.
• Incremental/iterative development: This philosophy enables a continuous feedback cycle with customers by ensuring that the team incrementally adds to the product. Again, the customer is front-and-center, and the project team is continuously enhancing its market and customer knowledge through these feedback cycles.
• Test-driven development/acceptance test: The goal is to achieve high quality product or service from the perspective of the customer. Test-driven development and acceptance testing requires the team to better understand the customer, how they would use the product, and design the system accordingly.
• Pair programming/pair design/collective code ownership: Although I personally believe pair programming is a cultural choice, pair design and collective code ownership practices are an absolute must. Innovation is a collaborative process and highly benefits from diverse opinions, experiences and backgrounds.
• Continuous integration: Although it is a common fact that there is an increased overhead of team communication and management as the team size increases (over 7-9 people) and/or more remote sites are added to the project, it is not always possible for corporations to maintain small teams that are all located within the same site. However, agile development methodologies provides tools, such as continuous integration, to enable small teams to operate semi-independently within the larger project.
• Scrum planning: At its core, Scrum assumes that the software development process is complicated and unpredictable, and provides an environment for the project team as well as the customer to work together to adjust the the project activities and priorities based on the current environment, constraints and newly available information. At its core, innovation is also unpredictable and requires a flexible and collaborative management process for its success.
In summary, agile development processes are agile and light-weight. If utilized properly, they will effectively and efficiently support your innovation efforts.

Well I quite liked the way it has being put up .. but I see no difference then what everyone talks about Agile .. I had being trying a few innovative ideas while in PM using Agile .. to be honest with the kind of work we do I dont see we can go complete Scrum or XP so we derive them both to the best of our needs …
when it comes to innovations what apart from the Agile principles can be used is the art .. a simple example .. everyone has a Iteration plan/kickoff/status/ and various such stages in the Iteration cycle .. the idea of motivating the devlopment to do the kickoff and evaluate the Impact of the UI and the requirements or the Use cases in the kickoffs would sound different then the regular process…
I would say that Agile needs innovation models in various elements of PM + development process are required no matter they fit in the process model or not.