Building A Performance Engineering Team In the Software Development Life Cycle

Organisations are now using DevOps and agile methodologies and understand the values of both shift-left and shift-right performance testing. The increased demand of high performance for ensuring enhanced customer experience justifies the need of shift-left and shift-right performance testing.

In accelerated release cycle, finding performance issues quickly and resolving them immediately is the overall goal for end-user happiness. Performance testing and monitoring is a subset of performance engineering. While performance testing and monitoring is only to find the potential performance issues, performance engineering is finding potential performance issues, resolving, and optimising them for improved performance and customer satisfaction.

As shift-left and shift right performance testing is an ongoing, continuous activity throughout the SDLC-software development life cycle, organisations are now moving towards performance engineering throughout SDLC. In this blog article, I will discuss why organisations are now moving towards this throughout SDLC and in general, the types of engineering activities that will be required during SDLC phases.

A Focused, efficient, and small Performance Engineering team

In today’s fast paced and demanding market, organisations wanted to have a performance engineering team (focused, efficient, and small) that can not only conduct performance testing and monitoring but does end to end performance engineering activities. This team should be involved throughout the SDLC and always work for better performance. Performance engineering should also be a continuous activity. It should be both preventive and proactive to avoid any potential performance issues which can impact its customers.

Overall due to strict release timeline (or else you will be left behind) and demanding improved end-user experience at every releases, organisations are interested to have a single team rather than separately having a performance testing team. This team will be solely responsible for performance throughout SDLC. In a nutshell, the performance engineering team will ensure improved performance before any application updates or changes goes live and proactively identify any potential performance issues and resolves them immediately for existing live system before affecting its end-users.

The Performance Engineering Team is many activities together

Performance engineering consists of many activities throughout the lifecycle which started from requirement gathering phase and continues till post-deployment. It’s general phases include non-functional assessments, shift-left and shift-right performance planning, shift-left and shift-right performance testing, continuous performance monitoring, performance test result analysis, performance optimisation and performance consultancy.

On a high level, performance engineering activities will include architecture feasibility, infrastructure assessment, capacity planning, performance strategy and system evaluation (like performance requirements and expectations, workload distribution, usage analysis), performance testing (like baseline, load, stress, endurance, spike, volume, failover testing), performance monitoring , performance test result analysis (result evaluation, comparison, benchmarking, performance bottleneck identification), profiling, virtualisation, performance optimisation and tuning (like performance troubleshooting, database query tuning, middleware tuning, server resources optimisation, application configuration & optimisation), performance consulting, performance testing lab creation, performance test data management etc.

Info

Versatile Knowledge required

The team should understand business performance requirements, mapping business performance requirements to build high performance system, application architecture and components, associated interfaces, UI/UX design, performance testing, performance monitoring, performance test result analysis, code profiling, application optimisation, tuning, continuous performance improvement mindset in terms of user experience, speed, scalability, availability, reliability etc.

Continuous performance engineering confirms improved application performance and resolve potential performance issues in accelerated delivery cycles. This can be achieved using many things like continuous performance attitude starting from performance requirement finalisation, continuous performance risk assessments, leveraging service virtualisation at early stages, continuous performance testing (early and often) with easy to maintain automated performance scripts, continuous performance monitoring via application performance monitoring tools, continuous performance test result analysis, performance optimisation and tuning, as and when required.

Info

Conclusion

As, organisations are now moving towards performance engineering throughout SDLC phases from shift-left and shift-right performance testing and continuous monitoring, performance testers should prepare to be part of this new journey.

Check out all the software testing webinars and eBooks here on EuroSTARHuddle.com

About the Author

Arun Kumar

Arun earned a degree in Computer science from Govt. Engg. College, India. He is having 14+ years of working and managing E2E testing delivery experience in different types of applications. He has a keen interest in reading and writing different technical papers. He has been selected in multiple international conferences; global webinars and his papers have been published in multiple forums and also won various awards. He is now working as Senior Test Manager in Atos & Global Subdomain Leader for Atos Expert: Applications-Testing.
Find out more about @arun2005413gmail-com

Related Content