Creating a useful product management environment
February 26, 2008
More development in the area of customizing and integrating bug-tracking and project management tools to create a useful product management environment: Product management nirvana
I have pointed earlier to the effort started at Splunk in my post Bookmark: Automating and opening up product planning . It is quite interesting to see what they are trying to do. Once again, I am just glad that the vision of our project Yoxel Agile Product Management is aligned with what real agile product management teams try to address. Here is what I mean by that:
Think bigger, Think Agile Product Management
Bridging the worlds of PLM and CRM
Bugzilla -> Yoxel synchronization module
Technical reporting with YOXEL SW: HTML, PDF, EXCEL
Project management software is social software
Release planning with YOXEL SW: Starting a new release
Release planning with YOXEL SW: Collaborative planning session
Cheers!
Rolling wave planning compromise.
February 14, 2008
David @ 37signals is saying, You do not need a product road map:
It’s better to turn customers away than to placate their instincts and lure them in with vague promises. It’s incredibly rare that a single feature will truly make or break your chance with a customer. If your software is a good enough fit, most people can make do without that one or two things that they’d like to see.
John @ SplicedNetworks is saying, Goodbye Roadmap:
The concept of a roadmap has been thrown out, replaced with list of initial functional features . These features are currently in development, and will be the initial AppOS 4.0 release. AppOS 4.0 won’t be the bells and whistles release initially, instead it will be functional. Features will be expanded and added based on customer feedback , as well as our own use of the product.
These are agile companies talking. I support this concept and I am pretty sure they know what they are talking about. Our backlog is our idea of a road map, it is telling us what could be coming in the future releases (most probably the higher priority items) although you can not really say when exactly and in which order. One or two iterations ahead the situation is much clearer but beyond that not really, it is all driven by the changing market requirements.
But then, even scrum masters keep bringing up the concept of the rolling wave planning, which basically means: lets still try to maintain our road map and long term release plans, even though we’re agile. Isn’t that somewhat contradictory to the iterative “agile” concept which tells you that it does not make much sense to predict that far ahead?
I think Jerry Manas expressed it very well in his comment to Forced Into ‘Agile’:
But even in the Defense Industry, Rolling Wave scheduling is becoming the norm, where each horizon is planned at a more granular level as it approaches (although the whole project is laid out up front at a higher level). I look at Rolling Wave as a hybrid between Agile and BDUF (and it’s appropriate for most projects most of the time).
So is the rolling wave a vehicle for transition to agile or a means to keep your business/management/VC folks happy (by giving them a plan that wont survive the reality)? What is your take on this issue? Do you create product road maps in your agile environment? Do you use the rolling wave concept? How practical is that? It would be very curious to learn.
Our product Yoxel Agile Product Management is quite straight forward in this sense. You’ve got your backlog and your iterations, which we also call incremental releases, because for us those are the same (~1month: implementation+testing). No rolling wave with long term release plans and even longer term road map plans. You can start planning next iteration while you’re implementing/testing one and so you will have a good idea for what is coming in a month or two but beyond that your best bet is the prioritized baclkog :).
Cheers!
Bookmark: Is Distributed Agile Development as Hard as it Looks?
January 24, 2008
An interesting and, in my opinion, very valid opinion expressed in Is Distributed Agile Development as Hard as it Looks?, by Dean Leffingwell.
… of all the challenges enterprises face in adopting large-scale agile, the problem of distributed teams ranks fairly low on the list.
While everyone understands the virtues of face to face communication - (agile manifesto principle: The most efficient and effective method of conveying information to and within a development team is face-to-face conversation) - at the same time, no one derides distributed open source communities, which in some facets are paragons of agility, for the fact that team members are not collocated, and no one challenges the quality, productivity or delivery velocity of that model.
Bookmark: Agile SCM - Review of 2007 and Predictions for 2008
January 16, 2008
Agile SCM - Review of 2007 and Predictions for 2008, written by Brad Appleton, Robert Cowham and Steve Berczuk. An interesting read.
Installable vs. Hosted
January 8, 2008
This 37signals’ post started a long thread of interesting comments Ask 37signals: Installable software? Quite insightful opinions although mostly leaning towards the hosted SaaS approach.
It would be highly unlikely that we’d sell installable software. This question is actually more about business than it is about software.
- We’d be a different company
- Hosted = Controlled development and deployment environment
- Installable = Lots of room for things to go wrong
- Backward compatibility headaches
- Upgrade cycles
And then also this interesting follow up Installable vs. Hosted , by Kevin Dangoor, in defense of installable software.
However, I think for a many apps, quite a few potential customers will be left behind by only offering a hosted version.
I’ve seen a number of products start off with one approach and then add the other. I can name two off the top of my head that started off installable and added a hosted option.
Our experience is quite opposite, we have started with a hosted version and later added an installable one. We distribute a free open source version of our product so if you study and de-bug our code it is fine with us, that only helps us make it better
The SaaS model was a good start, it helped us to mature our product and test the market. It is a significant part of our offering. One of the main reasons though vendor companies choose SaaS model is because it is easier for them. You do not have to worry about all those bullets expressed by 37signals. Is it always a good model for your customer? Not always, if you start paying more attention to your data security and privacy.
Our SaaS/OnDemand version offers a number of free services and we do not lock-in your data (you can always take it and move to your own server). And still, we see that more users prefer to download our open source version and install it on their premises (even though it takes some of their precious time). I bet the data security (in our case we are talking about release/project/feature plans) and in some cases compliance with Sarbanes-Oxley Act plays significant role in their decision making process. We are not Google or Salesforce so we did not expect that everyone would trust us with their critical business and customer related data so we went for an installable version too. And it has been quite rewarding: more users, more useful feedback, our code improved significantly, even the article in O3 magazine.
Our software is riding on UAMP (Unix,Apache,MySQL,PHP) stack which makes it easier to produce the installable version of our product. The release and testing process actually makes our SaaS solution (http://yoxel.com) much more robust. It was quite a challenge and alot of work to create a proper development infrastructure and to start producing the installable version but now after over a year of releasing it I should say it is not that hard anymore.
There are many advantages for a vendor to use SaaS model but here are a few that I personally like in the installable open source software model too:
- More potential customers who otherwise would be concerned with SaaS
- We are not responsible for the security and privacy of customer servers/data
- You can test at a few selected beta-sites before rolling out new version to everyone
- Our users help us make our software much better by seeing our code
We really like our SaaS model too. Would the trust/security/privacy issue be easily solvable this would be just enough, I think. But at the moment the combination of hosted and installable makes alot of sense to us. Appliance is a good model too, unfortunately we have not reached that stage yet. A good example is SugarCRM which offers all three models!
Enjoy!
Bookmark: Automating and opening up product planning
December 17, 2007
Here is an interesting post by Christina Noren, Automating and opening up product planning. Yet another example of a team trying to hack and integrate a few existing tools to build a useful product management flow. The problem I have been describing in my earlier post, Think bigger, Think Agile Product Management. Seems like many teams face the same inconvenience and some new, more integrated tools could help.
So the experiment: We’re hacking Jira, our bug tracking system, in order to automate the entire product planning and marketing process and facilitate real-time communication back to customers, internal stakeholders and even the community at large via our public roadmap.
…
This means that we setting it up to automatically bring enhancement requests from our SugarCRM system into a PM work queue within Jira; asking PMs to enter call reports and market datapoints; linking all of these to problem statements;
What I especially like about this post is that it confirms our efforts with our project Yoxel Systems. Yoxel is exactly that integrated system: request tracking, release planning/tracking, key CRM capabilities, and even customer portals! And if you really like your Jira, Bugzilla, Mantis, GNATS, Yoxel can connect to them too.
Customers with enhancement requests tracked through the support portal will be able to see how they’ve been triaged, how the problem has been interpreted, and what requirements are at what stage of delivery to meet the request.The public roadmap will be maintained in real time, with the potential for drilldown into more of what’s behind each listed feature.
Once again, Bridging the worlds of PLM and CRM seems to be creating value and helping you build better products.
Check out our demo accounts as http://yoxel.com
Why do organizations fall back to the old, comfortable waterfall?
December 7, 2007
Here is another article that I really liked: The (Not-so) Agile Waterfall, by Ken Knapton.
I have recently been made aware of yet another organization that says they are “doing agile” when in fact they are not. They are in fact following almost a text-book example of the waterfall method, but using agile terms such as “iteration” and calling it agile. They define every iteration up front, and lock themselves into dates when each iteration will be completed, even for projects that will last six months or longer. The development team is strictly held to meeting these dates, and product is not delivered until the end of the project.
And why does this happen? Ken suggest one reason:
As to the question of why organizations fall back to the old, comfortable waterfall, I believe it comes down to a very simple answer: metrics. Upper management likes to have nice metrics to track the progress of their organization, and the easiest metric to track is on-time delivery.
I guess for the same reason some commercial ALM tools lure you into this trap too. They sell their tools to those managers after all. Their marketing works way too well promoting “agile”:
- Check out RallyDev’s demo: slide#2 talks about roadmap, release, iteration planning. What I get from this is that they suggest to plan a release (3-6 times a year) and lock iterations within that plan. I am not exactly sure what good a 4months plan with locked iterations will do if after your first iteration (2weeks to 1month) your customer feedback shows that you need to re-prioritize and change half of the plan. Or, aren’t you delivering functional software to your customers after each iteration for feedback?
- How about VersionOne’s datasheet: One of the key features Drag-n-Drop release and iteration planning. As for agile, I understand iteration planning or just release planning (if it is a short incremental one, equivivalent to an iteration), but together? This probably means again, create a waterfall plan and lock your iterations within it. Is that agile?
In general if you’re trying to be agile you will have hard times planning something far away in the future. Giving dates for your future releases and roadmap milestones is quite a challenge:
CRM2.0: customer-life-cycle-management
December 7, 2007
Yet another source talks about new generation of CRM solutions: Customer Life Cycle Management
The big difference between CRM and CLM is that with CRM you are communicating to segments of users when you believe they need something. CLM is more about one to one communication – it’s about knowing what they want and delivering it when they want it.
Should we call it CRM2.0? Since it comes down to “delivering it when they want it” and for better customer retention, I guess there is no other way but to link into Product Life Cycle Management also.
Integrated data systems are important for this approach.
So here we go again: Bridging the worlds of PLM and CRM
PS: Hey, don’t forget to check out our demo accounts at http://yoxel.com
In response to the comment on GANTT in agile environment
“Demise” wasn’t really about the difficulty of Gantt charts inside an iteration so much as it was the value (or lack thereof) of Gantt charts within an iteration. Sure, you can probably make it easy at a theoretical level, but what about in real practice? Here are some common events that make it difficult to create a Gantt chart in the beginning and then never have to mess with it again: …
Sure, the value of the Gantt chart is not huge. I mostly operate with just an ordered list of tasks when planning and tracking an iteration and for the most part it is good enough. But if you start attaching estimates and possibly resources to these tasks (many agile teams do that), why not visualize the list? I think there is value in visualizing your plan or current state of an iteration. As long as the cost of generating such a Gantt chart from my list of tasks is very low I will use it.
I agree that the list of tasks may change, dependencies may change, priorities will change. But for me that just means that my Gantt chart as a visual reflection of the list changes accordingly. May be I am not explaining it well, but I have a specific example of a system which re-generates such a Gantt chart automatically as soon as you change your list and so I gladly use it, although I can definitely do without it too. This is quite a non-traditional application of Gantt chart I think.
BTW, Scrum actually suggests to stick to your iteration plan and resist any changes to your list of tasks until you have finished the iteration (one month). So in our case we try to follow that, we do de-commit tasks and reduce the list of tasks if priorities change or if we can not finish some in time but we avoid adding new tasks into the current iteration.
Well, there are always critical tasks that get in a way of your regular iterations. We treat them differently:
Urgent vs. Planned
Here is a few more ideas regarding the value of Gantt chart in agile environment :
Is GANTT chart the real issue here?
In its traditional sense as a static master plan of your project I would agree, there is not much value in Gantts. But in its revised dynamic interpretation as a reflection of your current iteration state I still think these charts could be a useful visualization tool even for agile teams. And please, do not get me wrong, I am not saying that all agile teams should be using these new dynamic Gantts. I do think that a prioritized list of tasks in most cases is more than enough. And actually, the same way I would not push for any kind of a burndown chart.
The future looks bright (for agile teams)!
October 17, 2007
This post by Alex Iskold, The Future of Software Development, has circulated the web very fast . I have already seen many blogs referring to his article and it has been even mentioned in LinkedIn’s Q&A section. I share the views expressed by Alex and wanted to bookmark this link on my blog too :).
Equipped with a modern programming language, great libraries, and agile methods, a couple of smart guys in the garage can get things done much better and faster than an army of mediocre developers.
I think that now one should write how those smart guys in the garage can market and promote their product better than an army of marketeers in big enterprises. I think Bob Walsh’s blog may have a few suggestions in that regard :).