Tuesday, August 30, 2011

Agile Manifestations

Agility is Not Enough: Beyond the Manifesto, written by Forbes columnist Steve Denning, challenges those “still living within the confines of the Agile Manifesto” to consider Agile in the context of today’s business world. Customer delight is the new bottom line for business, according to Denning, and Agile methods must evolve if they are to embrace this new reality.

What’s fascinating about this article is not the so much content, but the conversation that ensues. In the comments section, reader Kevin Ross puts up both a spirited defense of the manifesto and a thoughtful, reasoned challenge to Denning assertions. Denning, to his credit, takes Ross’ respectful criticism and responds in a second post, Agile Part 2: Can the Manifesto be Defended as well as a third, where The Conversation Continues.

Despite arguments regarding the need to update a decade-old declaration of policy and principles, Agile methods are constantly being tailored to meet new demands. For example, in A Practical Way to do Agile in an Enterprise ALM Environment, (CM Journal, Volume 9 - No. 7 - July, 2011), PTC’s Harsh Sabikhi describes approaches his clients have taken to tailor Agile methods in the face of regulatory compliance and quality assurance mandates.

As software becomes a more critical component in product development, Agile methods are naturally gaining traction in this space. While the trend has been evident for years, we have reached an inflection point where rapid innovation and product differentiation relies increasingly on the software, rather than the electrical or mechanical, aspects of a product. In the product development environment, software alone is not considered the final deliverable, rather it is an integral aspect of the final deliverable. Is “working software” a sufficient iteration objective or must we incorporate physical and electro-mechanical system aspects in order to provide value? If so, how do we reconcile the different paces of change in the software and hardware aspects of the system?

This is not to say that the physical and electro-mechanical aspects of a product don’t provide opportunities for innovation and differentiation. They can and they certainly do. However, these aspects of the system are relatively well understood and suited for predictive design and manufacturing processes. The software aspect, as we have observed, is extremely malleable, relatively poorly understood, and better suited for empirical and adaptive development processes.

Product development, especially in the context of variant management and product lines, presents an entirely new set of challenges and opportunities as Agile methods manifest themselves in traditionally predictive environments. The Agile Manifesto may be a guiding light, but it is not meant to be a prescriptive solution. Tailored solutions will emerge as organizations on the forefront of product development apply Agile principles and best practices to a proven and pragmatic product development framework.


Labels: , , , ,

Thursday, August 4, 2011

Have You Downloaded the Latest Software Patch for Your BMW 3?

The role of software is changing and nowhere is that more evident than in the world of product manufacturers. Software brings huge benefits, but at the same time significant challenges. In a recent article by Michael Azoff of Ovum in the Technology Spectator, he asserts that, “Warranty Direct shows that electrical faults in cars, including software defects, are on the rise, representing 27 per cent of all faults (averaged across all models)." The reality is that software is on an aggressive growth path, or as Azoff terms this, an "exponential rise" within automobiles and many other manufactured products. Unfortunately, complexity is tending to mirror this trajectory as well, according to many of our customers across automotive, electronics and high tech, medical devices, and aerospace and defense.

So how can product organizations solve this? Azoff goes on to say that "Car manufacturers need to understand better how to create reliable embedded software by defining a role for software lifecycle management in the product world." This is not only true in the world of automotive, but these other verticals as well. Research from other sources including Gartner, in a recent paper entitled Application Life Cycle Management Matters Where Diversity Persists, clearly show that software/application lifecycle management provides significant value to enterprises including:

Agility — Through collaboration and application of "just enough" process

Predictability — Through better estimation, better communication and more repeatable processes

Auditability — Traceability of work back to business needs, accountability for each change or decision made, and the ability to separate concerns

Quality — Through more-effective management of requirements, design and quality processes

Productivity — Through the reduction of rework and continuous improvement of processes and practices, and more-effective use of resources

There are many other implications and advantages that software can provide manufacturers including:

- A huge reduction in the cost of mass manufacturing

- Flexibility to affect change in a product very late in the development cycle

- The ability to create many more industry and customer specific product variants

- Delivery of new features in their products after they have been purchased (e.g. iPhone)

- The ability for customers to receive fixes and patches during the service lifecycle much more rapidly, without having to bring their device to a service center and at a fraction of the cost of traditional service

This last point is critical and a huge opportunity for all manufacturers as Azoff notes, “the typical enterprise IT user is used to downloading software patches regularly, but this is not the practice for car owners (at least not yet).” So why have we not seen more device manufacturers adopt this strategy? Well of course, the device whether it be a phone or automobile, must be architected for this dynamic software upgrade and service model. But another significant impediment is the ability to manage software engineering more like a first class engineering process and less like a growing, critical, differentiating, and valuable afterthought.

Check out these related resources:

ISO 26262 - Effectively Managing the Safety Development Cycle with a Software System Lifecycle Management Platform

EETimes Panel Discussion: Designing Intelligence into the Car

Labels: , , , , ,