Custom Magento extension development for an American agency
Staylime engaged into custom extension development for Magento 2, providing a set of easy-to-use tools for creating and managing educational classes and events — all that to accelerate the class management process and contribute to a fast and enjoyable learning experience for end-users.
Todd Lininger Design LLC, a web and graphic
design agency, has been in business for almost 20 years. Todd Lininger successfully serves a versatile clientele
ranging from small customers to corporations both in the US and globally.
A few years back the agency got a chance to work with Meissner Sewing & Vacuum Centers, a regional leader
in sewing
machine production based in Northern California.
As part of the project, the agency was tasked with custom Magento extension development to introduce
class management functionality to the existing store.
Represented by a couple web pages with classes and corresponding sessions, the first version of the solution
provided for nothing but the ability to sign in to a session and view the registration list.
Aiming to introduce a custom Magento extension, Lininger also conceived the idea of turning the
solution into
a commercial product to be distributed on a subscription basis among other customers.
The custom Magento extension was to allow admins to create and manage educational courses on the website easily, whilst users
were supposed to have an ability to sign up for classes and educational events of their choice and keep up with their
schedules.
When the final project vision was worked out, the customer turned to an offshore software development copmany for
professional services. Unfortunately, the team failed to meet Todd’s expectations: the architecture of the delivered
custom Magento extension was poorly designed, it lacked the required scalability and featured a range of defects, making the quality
unacceptable for commercial use.
Disappointed with the outcome, Todd Lininger resumed his search for a Magento service provider. With the bitter experience of the previous engagement, the customer was looking for a professional full-service company that would ensure an end-to-end delivery of a commercial product in accordance with the official guidelines and best practices.
The major goal was to develop a Magento extension that would be reliable, efficient and highly scalable from both
architectural and functional perspectives. The new architecture was to ensure proper performance under heavy load and be flexible enough to support further modification and adaptation to upcoming versions of Magento.
As we discussed potential collaboration opportunities long before this project, Todd Lininger approached
Staylime again with a request for proposal for custom Magento extension redevelopment.
Prior to entrusting the project to a new vendor, Todd wanted to make sure he won’t burn his fingers for the second
time in a row. Thus, he asked us to assess the existing solution’s architecture and present our vision on
how to breathe new life into it.
Given our vast experience with Magento products and services, we proposed the most optimal approach, which Lininger fully approved. And that’s where our long-term partnership began.
Related serviceHave an idea of an awesome commercial extension for Magento?
Whether you are driven by the need of having unique functionality that is missing in any of the existing 5,660 extensions on the marketplace and myriads more beyond, or building an extension from scratch for sale, we’re happy to help by rendering a full spectrum of Magento extension development & customization services.
To ensure efficient and flexible process control and overall project transparency for both our customer and the team, we chose the iterative development approach for this project and split the process into short 2-week iterations.
The previous vendor hasn’t used any tools for change management, so, prior to starting any development activities, we employed a version control system, which enabled all members to easily monitor and track the module’s progress throughout the delivery lifecycle.
Product features for each release were prioritized and included in the backlog, so that the most critical functionality was implemented first. Such an approach provided for a continuous feedback loop, making it possible for the customer to introduce necessary changes in the course of the project.
Aiming to automate the QA part of the process and reduce the manual testing and potential errors caused by
human factor, we prepared a set of unit tests that were conducted prior to each release.
This allowed us to verify that all the delivered features function properly, ensuring the best possible quality of
the final solution and also optimizing development efforts. The list of features to be covered by the unit tests was
approved by the customer on every release. During the process, we continuously updated the initial tests so to support
new features requested by the customer.
Challenges
Establishing a robust project management and communication framework is one of the key
tasks for us to
tackle in order to ensure successful project delivery.
Unfortunately, there is always room for challenges and bottlenecks. On this project, the customer had a clear vision
of the product and its functionality. However, lacking the technical background in this particular field, he strongly
underestimated the complexity of some of the business-critical features.
In view of this, despite our recommendations, Todd sometimes insisted on going for simple workarounds to deliver
sophisticated product features that, in fact, required much more effort to be implemented properly.
Our team took the time to convince the customer that a rush approach like that is a taboo, especially when it comes to commercial software development. Of course, a workaround or two could have helped achieve results fast.
But when building a solution that should be able to evolve as the business grows in the long run, these kind of means
should be out of the question, as they would inevitably lead to:
Scalability and extensibility issues
Increase in TCO
Ever-growing technical debt
Integrity violation both in terms of extension functionality and its data structure
Decrease in commercial potential
Thanks to our strong expertise and hands-on experience with custom Magento extension development, we managed to explain the rationale behind the approach we proposed to the customer and make wise decisions during feature implementation. This approach helped us to ensure product scalability and significantly reduce the total cost of ownership.
Architecture
According to the plan, the new architecture was to inherit the key functional capabilities of the legacy
solution, yet be based on the latest technology stack.
The key objective was to come up with a robust technical solution that would meet the performance and scalability
requirements, also allowing for seamless implementation of new features. Compatibility considerations were on the
table too: the new architecture was also supposed to be able to inherit the data of the Magento 1 version.
Thus, prior to hopping on development, we spent one month conducting a thorough audit of the existing product, its architecture and functionality specifics. Having defined the main advantages and pitfalls of the legacy architecture, we designed a highly scalable custom Magento extension to allow Todd Lininger not only release a newly made product to the market, but also ensure that it was flexible enough to support further functionality growth.
Custom Magento extension functionality
With the new architecture on our hands, we proceeded to extension development.
We started out with the delivery of a minimum viable product to help the customer test product feasibility and make
data-driven decisions during future development iterations.
All in all, it took us 4 months to complete the MVP and 11 months to launch version 1.0.
The solution’s UI was redesigned, yet based on that of the existing module to ensure inheritance. Working on
the
MVP, we had been altering it in accordance with new feature requests coming from the customer.
Functionality-wise, the product’s full version is significantly different from the initial
custom Magento extension, boasting a whole range of advanced features that now provide for the full automation of the class management
process.
Some of the functionality highlights include:
List of classes & locationsWith the help of the custom Magento extension, users can view the list of available classes and proposed locations and keep
track of the remaining seats for each class.
Class registrationLearners are able to easily sign in to a class or an event they are interested from their personal account on the website.
Assigned instructorsUsers can learn who is assigned as an instructor for each class they plan to attend.
ScheduleWhen users sign up for a class, a corresponding event with relevant information such as time, location, and other is added to their schedule.
CalendarAll the classes a user signs up for will be displayed in a personal calendar so that to keep him or her informed on the upcoming events.
Wait listsIn case a class is unavailable or fully booked, users can add themselves to a wait list and get notified when an opportunity to attend the class arises.
Class historyA list of previous classes and events can be viewed on a separate page.
Email notificationsUsers get instant notifications about a successful class registration, upcoming classes, schedule changes, and other reminders to always keep up with the latest news.
SurveysTo allow customers to collect learners’ feedback and discover areas for improvement, users are asked to complete a short survey form upon attending each class.
Thus, stores can now take advantage of the custom Magento extension’s functionality when in need of creating classes for learners, whilst their customers can get access to information regarding their courses.
Results & partnership
We have been challenged with an environment of frequently changing product requirements while working on this project.
However, Staylime managed to establish a robust delivery framework where product features were
logically prioritized and gradually implemented with a clean and well-thought-through code.
Besides, our team came across an interesting challenge during custom Magento extension development: that is to find a way of
transferring large sets of highly interdependent data of Class Manager when migrating from Magento 1 to Magento 2.
To ensure data integrity and completeness, we developed a custom script that enables
seamless
migration of data from the existing version of the extension to its Magento 2 counterpart. The script
will
definitely be of help on further migration projects for Todd Lininger’s customers that we are planning to commence
shortly.
Highly functional and scalable, the delivered extension has exceeded customer’s expectations.
It took nothing for the custom Magento extension to prove its promising potential: Todd Lininger is already
reaping the commercial benefits from launching the solution among the existing clientele.
The final product reflected initial specifications because of Staylime’s detailed reporting and frequent communication.
Their transparency also extended to hours worked and estimate accuracy. Staylime displayed excellent professionalism and a strong desire to create an optimized product.
Todd LiningerOwner, Todd Lininger Design
Four Todd’s customers — large well-established ecommerce stores — confirm the extension’s positive impact on the bottom line.
As of now, Todd Lininger is almost ready for the commercial launch of the custom Magento extension, making
final amendments to subscription tiers.
With ambitious plans for further growth, the customer is actively elaborating new functionality enhancements and
integrations, whilst we continue to provide support, releasing updates regularly.
Satisfied with development results, Todd Lininger decided to keep on growing our productive partnership and enthusiastically engaged us into collaboration with some of his current customers. Being a full-cycle Magento development company, Staylime became a perfect candidate to help them perform Magento migration along with Class Manager extension installation, third-party extension setup, theme design, and frontend development.