How to Manage Your New Project
As a first-time entrepreneur there’s so many things we don’t know and so many processes to manage. Ok, so perhaps you’ve run a crowdfunding campaign and secured funding, even hired your first employees and you’re looking for the best way to manage the entire product development of your idea. Well, I’m happy to tell you that Agile methodology really comes in handy in situations like this. I would recommend you to master it if you want to avoid delays, money loss and low quality product.
Today I want to discuss with you the agile epic and how to define high level requirements and user stories for a software project you are involved with. This is critical for scoping of your project.
Agile planning uses epics and user stories (later in the text I’ll describe what exactly these are) as a way to write high-level requirements and acceptance criteria for projects. As the stakeholder (business owner) for the project, the goal is to write epics and user stories with just enough information so you can start building the project, but also leave enough room to shift gears or build more.
You can write epics and user stories on something as simple as an index card, or you can use online tools like Trello, Jira or Wrike.
What are epics and user stories?
Epics and user stories describe an audience, problem, and reason. What you’re building is a solution to the problem. What makes epics different than user stories is they are large stories too big to implement in a single iteration so they are broken into smaller, manageable chunks. Building epics helps make sure you define high level requirements before diving into the details of a project, so it’s recommended to start from there when you’re building out a project.
Write an agile epic
Epics are large user stories (ones that would take more than a few weeks to develop and test). If possible, split a large story or epic into smaller stories that can be completed within an iteration.
What to include
- Epic title – A summary of the high-level requirements. This is often titled a topic. For example, if you’re an ecommerce business an epic title may be Purchases
- Epic user story – A high-level epic description to the audience, problem, and reason that can then be broken down to smaller user stories
- Acceptance criteria – A description of what is required in order to create a solution to the user story.
- Included user stories – A list of the included user stories to keep track of the epic project.
Write an user story
User stories describe your user and the reason why they need to use the service you’re building. Each project requires a user story when building a service so you’ll meet your user’s needs.
Informal user story format
(Audience) want (something).
For example, a user story can be, “Customers want to purchase from a mobile app.”
Formal user story format
As a (role) I want (something) so that (benefit).
For example, a user story can be, “As a customer I want to purchase from your store from a mobile app so that I can shop on the go.”
What to include:
- User story – Describe the audience and what they want in an informal or formal format.
- Priority – Use a scale of one to ten or other prioritization approaches such as Low, Medium or High. You want to indicate the priority somehow in case you drop the deck of cards, or if you’re using online tools.
- Estimate size – Estimate the effort to implement a story with user story points. Story points are arbitrary numbers that indicate effort. Sometimes it’s great to start with hours worked.
- Non-functional requirements – Usage requirements are similar to use cases whereas technical requirements are similar to software functionality.
For example, a use case may be, “Customers want to purchase from a mobile device.” Whereas a technical requirement may be,“Customers items will be stored in the shopping cart.”
I would love to hear your opinions, questions or subjects you wish for me to cover.
Please post your feedback to me via the discussion boards below or visit my website at www.mikehamilton.com.au.
To start a crowdfunding project to gather funds for your software product idea, learn more here.