Web Performance Assurance (WPA) Methodology
Key Performance started working on its Web Performance Assurance presentation around 2002. The primary reason to do so was that every client, every employee and technology partner seemed to have their own way of doing things and everybody expected us to adapt to their way of working (even when it was clear that sometimes it wasn't working that well..). It didn't take us long to find out that we were getting lost and that all this caused delays within our projects because we where contantly reinventing the wheel. So, we decided to first take a deep look at the different things that we were using at that time; ITIL (IT Infrastructure Library), IT Service CMM, Prince2, PMI, Agile and some others. We took from these those components that we liked and that made sense for the type of projects that we were doing.
What we really liked about ITIL (version 2) at that time was that it provides a really good description of IT Operations Nirvana but it didn't explain how you could get there. The Capability Maturity Model (CMM) describes five stages of evolution for each process (initial, repeatable, defined, managed, optimizing) but it didn't tell you what the detailed requirements for each level were. The IT Service CMM tried to combine the two but got stuck somewhere around level 3 but the idea was really good.
A couple of years ago, with the introduction of ITIL version 3, it became clear that the people behind ITIL also liked it. In ITIL version 3 you saw the combination of old style ITIL, CMM and the SDLC (Software Development Lifecycle. So, it didn't take us too long to embrace this!
Our WPA Methodology uses 5 distinct project phases. Before the project starts we spend significant time on requirements analysis. Both to make sure that all parties agree on the approach and outcome of the project and because we prefer to work on fixed price projects. The next phase is an analysis or assessment phase where we will do a deep dive analysis of the website or application, meet with all the parties involved and identify all the available measurement sources.
During the development phase we implement the required changes on a test system to validate that they deliver the appropriate results, we implement additional tools and define changes for processes and procedures and implement management dashboards. If any training or coaching is required, this will also take place in this phase.
In the implementation phase we move everything over to production, do fine tuning and ensure that everything is working fine. In the Delivery and Control phase we do a formal handover of everything to the various teams and evaluate the project as a whole.
At the core of our WPA methodology, you will find that we look upon a web application from a holistic point of view, almost like looking at a living organism (or as in many cases as a black box). We always start with analyzing the performance of a website or application from an end users point of view. This means that web monitoring is a major component of our services and our methodology. Once we have a good understanding of how the system as a whole is functioning we start to zoom in on components that are not performing optimally and we also take closer look on the organization around the application. We do this using a structured information gathering process with which we create our own proprietary CMM like dashboard for all of the major processes and infrastructure components. We have defined our own CMM level definitions and created a roadmap of processes, best practices etc. to help organisations move from one level to another. We also mapped the most commonly used technologies and solutions on this roadmap so that we know how everything fits together.
On top of this generic consulting approach we have projected everything that we know about web performance. For Key Performance, the first objective that we try to achieve is to reduce variability, the second objective is to improve performance and the third is to ensure that it is robust, scalable and capable to deal with extreme peaks in usage.
Last but not least, we encourage all our clients to increase performance awareness throughout your organization (the business, marketing and on the IT side; architecture, development, testing and operations. The motivation behind this is that in many organizations performance is still seen as something for IT Operations only. This can results in a large number of performance problems that are expensive to fix and frustrating for your clients. It is much easier to make sure that performance is well embedded within the original application design and properly tested. Fixing a performance issue during the development phase is much cheaper (about one eighth of the cost) and non intrusive.