What makes our customer engagement software enterprise-grade?
“Enterprise-grade software” has a number of definitions from multiple sources: from analysts, online encyclopedias, even PERL development team. Some sources stress capability to integrate, and quality of support, others focus on robustness and scalability for large organizations. Security is often mentioned more than once.
We believe that software becomes enterprise-grade when it addresses a multitude of requirements intrinsic to the operation of a large enterprise. Below, we went over major enterprise software requirements and outlined how we address them.
Availability is the proportion of time a system is in a functioning condition.
An enterprise is always in communication with its customers, and that communication is high in volume at any given time. Any downtime of the enterprise's contact center or its customer-facing components directly translates in lost business and tarnished image.
- Our architecture, with multiple redundant components sharing their workload (see more ) eliminate the downtime related to single point of failure
- Disaster recovery to geographically remote data center minimizes downtime related to force majors
- Our software takes advantage of multiple ISPs, telco providers and redundant network equipment to minimize downtime or partial downtime related to communications issues.
- We eliminate downtime related to storage failures by running multi-level backup and using redundant storage
ANSI defines software reliability as the probability of failure-free software operation for a specified period of time in a specified environment.
A reliable system has a low failure rate. For example, a system dropping all transactions for a fraction of a second may still be highly available, but not reliable, and the failure will have a major business impact.
- Microservices architecture helps us eliminate fragility by removing single points of failure. Components are designed with fault tolerance in mind: component failures are detected and load is redistributed automatically between healthy components - see more
- Redundant microservices allow for partial maintenance shutdowns, and software or hardware upgrades while the system is in operation
- Good engineering techniques, such as controlled access to source code, automated regression testing, and full feature coverage testing prior to deployment improve component reliability
- Our operations policies, especially change process policy, ensure that technician errors that could lead to outages are minimized
As an enterprise grows its business and acquires more customers, its communications volume grows with it. It is important to handle that volume, respond to its changes, and have a high headroom for uninterrupted growth.
- Our software scales to thousands of concurrent users within the same platform - there is no need to move to another solution once a contact center reaches 10 thousands of agents
- Architecturally, the system comprises multiple components. There is a number of component types, by function. The system can be provisioned for multiple instances of each component type for redundancy and scaling purposes.
- Increased number of calls, chats, agents, e-mails and so on is handled by adding more servers to host components handling the corresponding load type - this is after we, during development, ensure that each component is operating as maximum performance
- Service configuration is optimized to manage large operations
- Administration and configuration views are limited to services and teams assigned to a person
- Agents can be handled with bulk export, import, and update operations
- A large number of services can be configured efficiently by re-using scenario with different parameters
- Peak loads are handled by:
- Over-provisioned servers, data links, and storage
- Runaway usage is kept in check with service limits
- Our reporting data architecture helps us optimize for both fast data collection and report generation
The stakes are higher for large enterprises, and being obscure and unnoticed is not what enterprises are about. Serious access control, as well as protection of communications and data at rest, is mandatory.
- Connection security - data transmitted between client and server is encrypted using TLS
- Access security:
- Password complexity and expiration policy
- Multi-factor authentication (something you know and something you have)
- Role-based access privileges
- Access and visibility limited to assigned services and teams only
- Data protection:
- Recording encryption
- Data field encryption
- Multi-security-zone operation, when our clusters are spread between network compartments separated by firewalls and network address translators
- Audit logging of system access and configuration changes
Enterprise's non-compliant behavior impacts many people, so a number of standards on privacy, security, and accounting are mandated by the government. Adding to this the fact that enterprises make a big target for litigation makes the need for compliance essential.
- PCI/HIPAA - our security and data protection features help you pass the audit
- Our data centers are also compliant with a number of standards:
Interoperability, Extensibility, and Support of Existing Processes
An enterprise is built around a way of business that works. Any changes to the existing processes have to be market-driven, not dictated by back-end technology. It is very important for enterprise-grade software to be deployed with minimum disruption and integrated with existing systems seamlessly.
- Automated periodic data import and export
- A number of APIs for:
- Campaign list population and result f export
- Client-side integration
- Server-side integration via RESTful interfaces and direct DB access via JDBC
- Built-in integration with Salesforce.com client, server, and single-sign-on
How fast a could change can be made to an application? How would it impact other services? How easily can a new user be set up? How many consultants are needed to keep the system aligned with the business?
- All service administration and configuration w done via user-friendly web interfaces
- Agent interface is web-based and does not require installation
- Softphone, that lets agents use computer with a headset as a phone, is a user-installed browser extension, also available as an unattended installer for mass deployment
- Software updates and upgrades can be deployed to system components during system operation, without customer service interruption
Such large mission-critical operation as enterprise call center needs to continuously monitor system health with respect to scalability, reliability, availability, performance, and security.
- Our software provides monitoring capabilities and alarms for early detection of conditions potentially leading to downtime, degraded performance, or indicating the upcoming need for additional resources
- Audit log provides information on system access and changes
- On-premises deployment option is available
Portability & Accessibility
Our client and management interfaces run on a variety of devices, due to their web-based nature.
Our software is localized into 7 languages (and growing, see more), so agents and administrators can work in their language of choice.
Enterprises get access to a wider pool of talent and acquire good citizen karma when they make their technology accessible to people with disabilities:
- JAWS Screen Reader is supported to provide solution for blind call center users
- Use of color in our UIs takes into account possibility of color-blind users
Today's enterprises are not locked to city or country boundaries - they are global. A combination of distributed offices, home workers, and outsourced operations is very common.
- Web-based UIs allow access from anywhere
- Worldwide DIDs help taking local and toll-free calls from over the world
- Worldwide hosting partner network let us offer service closer to each global location
- Multi-lingual localization and internationalization (all input is Unicode)
Support and Services Focused on Customer Success
Our customer success people are set on making sure you are getting maximum value out of our software, day in and day out.
- Our support scores very high in our customer surveys
- Our customer success team spans IT operations, support, and professional services, people. Because of that, they detect issues before they happen, they are aware of customer needs and they are ready to apply the best solution
- We conduct periodic customer operations review and recommend optimizations based on best practices and our newest features
Trained people are often required to for project implementation and maintenance. Enterprise integrations to support existing workflows and technologies are especially demanding in that regard.
- We offer services of our own customer success engineers, as well as trained consultants from Waterfield Technologies and Waverley Software.