Partnering For Performance: A Performance Minded Organization (Part 1/4)
It is every company’s dream and worst nightmare at the same time. Your website, app, or IoT device receives a massive influx of traffic and revenue is going up! But your app and infrastructure were not ready and now they’re bouncing away like elusive jackalopes and turning to social media to share their negative experience. Revenue and success is slipping away.
Whether you’re building a website, a mobile application, an API, or even smart connected hardware you will eventually find that you need to optimize performance to improve user experience, increase scale to handle additional traffic,, support new devices, or identify bugs and poorly configuration infrastructure that are limiting your product’s ultimate success.
In this four-part series, Outsourcing DevOps, we’re going to look at how you can move your organization forward by bringing in expert performance engineers, setting them up for success, and convincing all the stakeholders around you that it’s the right thing to do.
Part 1 starts in the most obvious of places by answering why you should bring in outside help for your performance engineering needs: 5 Reasons To Outsource Your Performance And Load Testing Projects
Everyone knows that before you can release you have to load test. When is the right time? Do you really need help?
If you outsource, do you lose control? Will you pay too much? Will you sacrifice quality?
These are all valid questions and concerns; however, there are many sound reasons to consider outsourcing your performance and load testing projects.
1. Performance Engineering Is Complicated
We applaud the companies who have created permanent positions focused on performance engineering but have you ever read one of their job descriptions for the role?
They’re littered with words like create, design, execute, profile, analyze, interpret, execute, mine, measure, monitor, predict, model, mentor, plan, deploy, define, report, solve, alleviate, tune, and more. That’s a very tall order – especially if you only have room for one additional headcount!
In fact, most thorough QA and performance engineering tasks cannot be performed by just one individual. Instead, you may need a few individuals who are able to apply their expertise collectively.
2. In-house Isn’t Always Cheaper
Let’s say you do happen to find an individual who can do it all when it comes to performance engineering. Most likely they’ll command a premium salary that you may not be able to afford. So why not buy part of one?
If you only need a performance engineer for 40 hours a month then just outsource those tasks to someone who can apply their experience and knowledge based on your demands. Paying for a bucket of hours instead of a FTE will tremendously save on costs.
Not only are in-house performance engineers expensive but the investment in performance tools and infrastructure can be costly as well. If your company doesn’t want the long-term investment of purchasing a mature performance testing tool or suite of tools then outsourcing is a very appealing option.
Specialized companies, like TPC, can help balance between budget, time and staff by assessing your applications’ requirements and utilizing our highly trained staff to meet your needs.
3. Reduce Internal Politics
When a performance engineering project is outsourced, stars align and doors open because the entire organization knows that an investment has been made and can easily be wasted. The internal politics and dragging of feet are overcome to reach a speedier “ready” state for productive performance testing.
4. Implement Solid Performance Test Methodologies
Performance testing is not or should not be done by anyone who endorses a “specific load testing tool” as the solution to your performance testing needs. There are methodical performance engineering practices, which need to be followed in order to build an accurate and realistic performance test that reveals actionable results.
It is worth the investment to outsource the initial startup of the project to seasoned experts who know how to build a solid performance test methodology and, know how to analyze the results to provide actionable insights.
An experienced performance engineer will walk into an environment and gather the technical requirements by asking the right investigative questions. They address scalability goals and create load models in order to accurately design load tests to answer the important capacity questions. This is not to say that your in-house engineers can’t learn from the experts. Their support and involvement is vital to the success of any engagements.
One good practice to harmonize outsourced and internal resources is to allocate hours for mentorship of your existing engineers so that they have a firm understanding and ability to execute the performance engineering practices that are right for your product.
5. Data, Not Emotion, Driven Decision Making
Outsourcing your load testing projects is a reliable way to get data-driven results.
It’s not that internal results are not data driven, but outsourced results are not tied to any emotion. In performance engineering, you are always comparing “before” and “after” results due to changes in the environment and the water can get muddied with chaos of proving and disproving theories. Having the load testing outsourced gives a “third eye” to analysis and just presents the facts.
Performance consultants, like Total Performance, can assist with tool selection, building out performance test methodology, creating and executing tests to baseline performance, integrating performance testing into a continuous integration delivery model, or even augmenting your staff to perform load and performance testing on an ongoing basis.
At the end of the day, it’s not the tool which produces accurate load testing results – it’s the performance engineers’ skills.
In part 2 of this series we’ll explore how you can convince other stakeholders that outsourcing is the best next step.