Magento Requirements Analysis
By Brian Holecko Certified Magento Developer at InteractOne

Avoid budget-busters and broken deadlines.

A Magento Requirements analysis will help to avoid one of the most common budget-busters – your team developed the wrong functionality. This will happen when communication is not clear, especially on large projects. In order to reduce miscommunications, you need to track requirements as they emerge in a spreadsheet with both business and technical requirements side-by-side. Business requirements tend to be generalized whereas technical requirements tend to be specific and detailed. Oftentimes, a single business requirement needs to be broken down into multiple technical requirements.

Prior to Magento, I was an enterprise Java developer for highly customized systems. I also attended a certification class which taught this method which is easily transferable to Magento systems and shines brightest when dealing with large requirement sets. Brand new sites need to consider this approach.

A good plan goes a long way.

Create a spreadsheet with the following headers: #, Business Requirement, Technical Requirement, Est. Hours. When capturing a business requirement, put it in plain English so anybody can understand. Then, translate this into one or more technical requirements which allows tech jargon only a developer can understand. The business requirements need to clearly communicate what the client is asking for without referencing technical requirements. By laying this all out, both sides will be able to spot conflicting and/or missing requirements before development starts.

Next, provide estimates at the technical requirements level, summing them into a total estimate at the bottom. Next, add an additional 20% increase in hours for QA to ensure the requirements are delivered accurately since not all requirements can be captured down to the fine details.

If the list of business requirements is long, add an additional column to categorize the requirements by a system attribute like usability, scalability, UX, etc. There should not be no more than 3-5 of these attributes/categories and need to be defined before defining any requirements. This guides the discussion around the attributes/categories most desirable and will result in an attribute-driven approach to designing and developing the site.

The above method will prevent your team from breaking budgets and missing deadlines on large projects as well as providing an attribute-driven architecture of the store.