What do I mean by high-level plan? The kind of plan that outlines product's functionality that needs to be developed but not going into too many details that are done afterwards. This kind of plan helps deciding functionality development order (priority) or even eliminating non-necessary ones. A great high level plan isn't just a set of functional requirements, but rather a product vision with obvious goal in mind.
In Agile terms these kind of functionality documentation is the Backlog. We're used to its content - user stories - as defined by Mike Cohn that go:
As a role I want functionality so that benefit.
But as we know from experience this may lead to:
- unusable stories
Like: As a visitor I want to login so that I'm allowed to do stuff.
But how would one improve this user story? What other benefits can we describe that are more relevant than ...do stuff?
- flat list of unmanageable seemingly unrelated stories
Hard to see which ones are related or not (they shouldn't be but I don't think we can totally avoid this), or even which ones provide means for achieving the same high-level goal.
- too many unrelated goals/benefits
Goals just because we need to write them but without actual business value benefit - the high level business goal in mind.
As I have experienced there are more ways to write bad/unusable user stories than writing really good ones. And it's easy to get to the wrong tracks even if you're careful. And how can one write better user stories when they are working on their own product, so they don't have means to learn from other fellow team members, and they have to provide user stories now. Not after 6 months of learning.
That's why I would like to know about alternatives to planning a project on the high level that ensures better feature description and relevancy. I've heard of Effect mapping that seems very good in keeping goal focus and filtering relevant from irrelevant but I don't have any experience with it. I can imagine that setting a goal can be crucial. So if you set it wrong, everything else is wrong as well. Or better said irrelevant.
The main question is: Can we follow some easy to understand and narrow guideline that will lead us to a great high-level plan. A guideline that allows less errors and better leads to valuable plan/results. I can see myself writing user stories afterwards that describe features to implement. The problem with user stories is that it's easy to get lost in them. If you don't have lots of experience with user stories that may hinder your product because they distract you from the actual goal. All you can see are product features described in user stories. Something else above that would allow us to create better stories and also easily filter out those that are extremely relevant.
What are other more reliable approaches that simple user stories planning that are used in agile planning?
Focus of this question
I have been writing user stories on several projects in the past and know exactly how hard and vague this task is. I've also seen that writing these is even harder when you're writing them for your own project/product. You can easily over-design your product or incorrectly prioritise/evaluate features.
So I would like to write feature set for my coming product in a way they are actually relevant and prioritise them accordingly to reach my goal as reliably as possible.
So feature relevancy and quality along with goal-oriented prioritisation. And I'm talking about measurable quantitative goals like
20% month over month income increase or
5% sale conversion rate of user visits
and not something vague like increase users or increase sales.
We can see that writing relevant features that support these goals is much harder.