Sure, customers can be demanding. And sometimes it seems as though providing quality application development at the price point they're looking at is nothing short of impossible. Here, the VP of Application Development and Service Delivery at Softtek offers some ways on how to get it done. (Ed. note: For more, see our list of emerging vendors who are creating opportunities around applications. — Jennifer Bosavage
When we interact with customers, often times they want it all: The stars, the sun and the moon, as the saying goes. As IT experts, our job is to present customers with simple questions in order to bring out their true needs and streamline the best solutions available. With simple, direct questions we are able to identify expectations and adopt the highest standard of quality for the lowest cost possible. By focusing on quality, understanding our customers and involving them in the solution process from the beginning, costs will fall, but the solution delivered will be right in line with customer expectation. There's how to ensure you develop reliable IT applications while helping your clients reduce costs.
During the life cycle of applications, different situations based on scope, budget restrictions, time constraints, etc. can pop up. Quality Assurance (QA) is the way we should work with our projects, but suppose the client is simply not allowing us to implement our QA properly. The following four rules can help:
1.) Standardize your processes, methodologies and templates;
2.) Reuse components and automation and get applications to generate code;
3.) Implement the right metrics and define your service level agreements (SLAs);
4.) Define and implement your continuous process improvements.
In the case of standardizing processes, methodologies and templates, you must define basic templates for each phase of analysis, design, development, testing and deployment, and analyze each template according to “CRUD” functionality (create, read, update, delete). Once that's done, support methodologies should be defined and a catalog of best solutions established. After that, quality framework guidelines can be matched to each customer to create customized programs. Finally, ensure your staff is trained in all of the defined processes and artifacts.
When it comes to reusing components and automation there are many tools – commercial or open source – to auto generate code. Choose two or three tools to evaluate and then select the best one. When all of the components, expectations, frameworks and templates are in place, ask yourself, "Are all these things really working?" You'll need a set of metrics to answer that one. Some metrics will be useful for your customers to evaluate their expectations, and others will be internal to evaluate your productivity. A standard TSP (Team Software Process) /PSP (Personal Software Process) can help you obtain and improve your metrics further. The following diagram shows a Cost/Benefits breakdown for TSP.
Once the above steps are completed, you must continue to define and implement continuous process improvement. All processes have the opportunity for improvements. By using guidelines such as Lean or Six Sigma and FMEA (Failure Modes and Effects Analysis), companies can mitigate risk before problems occur. When the unfortunate happens and problems arise, however, executing a Root Cause Analysis will help minimize the fall out.
Click image for full-sized view.
The above represents simple steps to ensure that reliable IT applications meet a customer’s quality expectations without breaking the bank. For example, one of our largest clients, a Fortune 10 company with whom we’ve worked for more than 10 years, was spending more than 60 percent of its budget on application maintenance. However, after inviting vendors to participate in a bid to standardize their process and implement continuous process improvements, it reduced 30 percent of the original costs.
While there is no easy one-size-fits-all approach to reducing costs, there is a sure fire way to ensure a program is a success: enact the above guidelines, practice honest communication and above all, remember, customer satisfaction is your North Star.