Figuring out and building requirements aren’t always easy. In a session this week at Magento Imagine, Rob Tull from Classy Llama shared his formula for creating requirements and developing a good relationship with your implementation partner.
Three core principles are critical to getting off on the right foot with your implementer:
- TRUST – establish a relationship of trust between a merchant and implementer
- CONVERSATION – merchants and implementation partners need to have a way to talk, converse and engage — there needs to be a lot of conversation between the two parties. You can’t afford to lose the human factor if you only communicate via email or text-based messages.
- ENGAGEMENT – it’s essential that you engage more than IT in the process. A merchant needs to be prepared to bring in many departments including the warehouse, customer service, IT, marketing, etc. to fully understand the scope of the engagement.
Tull also revealed 5 key truths that every merchant needs to keep in mind:
- Every project is different – requirements can’t be based on your competitors’ website; you need to fill in details about how you differentiate from them. That helps build the requirements and your brand.
- Business process matters – start by looking at the process rather than looking only for features. Then, identify the features that best support your business process.
- ROI is the best metric for whether a requirement or need is a good one. Try to understand what the return is for what you build. If you can’t figure out the return, then be cautious. That latest shiny feature or object may be cool, but it may not drive sales.
- Too much change is bad. Technology is complicated. Don’t try to implement many large projects at once; keep in mind that there is a change management component to support your project.
- There are many unknowns. There are things your implementer may not know about your business, or things you don’t know about the software. Be open to supporting the unknown and partnering to find a true solution.
Agile development is a great approach because you build software quickly and can get feedback that enables you to loop back into your commerce site. Traits of a seasoned, agile systems integrator include:
- Should be able to dig in and explore before building out a solution
- Highly accountable and communicates updates often
- Works in iterations and quickly (within weeks) and produces on a schedule determined by you and the development partner
- Plans for change, has a process to help you manage this within your company, and is flexible and adaptable to change
Rob went on to describe a few “how-to’s” for becoming more agile within merchant companies and highlighted a few tips that we, too, often communicate to our clients:
- Focus on the Minimal Viable Project (MVP) – What are the things you can’t launch without?
- Build working software quickly – within weeks the merchant’s partner needs to show you software and every week or two after that. When you see the site in the real world, you will be able to more easily identify which changes need to occur.
- Add features iteratively – build the most important features first and add over time; then, get feedback and measure your investment early and often so you know whether or not your efforts are working (or will work if you do beta releases).
Creating Requirements
People will often evaluate software and build a feature list that they want for their commerce sites. The overwhelming notion about features in this session was that you need to start with the shoppers flow, not features. Ask these questions to help you build your requirements list:
How do customers find you?
- How do they find what they want on your site?
- What affects their purchase decisions (price, product descriptions, discounts, etc)?
- How will they buy from you? Do they buy online, do they go to the brick and mortar store, etc?
Identify the transaction flow.
- How do you handle shipping?
- How do you collect taxes?
- How do you collect payments?
- How do you fulfill the order?
These questions lead to the million dollar question – what happens when you can’t ship the whole order at once? How do you handle the payment? How will you ship when it arrives? Will you ship partial orders? Will you wait to ship the whole order?
When you chase answers to the million dollar question (and all of the questions on the process surrounding that one question), it will often help you figure out the most complicated accounting, shipping, and receiving issues.
Create the User Stories
When you’ve answered the above questions, you have scratched the surface of requirements collection. The next step is to create the stories that developers can use. Often times the most important component of the story is the Reason.
A good formula for building stories is:
- As a ROLE, I want FEATURE, so that REASON
- As a scanner, I want a bar code on shipping info so that I don’t have to hand-write things
Including the “why” is important so that the developer can find the simpler solution to the problem.
Organize the Requirements
After you create this vast list of requirements, you need to organize and prioritize. For each sprint or cycle you will take the highest priority items of the backlog. You may never get through the backlog, but at the end you will get through the most important use cases.
Estimates
You should also understand how your partner estimates and the process they undergo for arriving at the estimate.
If you follow these tips with your partners, you’ll be well on your way to successful requirements gathering for your Magento Commerce implementation.