In my post, What is Better About Agile Development? (a reprint of the article Top 10 Reasons to Use Agile Development that I wrote for DevX.com), my sixth reason for using Agile is that Agile development enables emergent innovation. This post will expand upon this topic.
It is no secret that companies desire greater innovation to differentiate themselves in today's marketplace. Emergent innovation is all about deriving innovation organically from within the organization as a natural course of performing day-to-day work.
I’ll admit that this particular reason for using Agile development was of my own choosing, and I cannot point to specific studies that support this as a benefit. Since I was responsible for writing the article, I wanted to give my opinion on a benefit that I feel should be a part of Agile development.
Step One in enabling emergent innovation is to provide a sustainable development environment. As I noted in my article, “Teams that are working constant overtime to meet schedules simply lack the time or inclination to think about anything else other than the difficult schedule in front of them. In sustainable development environments, people have the time to think more about the business and explore – creating the potential for innovation that did not exist previously.”
Step Two is to have conversations as a team. Requirements (User Stories) should not be considered cast in concrete, but should serve as a basis for a conversation about what the business wants and the anticipated benefit(s) the business expects as a result. As I noted in the article, “…the dialog between business experts and the technical experts can yield unexpected results, like turning complex, difficult features into elegant, differentiating features.”
We’ve experienced this. We’ve had teams review User Stories and discuss how certain features could be implemented – a back-and-forth conversation about the business workflow and what was realistic for software to handle automatically along with how the user needed to interact with the software to accomplish his or her goal. We’ve been able to eliminate unnecessary steps and simplify the software while still providing a great user experience that met the needs of the business.
Sometimes, users are asking for features that are based on other software that they have experience with. The trick is they don’t always know how to separate how they perform tasks today with what is possible tomorrow. This is why understanding the anticipated benefit is an important component of the User Story, and why conversations between those who understand the business and those who understand software construction are highly beneficial. You can end up i a much better place than either side could have imagined by working in a sequential, isolated hand-off development approach.
Emergent innovation can also involve an entire product. We initiated one project that was little more than a vague notion of the actual problem that we wanted to tackle. This was a classic R&D effort where we gradually – and experimentally – tackled the issue of exposing complex, back-end insurance processing to web portals.
We initially felt that we needed to build a portal itself, but as the team immersed itself into the effort, a shift occurred. The result was a middleware set of tools and technologies that enable us to interrogate a back-end system and generate schema and meta-data that describe the workings of the back-end system. (And an even better, recognition for the developers in the form of a patent application.)
The result is that we don’t create web portals, we allow the definition and management of templates, rules, and workflows that govern the semantic display and behavior of information that can be contained within web portals. We make it easy to access back-end systems and propagate changes out to the web, with our middleware facilitating the dialog between the web portal and the back-end system(s). Our customers have full control over the look and feel of their web portals, leveraging our technology to make their lives a lot easier.
Naturally, this type effort required some of our best people. People who have a proven track record of creative thinking, the ability to deal with ambiguity, and that inquisitive, exploratory mindset that enabled them to define the goal and then work towards achieving it.
What are your thoughts? Does emergent innovation belong among the Top 10 Reasons for Using Agile?