At some point, all of us have probably had to deal with some sort of automotive recall. As annoying as they are for us, most recalls aren’t usually a big deal for the automakers, as most recalls are inexpensive parts. But these recalls can be damaging to the brand, ultimately resulting in a loss in sales and, more importantly, a decline in consumer confidence. It’s estimated that, in 2010, during Toyota’s huge gas pedal recall, the value of their cars dropped by 3% and sales losses totaled between $700 and $800 million.
Unlike automotive recalls, web performance defects are much costlier to fix once they’re in the hands of the consumer. According to IBM’s Systems Sciences Institute, the cost to fix an error found after product release was four to five times as much as one uncovered during design, and up to 100 times more than one identified in the maintenance phase. Moreover, in an industry as competitive as technology, both consumer confidence and the end user experience is key. Believe it or not, every millisecond counts. If you can’t deliver feature-rich technology at lightning speed, rest assured that your competitors will.
You may be thinking: “Do a few milliseconds really make a difference to consumers?” In a word – yes! Kissmetrics estimates that a one-second delay in page load decreases conversions by 7% and that 40% of people abandon a website that takes more than three seconds to load. Forty percent…in three seconds – that’s less than the time it takes to read this paragraph.
Given these statistics then, why would you wait until your application goes live to evaluate how your site is performing?
Assimilating Optimization into Continuous Integration
If you’re reading this, you’re most likely one of the more than 66% of organizations currently using continuous integration as part of your development lifecycle. (If you’re in the other 34%, you can read more about continuous integration here.)
To recap, continuous integration differentiates itself from other development practices as it is comprised of discrete, automated builds and tests for each code check-in, thereby speeding up the detection and identification of potential defects. In today’s fast paced environment, implementing continuous integration makes sense from both a cost and innovation perspective as you want your developers building features – not tracking down defects.
If you’re using continuous integration, your development workflow might look a bit like the image below, with a continuous integration server (e.g., Jenkins or Bamboo) built into the middle of your delivery toolchain. Your continuous integration server plays a key role in preventing defects down the line and in speeding up delivery by running code analyses automatically, and then reporting on the success or failure of each code change as they are delivered to the repository.
In understanding the importance of testing for optimization early on in the development process, it makes sense, therefore, to incorporate a set of parallel performance checks at this very critical stage. This means you should be testing for performance issues using the same tools and methods you would use to test for functionality issues. Put simply, treat performance issues just as you would any bug by integrating optimization testing into your continuous integration process.
If you are using or plan to use Jenkins for your continuous integration builds, you can incorporate the Rigor Optimization plugin to test performance as a discrete step in your build process. Choose to launch one or more Rigor Optimization tests and fail your Jenkins build if the results are outside of your allowable threshold for performance.
Using the Rigor Optimization plugin in your Jenkins CIS to fail builds based on performance thresholds can help save time (and money!) as it helps prevent performance problems from ever reaching your end users. In addition to being alerted to performance issues, Rigor helps developers prioritize and resolve defects immediately instead of searching endlessly through lines of code, microservices, and images.
Expanding Optimization into Continuous Delivery
If you’re using continuous integration, you may also be incorporating continuous delivery into your development process. Continuous delivery is distinctive from continuous integration in that it comes later in the development cycle and evaluates the application from a more holistic view and from the end user perspective.
You already test business logic and user flows in your staging environment, why not add in an additional layer of testing for performance by using Rigor here as well? You might even create a new set of thresholds for performance distinctive from your unit tests thresholds. Use Rigor to define the severity of performance defects and pull actionable alerts into tracking systems and task managers you already use such as Trello, JIRA, GitHub, or other IT ticketing and help desk systems. Triage issues directly into these systems to make sure you’re able to prioritize your performance bugs alongside functionality defects.
You’ll also want to get an idea of what your end users experience, so continue performance testing into your maintenance phase by tracking your production site with Rigor Monitoring. Help ensure that any third-parties are holding up their end by monitoring services like managed third-party APIs and microservices. Identify issues within mission-critical user flows, like checkouts and carts, to eliminate the bottlenecks that irk end users.
Poor web performance can be devastating to both your company’s reputation and your bottom line. It is important, therefore, to assign performance issues with the same priority and urgency as functional defects. This means that testing for performance issues must be integrated into your development lifecycle. Help make this process pain-free by integrating testing into your delivery toolchain with built-in features such as the Rigor Optimization plugin for Jenkins.
Check out Rigor Optimization today!
E-commerce revenue continues to grow,as consumers turn away from shopping in brick-and-mortar stores to shopping online. However, many businesses are not prepared for this growth because they do not fully understand the market and how to invest in...Read More
Because of the multifarious nature of web clients today, it’s important to consider the usage statistics when designing, implementing, and managing your site. However, misconceptions often arise when determining what browsers to design...Read More
Google Webmaster Tools is a web service that allows webmasters to view the status of their sites as seen by Google and the Googlebot crawlers. In addition to indexing your site structure and content, the Googlebot crawlers also record data on perform...Read More
Web designers and developers are always looking for ways to speed up their page load times. Yahoo has an excellent article written on the best practices for speeding up your page. How do you know if implementing one of their suggested practices will...Read More