Herding Robots - Continuous Integration for the Client
It's been quite some time since I spoke at a conference. It was part personal challenge and part desire to share what we've been working on. It's Drupal 8, Continuous Integration and automated testing that's got me more excited about technology than I've been for what seems like forever. At the end of January 2018, I spoke at Podcamp Halifax. This is a synopsis of my talk. In my talk, I made reference to the new Shoreline Consulting website and branding. In context: Why I felt it was important to drink the kool-aid of Continuous Integration, and build it in to our own practice.
For us, Continuous Integration is a philosophy based on the safe, reliable deployment of new features and bug fixes entered in the project backlog. It's a method to keep websites safe, fresh, up-to-date and evolving in tandem with ever changing needs.
I do not love repetitive things, and have committed much of my career to working with clients to optimize their businesses. It was time to get on board with next generation delivery methods.
Continuous Integration (CI) services have been created in order to solve the problem of developers having to wait for highly orchestrated - and often somewhat manual processes of weekly builds. CI eliminates the old wild-west method of developers using FTP to copy files on actual live websites. Some updates would even require the client to stop entering content for a week while developers integrate a new feature.
Once the site is automatically built, we run a battery of customized tests against all of the website's functionality. These tests can be as simple as creating pages with specific titles, or a complex task like having the Robot add an item to an e-commerce shopping cart, and testing the check out process.
Another series of tests run at this time includes Visual Regression testing. In this process, we take a snapshot of the live site and the new build, and compare pixel per pixel differences between the two. The team can quickly hone in on something which may have snuck by. Maybe a font is missing, or a page has changed that shouldn't. This is all flushed out in a visual report via Visual Regression Testing.
Now we've got reports automatically generated the let us know the new features are coded to standard, functionality works, and it's looking good. Once we've had a look through our own final manual tests, we're ready to share the newly tested work with the world. We deploy a very similar automated method that further tests, and integrates all of the new work on the fly with the live website.
What is all this stuff about, and why should your web team be following a similar philosophy? It's about the quality of delivery for new features, and fixes. The process is about confidently keeping client websites fresh in a safe manner. It's a workflow which represents your organization's ever-changing goals online.
When we think of platforms like Facebook and Instagram, they're constantly rolling out new features based on analytics and behavioural data collected. It's these same principles which drive our workflows. This quality of delivery doesn't need to be reserved for big teams or big budgets.
Find out how we can build your next project this way, or even retro-fit your current one. Free up your team. Sleep better, and deliver a better product.
Always Move Forward.