PSP's Customer Service Manager Richard shares with you the process of implementing an IT and or web development project. What is involved in the process? How can you be sure of full testing and what is User Acceptance Testing and finally what is involved in the delivery of the system. First we start with looking at the specification and development requirements.
Specifying and developing requirements
There are many elements to the successful implementation of a new software application, all of which are unquestionably reliant upon their supporting functions. From the point of identifying and documenting your requirements to developing and delivering a fully implemented system each element has a direct bearing on the success (or failure) of its supporting functions.
Specification is the key to a successful project. Successful projects (more often than not) have been delivered off the back of a comprehensive specification. Client and development requirements need to be discussed and documented long before a solution is agreed.
The strength of the specification is key to providing the foundation for running a successful project. When a requirement has been captured well, the system can be developed to meet the need. Conversely when a vital component is overlooked the success of the system can be very seriously compromised. With such high stakes in the world of technology it pays to ensure quality throughout the specification stage to give your project the best possible chance of success.
The Specification document therefore provides the back-bone to all activities throughout the development and in the run up to implementation.
Development stages are the substance of the project. Perhaps the most obvious area of writing a new application is the development stage. The strength of a development is directly linked to the strength of the Specification. Therefore, as it is, like many things in life, developments are rarely 100% correct first time. The benefits to having a fresh pair of eyes casting their opinions over a system during subsequent testing and quality assurance, is as equally important to the success of the project as the specification before it.
During development, the success of a project is heavily dictated by a developer’s ability to be open-minded. Having the ability to seek enhancements, and from their own interpretations, have the ability to accept constructive feedback. A development team built on trust and communication will have an open approach which supports the client's end vision for their project.
Next we look at the assurances as part of the development. As with all technical specifications, it can be very difficult at times for clients to understand the full scope and tangible features of the IT system or website until reaching this stage.
Quality Assurance and Testing
At these stages robust and comprehensive tests are conducted to identify faults, flaws and usability. Also during this stage test plans are devised in order to review and assess the functionality and ensure the product delivers to the specification. Issues with software during this stage are typically referred to as ‘snags’ and also covers the design and look and feel of the system. It is normal for ‘snags’ to be reported during Quality Assurance.
In addition to the 'snags' testers may also review the workflow, design or simply the look and feel and choose to report a ‘quality enhancement.’ The tester during this review assumes the role of the client, testing products with a clean pair of eyes and a fresh open mind and reviewing how user-friendly the system is from a non-technical point of view. This thorough approach to quality assurance has the most impact on the quality of the product which is finally delivered to the client.
User acceptance testing (UAT) is the time where the client tests and approves the system. In most cases, once internal testing is complete software applications are deployed into a semi-live environment which allows the client access the system.
UAT provides the client with the opportunity to run through the various test plans themselves to ensure they are happy with the development and, (as mentioned during the testing stage,) to ensure the delivered product not only matches the specification, it also matches their requirements in the real world. This covers (not limited to) ease of use and workflow.
It is not uncommon for additional requirements to be highlighted at this stage which may have been missed previously.
Implementation and training
Implementation and Training is the final stage of delivery and is more important then successfully winning the project in the first place.
A planned approach to implementation and training provides much more value for the client and their teams using the systems. Also a non jargon approach is required to go back to teaching the basics, and not assuming everyone knows the specific technical features and functions. Having a team which can understand both the technical side and the customer has major advantages.
Knowing when and where the implementation is helps to ensure systems are installed (and tested) on the right servers prior to the go live day. The most important element is the knowledge of those delivering the systems, whether a technical trainer on hand to advise on technical questions, or an effective communicator; ultimately final delivery in an effective and engaging way which is more client focused will create enjoyable learning of the new system.
In summary, whether you are an IT system and/or web developer or client using these systems, understanding there is a process which helps deliver an end product is key. It's not a one-sided project - it is an investment for both parties. In fact it's a relationship which from the time of specification through to development, quality assurance testing and finally implementation and training, grows and blossoms into a system which delivers and supports the clients business.
As with all relationships, learning and understanding how each party communicates and what they require makes the project a success.