How to Increase ROI for Your Custom Development Projects

It’s an exciting time to be in IT these days! Digital transformation is gaining in popularity, one element being the move of IT infrastructure to the cloud. Many different platforms that are available today provide a lot of opportunities to build exciting functionality through custom development and platform integrations.

On top of that, companies are looking for more options to provide their customers with self-service opportunities, either through customer portals or through bots using traditional and modern service channels such as telephony, SMS, or instant messaging apps like Facebook Messenger or WhatsApp.

All of this requires a significant number of process automations and system integrations, which allows companies to build custom solutions for their internal and external services, so they can provide better customer service and more efficient processes.

Why is all of this important?

Because companies that ignore the digital transformation will miss out on the next generation of customers, and continuously lose ground on their competition, which will be faster and better at delivering business value.

Why digital transformation is affecting project development

Software development is at the heart of the digital transformation!

Here are some examples of contact center and business cloud platforms, innovating for the digital transformation era:

Overall, more and more companies are transforming their applications into platforms or at least investing heavily into APIs that allow for deeper integration.

Unfortunately, the increasing demand for custom development comes with a maintenance cost attached. And that cost can vary significantly, based on the quality of the architecture and implementation of any given solution. If a company relies on an integration to submit orders from their CRM to the order management system, the integration becomes an additional point of failure (in addition to the two systems involved). An error in the code could prevent the orders from being submitted, and in a worst case scenario, this error might not even be noticed right away.

In theory, those automations provide a defined business value, but the reality is that this value is reduced by technical debt accrued during development. This includes not only errors in the implementation that cause the integration to fail, but also the additional effort needed to implement new business requirements in the future. The latter is very difficult to track, since there is no reference point to what a “perfect” system looks like. Nevertheless, it exists, and I have seen simple feature requests take a substantial amount of time refactoring the initial solution because it did not follow best practices.

This brings us to the last question: What can be done to reduce the negative effect that software quality issues can bring to a project or a business solution?

3 steps for improving the quality of your projects

I recommend the following 3 key steps as a starting point to improving the quality and outcome of your custom development projects. There are obviously more things that you can do, but from my experience, the following actions are essential for maintaining the ROI of any project.

1. Use software design patterns and development best practices

Design patterns have been proven to be successful when it comes to increasing code quality in a product. Not only do they introduce consistency between developers, they also ensure that the developed code is easy to understand and extend as your business solution evolves. Applying those patterns even to the smallest components will help to reduce bugs and, consequently, maintenance costs further down the road.

2. Introduce quality processes and automated testing

These elements are core to any software application development these days. First of all, any code developed, whether it is big or small, should be tracked in a version management system such as Git. It is critical that developers can review the history of a file to understand the context of how it evolved. With that, it is also possible to introduce code reviews as a standard process of everyone’s work. Any changes should be peer reviewed to ensure that standards are followed, and to reduce the risk of introducing errors. Adding automated tests, such as unit or acceptance tests, will further improve the quality of the solutions. While code reviews ensure the quality and correctness of the implementation at the current time, automated tests are there to detect regression introduced by future modifications of the code. All automated tests should be executed every time a new change is introduced to the environment.

3. Add Reliability Engineering

This step is the most difficult. Reliability Engineering extends the solution by building a framework of utilities and services that business solutions use for the implementation of the use cases. Those utilities and services are designed to handle malfunction of the business logic by recording incidents, raising alerts, applying strategies of self-healing, or possibly even initiating a restart of an entire system or component. For example, in the situation described above where the integration between the CRM and order management system would fail, notifications could immediately be sent out to IT that the integration is broken. If the reason for the failure was a connection timeout, which could mean that the order management system does currently not have enough resources available to process the order, the integration could queue the record and process it at some later time, assuming that more resources will then be available and the order submission will succeed.

In the best case scenario, human intervention is not needed, but if it is, it is important that every failure is handled consistently. While it is understood that production issues will occur, the goal of the framework is to detect those early and to collect critical diagnostic information that will significantly speed up the root cause analysis. Reporting this information will enable IT to make the right decisions to solve the issue quickly.

It should be noted that many of today’s cloud platforms have these features baked in. The key is to utilize their framework to make sure application and platform issues are handled in the same fashion. There obviously must be a balance between value and implementation time when deciding what reliability features should be included in a solution.

