Many Magento companies claim to use an “Agile” methodology when undertaking Magento site builds. The mere word implies nimble and quick. And who would not want that? But what it really means is dividing tasks into short phases of work, typically 3-4 weeks with “frequent reassessment and adaptation of the project plan”. And when you think about it, who wants that?
When you choose Magento as your eCommerce solution, you are actually choosing an application package not a product. Products are installed and work out of the box. Think MS Office. Install it, open and go. Packages need to be “implemented” and that’s a whole different kettle of fish. And by “kettle of fish” we mean implementation methodology!
You might have heard of “Waterfall” which is touted as the antithesis of Agile. Not using Waterfall for a Magento site build is seen as a good decision. And it is. Because Waterfall is for custom software development not package implementation. So you would never use Waterfall for a Magento site build.
So why not Agile? Well because Agile is also a methodology for custom software development. It is particularly good for product development or large custom builds that may take one or more years to complete. It’s logical to assume that to define the requirements for that size of software application in totality prior to design and build is a big ask for anyone and so prone to error. It’s also logical to assume that in the course of a year things will change and the requirements along with them. So it makes sense to break up these large projects into smaller deliverables using an iterative approach such as provided by Agile. But Magento builds are not custom software development and, by comparison, are not large projects. So on both fronts, Agile is not the answer.
So if not Waterfall and if not Agile then what? Well the answer is an Implementation Methodology. Implementation Methodologies are specific to the actual package being implemented. Think Oracle Financials and AIM. But they all follow a basic roadmap.
Work out what you want based on your overall business model and how you plan to conduct business online. Choose a suitable eCommerce solution e.g. Magento.
Compare what you want with what you get and decide how to close the gap e.g. AddOns, Custom Code, Third Party integration or manual work around.
Work out the information architecture for the site i.e. what information you want to present and develop a wireframe of how you will present it. Then develop a graphic design based on the wireframe. Make sure you review it against the native capability of your chosen solution to identify any additional Addons, custom code or integrations. At this stage you might decide to modify your design to create a better fit with your solution either to reduce build costs and/or avoid modifications that will break the framework or increase maintenance costs. To undertake the review you will need Magento expertise on hand.
Install Magento CE or Magento Enterprise. Install any identified AddOns. Develop any custom functionality. Integrate the design. Configure the store setting up tax, shipping and payment modules. Load sample data. Undertake appropriate unit testing targeting the “gaps”.
Once the site is built, it needs to go through independent site testing often referred to as “QA” to ensure it meets the stated requirements. This should be done with a subset of the actual product catalog and indicative information pages and should test for both expected and unexpected (exception) scenarios. If some of the requirements are non-functional, which they should be, then these should also be tested. So you might also do performance tests such as load testing.
Once past site testing, it would handed over for formal user acceptance testing. Prior to that the user test team might undertake some training and so it is an opportunity to test that as well. User testing needs to focus on whether the design has been implemented correctly and whether the functionality works for guests, new customers and returning customers. It is also a good idea to do sample exception testing to make sure when things go wrong they are handled correctly.
Once the site passes User Testing, you would undertake formal training with particular focus on the AddOns and customizations that support content since these won’t be covered in the Magento User Manual.
A lot happens here behind the scenes in terms of handover from development to operations but once the site is ready and the content is ready and the people are ready, you can go live.
Once live, the site is in support mode. And that is where DevOps comes in with the Development team and the Operations team working in tandem to fine tune the site for maximum performance. Of course they will also implement changes to adapt or improve the site functionality.
Once again Agile plays no role in DevOps. Three to four weeks sprints to make changes is too slow. By comparison, DevOps allows for multiple changes occurring concurrently to bring those changes to market much faster and more reliably than Agile.
We say “DevOps”, they say “That’s fast”.
Find out how we can increase your online profit through professional end-to-end management of your Magento eCommerce platform.