Planning and Launching Software Products in an Agile Environment

This week, I had the opportunity to speak in the Agile Practitioners 2013 conference. The topic of the talk was Product Roadmap, Planning and Launch in an Agile Environment.

The talk was around approaches to modern product management, and specifically considerations due to agile methodologies and short product release cycles.

Fundamentally, old-style product management assumed software releases are done infrequently, something along the lines of this diagram:


Whereas modern product cycles rely on shorter cycles, something along the lines of this diagram:


The assumption in modern approaches is that the road to good software is shorter when making smaller steps and frequent turns than when making large steps and more radical turns. (This is geometrically true in the diagrams…)

Old-style product cycles consisted of three main steps: planning (negotiation, prioritization, scheduling), development (design, coding, testing) and launch (alpha/beta, release, outbound marketing). The main question I was trying to tackle in the talk was how the corresponding activities map to product cycles with frequent releases.

On a side note, some organizations use old-style product cycles (infrequent software releases) while using “agile development” techniques internally (that is, frequent internal releases). While perhaps better than nothing at all, this approach misses—in my mind—much of the benefit in agile software development. In the end of the day, the biggest benefit is adapting to customer feedback, and without the software reaching real customers, value diminishes.

The areas I was trying to tackle in the talk were:

  • How does planning occur in an environment when there’s no defined period for planning (“beginning of the release”)? When the working assumption is that many of the details (and associated effort) will be revealed during the development process. And, how do roadmaps look in such an environment?
  • How do product launches occur in an environment when there’s no defined period for launch, but—instead—software is ready in chunks? How and when does customer feedback get incorporated into the cycle?
  • How does one integrate new approaches and opportunities brought about by agile development? Mostly, agile approaches facilitate experimentation through proof-of-concepts and such (with various variants such as MVP, MSP, and lean).

Here are some of the practices we’ve come to follow over the years:

Continue reading

Product Planning in an Agile Environment – Talk @ Agile Practitioners 2013 Conference

In case you’re in the Tel Aviv area on Jan. 30, 2013, you’re most welcome to drop by the Agile Practitioners 2013 conference. I plan to deliver a talk titled Product Roadmap, Planning and Launch in an Agile Environment.

The talk will revolve around the fact that in an Agile environment, predictability is knowingly sacrificed for flexibility. Agile practitioners assume that what’s being development changes along the way, and that the true effort associated with each new development is only revealed during the development process. They  knowingly release new product functions in smaller chunks. And, they empower individuals and let them drive the process. This essentially makes traditional approaches for managing product roadmaps and launches obsolete.

I plan to cover some approaches and techniques in managing a product in an Agile environment, highlighting some examples from our experience at Webcollage, delivering a SaaS product to a large number of high-profile customers. The current plan is to touch various angles of the conflict, from planning (internal vs. external roadmaps, hard vs. soft commitments), conflict resolution (emergency and time-sensitive issues), release and rollout management (soft vs. official launches, gradual rollout, alpha/beta cycle and feedback management), as well as some additional areas as time allows (documentation).


SaaS Adoption Accelerates, Goes Global in the Enterprise

Here’s a recent write-up in Forbes Magazine, which summarizes a Gartner study published last week.

Workday IPO: Another Nail in the Coffin of On-Premise Software

On Friday, Workday (NASDAQ: WDAY) held the biggest tech IPO since Facebook.

Unlike Facebook, Workday does not run a consumer-facing business that claims to have a billion users. Instead, it’s a software-as-a-service solution provider for human resources management (and nowadays adjacent solutions). While not anything as sexy as Facebook, the company is now valued at over $8b.

Why is the market valuing Workday so highly? As usual, it’s a combination of several factors (some very likely exaggerated). But most importantly, is the belief that the new SaaS solutions will eventually replace many of the existing on-premise solutions. Or, as  Aneel Bhusri, Workday co-founder said in an interview, “the incumbents are not prepared.”

Why Polyglot Programming is a Fad

One of the considerations when building a new software product is the programming language or languages to use for development. Programming languages can be taken for just tools, like a hammer; one uses them to construct software applications. But more so, they are part of the software’s infrastructure: unlike a hammer, one cannot move to use a different tool on a whim: high switching costs are required.

A few years ago, the concept of polyglot programming has gained momentum and mind share. The idea was that one could develop software using multiple programming languages, all glued together, each optimized for a piece of the puzzle. The idea was largely enabled by the two major platforms (Java and .NET) including  support for language interoperability via virtual machines. People could program in multiple languages and still connect them together without clumsy inter-language binding mechanisms.

What’s interesting is that the concept has recently gained momentum again with the resurfacing of Java-based languages such as Groovy, Scala and Clojure. Half of a recent book, “The Well-Grounded Java Developer”, is dedicated to the concept; people now argue that “no one language will rule the cloud” and that “the future [is] polyglot programmers”. But, there are fundamental reasons why the concept never took off, and never will.

Continue reading

Why (Direct) Democracy is bad for Software Products

It seems that more and more software vendors rely on user feedback tools and forums (such as UserVoice, which I mentioned in a previous post). The thought, in many cases, is that user votes can drive the product development roadmap in a way that resembles democratic elections: the more users vote for a feature, the faster it gets addressed. Some tools even allocate a limited amount of tokens for users and let them distribute the tokens across feature requests.

This thought process quickly translates to communication with customers. For example, at Webcollage we recently evaluated a software product for our development organization. We quickly noticed that the product did not work in our environment, and contacted the vendor. The response we got was:

“This functionality is not supported in [Product Name] at the moment. However, you can add this suggestion on our forum at [URL].”

A few months ago we received a more annoying response from an otherwise respectable vendor, whose software (during our evaluation) did not work as expected in Internet Explorer 8:

“It looks as though we also do not recommend the use of Internet Explorer 8 and under with [Product Name] in general. If IE8 is a requirement for your development team(s), please be sure to comment on and vote up the issue I’ve linked above. Please let us know if you have any other questions.”

Such a response misses the mark in almost every possible way, from customer relationship management (if a customer is evaluating your software, do you really expect them to take the time to vote up bugs?) through product positioning and documentation (you either support Internet Explorer 8 or not; if you do—please fix issues; if you don’t, that’s fine—don’t include it in the list of supported browsers), product planning (are you really relying on frustrated customers to drive your browser support strategy?), through simple business sense (do you really count feedback from all customers in the same way, regardless of their level of use of your software, level of savvy and their business potential?).

It seems to me that this approach is derived from fundamental lack of understanding of democracy, and why direct democracy hasn’t survived.

Continue reading

Care to be Knighted? Design Your Software Right!

Care to be Knighted?In case you’ve missed this monumental event, Apple designer Jonathan Ive was knighted last week by the Princess Royal at Buckingham Palace.

Indeed, Apple (with Jonathan Ive’s dominant participation) has revolutionized how consumer electronics products are designed. Starting with its color iMacs, which introduced color as an important buying criteria into the mainstream consumer electronics market, and later (as discussed ad nauseam) with its iPods, iPhone and iPad products, Apple has led the market with respect to how products are designed.

In the non-software world, product design has been acknowledged to be a vital part of product success. Industrial design has become a profession, driving product design in multiple industries. Furniture company IKEA has grown based on offering “highly designed” (and arguably, mediocre quality) furniture. Sodastream, a publicly traded $700m maker of home carbonation products, has started growing after putting focus on product design.

When it comes to software, however, there isn’t even a well-defined role, position, or step in the process that addresses the full spectrum of product design. Continue reading