Nonetheless, any steps taken in this area will further secure the ROI, by ensuring that the final solution will work as expected. If it does not, it will have the smallest impact possible on the organization.

The value in following these steps & breaking down silos

It needs to be understood that any of these steps will add development time for the initial implementation of any use case. However, it should be noted that this time increase is mostly just theoretical nature. In practice, if those measurements are not applied, a project typically requires more time for bug fixes and re-work of those use cases, often exceeding the time spent adding those quality processes.

Breaking down the silos between enterprise systems adds a lot of value to the organization. This is an important part of the 4th industrial revolution. However, the applications that link those systems together are becoming a critical element for a company’s operations and must therefore be set up using strategies that ensure quality and flexibility for the future. This let’s your organization focus on continuous expansion rather than chasing the mistakes made in the past.

The Steep Costs of Contact Center Outages

Many disasters and disruptions can impact a contact center: hurricanes, floods, fires, hackers, hardware failures — even “inside jobs” by malicious employees.

If you’re a VP of Customer Service or Chief Information Officer, the prospect of widespread contact center outages likely keeps you up at night. And it should.

Most contact centers, and especially those running premise-based systems, are not prepared to ensure continuity during an emergency, and the costs associated with contact center outages are steep and tend to multiply quickly.

They can be broken down into three categories:

1. Intangible

Before getting into the costs that are easy to quantify, let’s take a look at the intangible costs of contact center outages— those that are not easily converted into dollar form but are very real and can have a huge impact on the health of your business.

People and entire departments that are constantly putting out fires suffer from a lack of focus that leads to significant productivity loss. According to a study conducted at UC Irvine, it takes roughly 23 minutes to refocus after even a minor interruption.

The Washington Post reported that interruptions consume an average of 238 minutes per day. That’s not including the other 84 minutes it takes to refocus, or the 50 minutes lost to fatigue and stress. That’s 6 hours a day and 31 hours a week.

If you’re a manager or director of a contact center, you’ve seen the productivity loss and high turnover rate as your agents get slammed with increased call demand and become overwhelmed.

If you’re a VP of IT, you’re well acquainted with the fact that only 31 percent of the IT budget is allocated for new projects — and that only 14 percent of that 31 percent (so about 4 percent) goes to sell-side investments that can generate new business. 69 percent of the budget goes to MOOSE — Maintaining and Operating the Organization, Systems and Equipment.

2. Financial

Property damage caused by flooding or fire can be covered by insurance. Your loss can be made whole. Not so with the financial losses caused by damage to your brand, poor customer experience, and lost sales.

Customer experience is crucial in maintaining your market share and growing your business.

Bad customer experiences are directly tied to revenue losses. A multichannel bank, for example, leaves $124 million on the table for every 1-point decline in its CX Index score.

Repeatedly spending money on vendors to patch your outdated infrastructure also results in considerable financial drain, and the increasingly complex work-arounds don’t solve the underlying issues.

3. Operational

The operational costs of contact center outages quickly multiply if the disaster recovery solution is not cloud based.

FEMA estimates that basic services should be restored to an area affected by a serious disaster within 3 days. If your hardware isn’t redundant, downtime could be even longer as you try and install new software and servers.

If the disaster renders your premise-based contact center unusable for weeks or months, you’ll have to try and move your agents, along with your hardware, to a new site. Even once such a move is made, call volume is likely to increase past a capacity you’re able to handle, making a bad situation worse as customer experience — the key brand differentiator — suffers.

What’s worse, if the disaster has taken out your contact center, other areas of your operations are likely affected as well, removing supports to other parts of the business and making it harder to mount an effective response.

Are You Vulnerable to Widespread Contact Center Outages?

Your company is likely at risk of a contact center outage if:

● Your contact center is premise-based and manned by a fixed number of agents

● Your disaster recovery program runs on a legacy system that’s incapable of scaling quickly to add additional agents when call volume surges and/or agents cannot login

● You have failover in place, but it’s less than optimal, and activation would result in sub-optimal customer experience at best, and at worst a complete system failure.

Contact Aria Solutions today to learn more about our new cloud disaster recovery solution.