Jim Morris's Thought of the Week (or month, or year, ...)
Wednesday, August 30, 2006
Software Product Management and the Endless Beta
When software delivers its service over the web, we can do business differently. Our ability to control our software’s environment—all of it that runs on our servers, anyway—is helpful. The ability to fix the software without distributing updates is helpful. Since interactions between users and servers go over the net, they can be recorded and replayed. All of these things can be exploited to support much better bug analysis and performance monitoring. Software just got easier!
On the other hand, being able to monitor users is complicated by their huge numbers on the net. What do you do with millions of traces of interactions? To begin with, the application should be seeded with exception conditions for which the programmer would like to receive a report. These reports can catalogue bugs or any other condition the writer considers noteworthy; e.g. a particular feature has been used in an unexpected way. Performance data should be aggregated.
An application should evolve to better serve its purpose. So, aside from providing a service that attracts users, it should be gathering information about what else the users might want or need. Thus, the tough decisions that product managers make about which features to include in the next release can be made in a more informed way. The product management team implements features in a rudimentary form and then tracks what the users do with them. In this model, features can be tried on small subsets of users until they prove dependable and popular.
posted by Jim Morris @ 2:39 PM