{"id":14910,"date":"2020-09-17T20:26:49","date_gmt":"2020-09-17T14:56:49","guid":{"rendered":"https:\/\/cigniti.com\/blog\/?p=14910"},"modified":"2023-03-08T19:02:00","modified_gmt":"2023-03-08T13:32:00","slug":"continuous-performance-engineering-agile-devops-devops-trans","status":"publish","type":"post","link":"https:\/\/www.cigniti.com\/blog\/continuous-performance-engineering-agile-devops-devops-trans\/","title":{"rendered":"Continuous performance engineering for Agile & DevOps organizations"},"content":{"rendered":"
Performance-related issues have caused major websites and software apps to fail, and thus re-emphasizing the need for a robust and well-planned and executed performance testing strategy.<\/span>\u00a0<\/span><\/p>\n All of us, from a user\u2019s standpoint, have experienced network downtime, website crashes, and other performance and load challenges at some or other point. This is, in fact, a common occurrence during the peak holiday season including the top shopping events like the Black Friday sale.<\/span>\u00a0<\/span><\/p>\n While\u00a0<\/span>performance testing<\/span><\/a>\u00a0takes care of the non-functional aspects of an application, it is usually not given the due importance from the stakeholders. If testing is pushed till the very end, performance testing is pushed even later in the cycle, which is too late to fix any of the detected issues.<\/span>\u00a0<\/span><\/p>\n Therefore, organizations are required to change their outlook and not only involve testing as the core component, but also focus on the performance aspects of the software.<\/span>\u00a0<\/span><\/p>\n For\u00a0<\/span>IT organizations<\/span>\u00a0to overcome their\u00a0<\/span>struggle to meet the business<\/span>\u00a0application performance expectations for speed, scalability, and quality, a simple performance testing approach does not suffice.<\/span>\u00a0<\/span><\/p>\n Rather, they should adopt a proactive performance quality engineering strategy that involves performance as an explicit and clear requirement and involves the creation of test cases for verifying and fulfilling the performance expectations.<\/span>\u00a0<\/span><\/p>\n Therefore, there is a\u00a0<\/span>two<\/span>-way change that should be implemented. First, a transition from the legacy software development methodologies to Agile and DevOps for accelerating the time to market.\u00a0<\/span>And s<\/span>econd, taking a\u00a0<\/span>dual-shift approach for performance engineering<\/span><\/a>\u00a0and quality engineering,<\/span>\u00a0<\/span>and\u00a0<\/span>implement<\/span>ing<\/span>\u00a0a continuous feedback and monitoring loop to facilitate continuous improvement.<\/span>\u00a0<\/span><\/p>\n Let us talk about these aspects in detail:<\/span>\u00a0<\/span><\/p>\n Legacy modernization and QA transformation<\/span><\/b>\u00a0<\/span><\/p>\n As organizations migrate from Waterfall, they would either go the Agile or the DevOps way. With the given market landscape and the ever-evolving customer requirements, the \u2018Agile or DevOps\u2019 strategy falls short. Instead, organizations need to embrace an \u2018Agile and DevOps\u2019 strategy.<\/span>\u00a0<\/span><\/p>\n DevOps is, in a way, an extension of the Agile principles. Therefore, we can say that by embracing the \u2018and\u2019 strategy instead of the \u2018or\u2019 strategy, organizations can reap the benefits of speed, collaboration, and scalability.<\/span>\u00a0<\/span><\/p>\n Additionally, as the time-to-market is accelerated and the codes are pushed into production much faster,\u00a0<\/span>organizations are able to tap into the market and fulfill the users\u2019 demands before their requirements change again.<\/span>\u00a0<\/span><\/p>\n Also read:\u00a0<\/span><\/b>Enterprise transformation from legacy QA to DevOps<\/span><\/b><\/a>\u00a0<\/span><\/p>\n Performance engineering and the dual-shift approach<\/span><\/b>\u00a0<\/span><\/p>\n The MITRE org defines performance engineering as \u201c<\/span>a specialty systems engineering discipline that applies scientific, mathematical, engineering, and measurement concepts, principles, and methods to deliver a system that meets its nonfunctional performance-related requirements.<\/span>\u201d<\/span>\u00a0<\/span><\/p>\n While functional defects are comparatively easier to fix, non-functional issues that impact performance are highly challenging to resolve as there are numerous different components and parts of the application involved. Also, leaving them unresolved create heavy technical debt over time that results in the app\u2019s demise over time.<\/span>\u00a0<\/span><\/p>\n To address this,\u00a0<\/span>performance engineering<\/span><\/a>\u00a0becomes critical.<\/span>\u00a0<\/span><\/p>\n Gartner predicts that \u201cb<\/span>y 2021, organizations that have embraced a performance engineering approach for application development will outperform the competition that has not, in both customer satisfaction and business results.<\/span>\u201d<\/span>\u00a0<\/span><\/p>\n Also read:\u00a0<\/span><\/b>Creating and running high-performance engineering teams<\/span><\/b><\/a>\u00a0<\/span><\/p>\n A performance engineering approach for non-functional quality aspects involved performance assessment and evaluation as a continuous process right from the beginning.<\/span>\u00a0<\/span><\/p>\n This means, the performance testing process is shifting to the very left to run in parallel with the development and to leave enough time and scope to resolve the defects that are identified.<\/span>\u00a0<\/span><\/p>\n In addition to beginning the testing process early in the software development life cycle, it is not concluded with the production. Rather, a conti<\/span>nuous feedback and monitoring loop is established t<\/span>hat leverages performance\u00a0<\/span>data<\/span>\u00a0from production and real users<\/span>.<\/span>\u00a0<\/span><\/p>\n Case study:\u00a0<\/span><\/b>Performance Engineering CoE (PCoE) helped a leading US-based mortgage provider improve application performance<\/span><\/b>\u00a0by 25%<\/span><\/b>\u00a0<\/span><\/p>\n A leading mortgage provider was looking for an independent quality engineering and software testing provider who could identify the multiple performance bottlenecks & suggest recommendations on how to implement performance fixes for legacy loan processing systems.\u00a0<\/span>\u00a0<\/span><\/p>\n They were facing several performance issues with their customer facing website and back office legacy loan processing systems. As a result, they wanted to test their website and legacy desktop applications and wanted suggestions for improving the performance of both types of applications.<\/span>\u00a0<\/span><\/p>\n Know how Cigniti implemented a Performance Engineering Center of Excellence and performed deep diagnostics monitoring and analyses to improve the performance of the applications by 25%, made the web apps more scalable, and also helped the client achieve 100% cache utilization.<\/span>\u00a0<\/span><\/p>\n