October 18, 2012
I guess it’s obvious to say that application development and delivery has changed dramatically in recent years. The acceptance of agile as a mainstream project execution approach has had the most profound impact on application development for very good reason--it is ideally suited to developing products and features. At the same time, the move away from physical media delivery to downloads has allowed one-person startups and multinationals to compete on a level playing field--no more do you need access to a huge retail network and the overheads of packaging and production to get your product to market.
Those are all areas that have been very well documented, but in the midst of all that there is another change happening…and that’s what I want to look at here.
The shift in control
Historically, the control over how applications would be developed and delivered rested firmly with the vendor. They would likely consult with key customers to understand what they were looking for in future upgrades, would make sure that they were in touch with industry trends and would generally try to make sure that products aligned with market and customer needs in terms of functionality. But when it came to other elements, the vendor was squarely in control:
In the last few years, this control has shifted almost completely to the customer. Partly this is as a result of the changes identified in the first paragraph--technology has helped to break the domination of industry giants and smaller organizations have had to differentiate themselves on flexibility and ease of use--a one -erson software shop can’t rely on complex professional services needs because they can’t fulfill those services. Additionally, agile has given the customer a much stronger voice in feature development, and it’s a tradeoff that has worked for both sides.
Regardless of how it has happened, it’s a trend that is going to continue. As soon as one vendor offers the flexibility to upgrade and patch on demand, all of their competitors will be expected to do the same--and if they don’t, they will rapidly find themselves at a competitive disadvantage.
The impact of the change
So what does all of this mean for application development and delivery, and especially for project management? Well, it changes the fundamental structure of the applications that we develop:
This is a fundamental shift and needs us to stop thinking of a single application, but rather as a number of different modules that work together to deliver the full product experience. Projects are likely to shift from a relatively low number of high-effort year product development initiatives to a higher number of shorter, lower-effort projects that deliver upgrades to one or more modules and can be delivered independent of other elements of the product.
The development of vastly more sophisticated web browsers has made it easier to envisage powerful and intuitive user interfaces, but to take advantage of them we need to ensure that the interface design is a fundamental part of each new feature development project--a shift from the historic approach where the product team would frequently decide how the product would look. Of course the design and other product elements should be developed in collaboration with our customer base to ensure that we are delivering something that our customer base wants to purchase--ease of use also means that it is easier to switch to a competitor if we misjudge the market.
Conclusion
This isn’t an article full of project management tips, but PMs have a key role to play in modern product development. If you are working with a product manager who isn’t embracing a modular, customer-focused, flexible approach to developing and deploying their product, then you may find yourself managing a project for a product that the market views as obsolete.