Agile Product Management, Marketing, and More
Archive for October, 2008
The Economic Downturn
Oct 25th
What impact does the economic downturn have on your enterprise, and on the products you manage? The answer to that, truthfully, is unknown.
The product manager, as representative of the market, may be the role best suited to finding out what the market’s changes mean to your products. Calling customers to find out what effect the market’s turmoil has on their budgets and their short and intermediate term plans is probably a wise idea for all businesses, and the answers can only help to reduce the uncertainty.
What you do with the information is, of course, up to you and depends on the product and market. But don’t go unarmed into a battle of information.
Start with the Problem Statement
Oct 25th
For all the talk about bad products and poorly designed features, many companies don’t spend enough time listening to the market. Some think they do, but they listen passively and only hear feature requests. What really helps drive a great product is to listen actively and hear problems.
Working within the problem-solution paradigm inherently demands that we accurately understand what the problems are. If we start from the incorrect starting point, following the correct path to a solution will cause us to solve the wrong problem.
This interesting article goes into linguistics and considers not just the language of problem statements in terms of the words we choose to write them in, but from the broader perspective of the framework in which we think about them. Abstracting the problem to the correct level is essential in solving the problem, which is what we are all trying to do.
Agile Modeling
Oct 25th
One of the challenges I encounter with producing customer requirements for consumption by a development team is overcoming the barrier of understanding. My company does not have dedicated business analysts, so the role of translating customer needs to development needs and architecture is typically handled by our developers. What if they don’t see the big picture of what the user wants, but instead only see a large collection of unrelated detail?
Organizing requirments in categories can help to provide a mental framework, but navigation becomes difficult past 2-3 levels. It’s becoming apparent to me that in order to bridge the gap, some diagramming and coalescing of requirements into pictoral form must be provided. The question is, of the tens of possible types of models, which types are most effective and therefore worth the time?
I’ve found a site that details numerous types of models and diagrams, and provides handwritten examples of each. The silver-bullet takeway from this site is the following:
“know a wide variety of modeling techniques … apply the right artifact(s) for the situation at hand.”
My current problem is that I’ve been away from my brief studies in UML during my Master’s program for six years, and I don’t have command of that wide variety of modeling techniques. I have, therefore, just shared with you the newest item on my personal to-do list…
Non-functional Requirements Checklist
Oct 25th
When developing a new software application or working to architect a new platform, the realm of non-functional requirements poses a challenge to creativity. What *should* the system requirements be?
If your new application is to be built to integrate with older software, you must keep an eye towards the languages and frameworks used–because your new application may demand resources totally foreign to the older software you integrate with, which might demand a significant investment on the part of the users of your older application to move up to the new one.
Beyond that, what kind of performance metrics should be considered “ideal”? For an application that steps into new territory for your organization, is a response time for a particular operation of a particualr number of seconds (i.e. measurable) defensible, or even feasible? Is the proper definition of a response time more useful if it is generic, without reference to a particular number of seconds? Perhaps crafting measurable numbers that are derived from the measurements of competing software or similar applications is the answer.
More food for thought about areas to consider within the category of non-functional requirements can be consumed here.
EDIT: If you’re really in the mood for a load of categories to consider, here’s Wikipedia’s list of 70-odd Ilities for you to consider!