Since 2005, MaRS Discovery District has helped science, technology and social entrepreneurs get the spark they need by offering business tools, partnerships, guidance and financial planning.
It’s a place that actively nurtures innovation and helps create global enterprises that contribute to Canada’s economic and social development. Ideas take flight here and percolate in the halls, offices and corners of the MaRS campus and filter down to its products and services including the marsdd.com website.
In 2013 Hypenotic was engaged with a simple goal: to make the marsdd.com site responsive. This task, that we estimated at two weeks worth of work, ended up having 3 major phases, taking close to a year to complete and as there was no redesign involved, no web visitor would ever see.
After looking into the engine of the marsdd.com site, we found several challenges:
- Even though the site from the user perspective gave the illusion of 1 unified site, it was in-fact made up of multiple WordPress installs – one install for each navigation item.
- Since the backend of the site had evolved over several years, different cooks had tinkered in the kitchen. Code was unclear, uncommented and generally a mess throughout the site.
- Making the site responsive meant that multiple stylesheets needed to be changed, which was nearly impossible based on how the site was architected.
These challenges made maintenance and scalability extremely convoluted and resulted in legacy “spaghetti” code that needed to be sifted through and untangled.
We decided that the marsdd.com site needed a fundamental overhaul, broken into 3 major phases:
- Merge the individual “sites” into 1 unified WordPress install thereby consolidating the disparate sites into a single platform.
- Make the marsdd.com responsive so that the site would reform based on device (mobile, tablet, desktop).
- Spend time refactoring the code, cleaning up templates, reducing CCS bloat and making the code developer friendly.
Success factor #1: Process of discovery
We often don’t have a full understanding of the problem nor solution at the beginning of a project. As a result, development is typically a process of discovery: the team learns what needs to be developed as the project evolves. This can lead to frequent “scope creep” and moves the goal posts as the project progresses.
Everyone understood that this was a process. This was a discovery. Everyone understood that in order to find the solution, we needed to first dig into the problem which took time and resources. We sometimes couldn’t foresee how far the rabbit hole went down and if we’d find anything at the bottom.
Success factor #2: Partnership approach
With all our clients we work best when there is a partnership approach rather than a typical client/vendor relationship. We learn from each other and together we make better business and project decisions. Communication is a key component of this approach.
We not only had more formal regular weekly meetings, but everyone was also available via chat and instant messenger. This seems like such a small thing, but having daily/hourly communication to informally discuss solutions and directions made a big impact and helped make the project agile and fluid. We were able to lift our heads frequently and change direction quickly based on what we found in those rabbit holes.
Success factor #3: Ship solutions often
Focusing on the minimum viable product meant that we could ship code to the live site often (daily/weekly). Even if the solution wasn’t prefect, we could publish the code and then iterate on it.
Using Github for our code repository we were also able to push to our testing site, have multiple developers regularly commit code and roll back quickly if things didn’t go as planned.