Think bigger, Think Agile Product Management
May 11, 2007
Agile business, Agile product, Agile team.
The topic of applying agile methodologies to your business processes seems to have become quite popular these days. The benefits of becoming agile are pretty attractive for software companies and yet many of them still do not clearly understand how they could make a smooth transition and whether this “agile” thing really works. I believe part of the confusion is owing to the fact that most of the information and discussions on this topic focus on software development aspect and forget that the companies are businesses and there is a little more to creating a great product than just code development. I prefer to look at the problem of becoming more agile and adaptive from a slightly higher level, product management (PM) level. PM for me is about product development and coordination of multiple teams and processes (development, customer support, marketing, management, sales). In my opinion agile product management (and product development of cause as its essential part) is what you should consider.
Re-visiting, re-fining and re-prioritizing product requirements, plus soliciting, and digesting customer feedback, for each development iteration, are the key ideas of the agile methodologies. In smaller companies your development team may be the one in charge of all of those functions but as your company grows you will most probably have more specialized roles and teams responsible for market requirement and customer feedback management (product managers, technical marketing, professional services, sales engineering …). Hence the agility of your whole business will depend on how well these different teams can interact with each other and especially with the development team to facilitate relevant development iterations and produce what your customers expect. This collaborative work of multiple teams is nothing else but your product management process. And in my opinion it is a very challenging task to make this process efficient and agile. Unfortunately just a white board and story cards may not be enough.
I strongly believe your company will benefit if it finds an appropriate tool to support its PM process. Ideally you will want to have a magic system that engages your development team, your product managers, your support team, and even customers to enable better collaboration, coordination, and reporting. Such a system should be as attractive to the development folks as to product managers, marketing, sales and management. Sure, it could be several systems but then they had better be all integrating and collaborating well with each other. As of today I do not really know of any standard open interfaces/frameworks allowing different vendors to create product management solutions that could smoothly interact and collaborate with each other (Eclipse may be?), so the choice is still usually a one vendor solution, or better (my own preference) an open source solution.
“Hybrid Agile” methodologies and the tools.
Most of the companies that are serious about their business are already agile. They have figured out a certain process that works well for them (with whatever tools they could find). Such companies may not follow strict SCRUM, or strict XP but they are agile. A hybrid agile methodology is often a real life situation.
For me it is always interesting to learn what kind of tools software companies use in support of their hybrid agile approaches. I like to talk to product managers of small/mid-size software companies and ask them about their current methods and tools: how they manage and prioritize product requirements and backlog of requests; how they plan, estimate and resource allocate/balance for each iteration; how they track project implementation and testing; how they gather customer feedback. In order to substantiate my statement that you should look for better tools let me give you a few examples here of what the companies use currently; you will see that the situation could be better.
MS Word and Excel for requirements/prioritization
Wikis for collaborative documentation
Jira for project planning/tracking
Jira for bugs and tasks tracking
MS Excel for requirements/prioritization
MS Excel and sketching tasks/stories on white boards for planning/tracking
Scrum plugin for MS Visual Studio Team System
MS Excel for requirements/prioritization
X-Planner and Wikis as the collaboration workspace
X-Planner for project planning/tracking
Bugzilla for backlog/bugs and task tracking
Shared Google spreadsheet for requirements/prioritization
Omniplan for resource allocation, and project planning/tracking
FogBugz for backlog/bugs and task tracking
MS Excel/salesforce.com for requirements/prioritization
MS Project/basecamphq.com/Excel for resource allocation, project planning/tracking
Bugzilla/Jira/Mantis/GNATS for task tracking
Amazingly enough there is abundance of agile companies that simply use Bugzilla/Mantis/GNATS and MS Excel. It is probably explained by popularity of the MS Excel and open-source bug-trackers (thousands of development teams have standardized their processes on those), lack of knowledge about better alternatives, and the fact that smaller companies tend to spend less money on tools in this area. My personal observations are that although these companies managed to stay agile their current processes could still be improved and accelerated. A number of new generation tools could help them in that:
- Smaller teams tend to do fine with just Wikis but in other cases it seems like more than two or three different tools have to be used to support the process properly. A bug-tracker (from R&D side) seems to always be in the picture and a requirements management tool (from PM side, usually Excel) also. Plus various project management, resource allocation, time tracking tools. My problem with this is the lack of integration hence a lot of manual work to keep all the tools synchronized plus perhaps burden on IT to support all those tools and integrate them:
- Spreadsheet tool (except Google’s) is not a collaborative environment.
- Sooner or later PM has to manually transfer the data from his spreadsheet to a bug-tracker and also to a project manager/time tracker.
- Every now and then PM has to update project status manually based on the status of individual tasks from the bug-tracker.
- Real-time detailed status of projects is not readily available
- The reporting capabilities are pretty poor in all these examples or achieved at the expense of significant manual work. Reporting can be extremely important for keeping your management and team members updated and informed. Good paper reports can actually be almost as effective as white boards and story cards during your agile team meetings.
- A few companies that have been more flexible and also educated on the available new generation tools for agile methodologies have made their transition to X-planner, MS team SCRUM plugin, RallyDev or VersionOne. Again, that is mostly to support agile development process. This is great! Although I still have a few concerns: these tools enforce a certain agile methodology (SCRUM or XP), new terminology, and may require significant ramp-up/learning time from your development team whereas you may want to do an agile variation of your own that does not disturb your current team specifics so much. Just think how Mozilla, Apache, MySQL, Eclipse projects would react if you suggested to them to abandon their Bugzillas and Mantises and switch to another “agile” request-tracker. The same is true for almost any software company.
- Customer feedback is usually managed by product managers, professional services and support organizations. Among the companies I talk to I do not see much adoption of customer feedback management tools although there are some interesting tools out there. IdeaScope seems to be one of them! Its advertised most valuable use seems to be mostly in combination with Featureplan product which may be an overkill for a smaller company, but still. (Featureplan, by the way, also enforces a certain pragmatic framework.)
There are some interesting new generation tools designed specifically to support agile methodologies. And yet the real challenge is for the companies that do not feel comfortable with radical changes of their current tooling or are reluctant to abandon their bug-trackers. There are fewer options for these companies (although I may be wrong).
- Smaller co-located teams probably will not need any specific tools. Wikis and any bug-tracker will be enough. Think about your future though, if you are growing, a day may come when your wiki/bug-tracker environment is not enough to accommodate your team/business dynamics.
- If your team is bigger, especially if it is distributed, and wants to do a strict SCRUM/XP and you can afford a significant change to your current processes, you should probably go with some of these new tools: RallyDev, VersionOne, X-Planner. They are great! Pick one that addresses your product managers’ and other non-developer’s needs also.
- The teams that want to transition to or improve the support for their existing agile processes but are not comfortable with radical changes, in my opinion should look for a tool that integrates with their Bugzilla, Mantis, GNATS, Retrospectiva, Jira, … and is designed to be a tool for product managers too. Make sure it has the release/iteration manager that allows you to plan and track your iterations and derive useful statistics.
The project I am involved with, Yoxel Systems , should be a really good fit for the last category mentioned above where you really care about smooth transition or are looking to support your hybrid “agile” approach. We try to create a flexible solution for product managers, field support, and developers that can accommodate a variety of agile methodologies, so Yoxel is also an alternative to RallyDev, VersionOne, X-Planner. On top of the release/iteration management aspect Yoxel tries to be very customer focused providing customer support, product knowledge management, and lightweight CRM capabilities too, all integrated into one product management system.
(Please try our demo accounts at http://yoxel.com)