The most widely deployed mobile virtualization solution
I've never really been a fan of Agile software development methodologies. Even thinking about it now makes me cringe. I've always associated it with immaturity; the quick and easy way to go out of business. Some companies seem to adopt it as an excuse not to have a roadmap, or to not bother with project planning, or because it sounds cool. And let's face it, it has a great brand name - being agile sounds like something to aspire to.
Yet over the years, as our processes have evolved, I've been finding it increasingly harder to avoid the truth: Our software development methodologies adopt many of the fundamentals and core ideas at the heart of Agile. Our evolution has been based on a sound process of repetitive analysis and improvement, of automation, tools and top-notch engineers. It has been driven by the need to deliver on time, with ever increasing efficiency and greater quality. OK, so we're agile.
But we go further. The Agile disease is spreading beyond the hidden confines of our internal engineering processes to alter the way we interact with our customers during the whole life cycle of a project, and our products. We call it cooperative development, or co-development.
Co-development, like agile, is named to describe in broad terms what it is. It is where we work closely with our customers and partners to develop and refine our project. We are more engaging.
Co-development also shares many of the fundamentals of Agile. We work closely with our customers, who drive the requirements of projects. This is beneficial as we not only get mutual confidence that the project's goals are achievable, we also gain invaluable insight through customer use-cases and we get a clear message of the key drivers of our customers, which allows us to develop the best and most compelling products.
Co-development is agile too. Customer requirements do change. The market moves quickly and we want to ensure the impact of our projects and products remains effective. By acknowledging that requirements change and working in an agile mindset we are able to adapt, deliver with impact, within budget and have a happy customer. Ultimately supporting change as something normal during project development is easier with agile software development methodologies and the cost or penalties are lower. The good old 1:10:100 rule still applies, but more often than not, we are identifying and addressing issues while the cost remains low.
Co-development incorporates a more engaging release routine. In most cases, while our projects are in development, we deliver interim milestone releases to the customer. These releases are delivered by our field engineers to directly solicit feedback on progress and to ensure the solution remains effective in the eyes of our customer. Because this is coupled with internal engineering agileness, this approach is very effective.
Agile, co-operative development, along with mature processes and tools have ensured we continue to deliver successful, high quality products to our customers. Our customers are happy; we are happy.
Posted by Daniel Potts on January 07 at 08:15 AM
blog comments powered by DisqusAbout Daniel Potts:
Dr. Daniel Potts, Director of Engineering at OK Labs, heads up the engineering team and oversees the development our products. Dan enjoys working closely with his team, and ensuring that they have everything they need to focus on producing high quality products. When not working, you'll find Dan at the beach or swimming laps at the pool.