Avoid Organizational Failure by Programming a Path Through Technological Complexity

The parallel growth of cloud data storage and analytics tools has created an interesting operational environment for enterprise. Businesses can store more data than ever, and they have access to thousands of programs designed to wring significance from every last byte. That data powers the new generation of enterprise apps offering quick analysis, sharing, tracking and even automation of repetitive tasks. 74% of executives found automation to be “very beneficial” or better to their bottom line. More software tools for leaders should translate into better information and more time to focus on corporate strategy. They do deliver on information, but the promise of more time rarely seems to appear, at least not for senior management. If automation and analytics software is really increasing productivity, why does it seem like leaders are busier than ever?

The Impact of Technology at the Enterprise Level

The answer lies in the side effects of increasing technological complexity. While enterprise software offers expanded capabilities, it adds extra tasks to managerial workloads. Nine out of ten managers in a UK corporate efficiency survey reported having to perform administrative tasks that fall outside their job descriptions in order to keep functional spreadsheets current or provide status updates. The time spent on these additional tasks added up to around 15 hours a week for most, with 20% spending three days or more. As a result, up to half did not have enough time to focus on strategic initiatives. Eliminating software isn’t a practical option for reducing complexity. Enterprise software adds too much value to businesses. Automation through marketing apps contribute to a surge in leads for 80% of marketers, with 77% adding that their conversions went up as well. Sales are only one benefit of “appification”. . . Enterprise apps can increase productivity by an estimated 40%, according to the Harvard Business Review. A 40% increase in productivity across the board would be worth the hit to executive workflows even if there weren’t a ready solution for complexity. Fortunately, there is. An integrated business management solution paired with business intelligence software can minimize the problems inherent to technological complexity. This combination adds an additional layer of analytical power and enables ready access to data throughout an organization. There are some decent pre-made BMS programs, but mid-size to larger companies often find that their operations are too specialized for standard software. They run into problems where their own internal apps don’t communicate with the BI software. The most effective path to resolving this issue is by building a custom software development solution.

Exploring technological complexity

Complexity refers to a company’s comprehensive technology structure. It includes every piece of software used to plan, conduct, track, adjust, and review business activities. (Legacy systems from the company’s early days are technically rolled into complexity, though most businesses phase those out as new technologies are adopted.) Technological complexity is both a blessing and a curse for enterprise. Executives have access to an incredible amount of data on everything from market activity to customer behavior, and the rate of growth shows no sign of slowing down. To put some perspective on that, there were five exabytes of data stored from the beginning of time through 2003. Now, that same amount is created and stored in 48 hours. Humans create 2.5 quintillion bytes of data every day. As the amount of data available rises, so does the number of programs necessary to manage it. There are currently 4.6 million apps available between the Play store and the App store. While many of those are games, a fair percentage are enterprise focused. A recent survey showed the four most common enterprise usages for apps were email and communication, sales and marketing, social media, and document storage. The applications are limited only by programming ingenuity and legal restrictions. [caption id="attachment_399" align="aligncenter" width="1552"] Source: okta[/caption] Productivity and analytics tools are immensely attractive to executives because of the functionality they offer. Project managers are able to communicate with their teams remotely using pictures and files, cutting down on meeting time. Marketers can initiate and monitor email campaigns on a single app. Some social media analytics apps go so far as providing insights on how to improve the customer experience that are impossible to get anywhere else. There are, as mentioned earlier, some unpleasant consequences of growing technological complexity. To remain useful, software needs regular management. Someone has to log in, update information, and download reports for each individual app or program. Most of the time updates take less than five minutes, but that adds up when every program needs daily input. Correlating results across platforms gets complicated, too. When a company has upwards of a dozen analytics tools, preparing for a weekly progress meeting could take an entire day. The process involves going through the “Three As” for each program: data must to be accessed, analyzed, and associated with data from other sources in order to build a complete picture. Complexity itself isn’t the problem. Complexity is more like a growing pain, a natural result of transitioning to a data-driven corporate culture. Data driven decision making (often shortened to DDD) takes advantage of modern analytics technology to shape corporate strategy. It’s at the heart of the current shift towards analytics software. Results are striking. In a sales environment, increasing data usability by 10% can increase sales per employee by 14%.   In short, knowledge is power. Enterprise software and apps are the tools that give executives the insight to make informed choices. Moreover, once a company optimizes its mobile app strategy it can potentially gain 240 hours per employee annually in increased productivity. The advantages of enterprise software are clear; leaders just have to find a way to control complexity.

Measuring The Scope of the Problem

In 2016, enterprise app usage increased 20% over 2015 rates. The average company used 10-16 apps to manage their operations, with marketing heavy organizations nearing 65 distinct apps. That number only includes off the shelf cloud apps, not home-grown solutions. [caption id="attachment_400" align="aligncenter" width="1614"] Source: okta[/caption] There isn’t a significant correlation between company size and the amount of software they use: all but the smallest family-owned businesses suffer from technological complexity at near-equal rates. Most analytics software is connected to the company’s central website, with 13 toolsets integrated into the average site. 56% of marketing executives reported using one to five separate tools for CRM. That’s likely a conservative estimate, since there were 450 marketing applications available as of January of this year. In fact, most people tend to underestimate the amount of software they use on a daily basis. In a Hubspot survey of salespeople and marketing, the majority of those surveyed claimed they regularly used less than five apps. Hubspot’s audit of those same companies found they still fell within the 10-16 app average. The time spent maintaining these tools is surprising. 82% of salesmen spend an hour every day managing software tools. That’s an hour spent solely on management, not usage or drawing reports. Pulling reports from different sources took another hour for 75%, relegating maintenance tasks to IT departments is a less efficient option given that their labor is typically more expensive. Every hour spent on analytics maintenance is an hour away from an employee’s regular tasks. Worse, some of those hours are wasted on redundant processes. 65% of survey respondents said up to five of their programs overlapped or were redundant. Different departments might choose to license similar software, or two related programs might need the same information for distinctly different purposes. Whatever the reason, the end result is higher labor costs and hampered productivity. Frustration with cluttered and redundant programs can leave a company with disgruntled employees who refuse to use enterprise software at all, as a recent survey of 4000 office workers shows. 85% felt that enterprise software made them more productive, but only 12% of workers say they rely on apps to at work. Another 88% cite poor user experiences as the reason for avoiding apps, including ones paid for or made by their employers. Of the 12% who use enterprise apps, less than half feel it provides an elegant, intuitive user experience. Executives aren’t blind to the effects of this process drain. Dasher CEO Jesse Boyes explained his concerns: “Minimizing complexity is a big deal for us. Every day we just want to come in and focus on building product, so every point of friction along the way really hurts us. The efficiency of getting your tools and processes smoothly integrated really quickly is very important to us.” Dasher isn’t alone. 74% of companies report that complexity issues are preventing them from reaching organizational goals, and 8% have had to deliberately slow their growth in order to fix problems caused by complexity. [caption id="attachment_401" align="aligncenter" width="757"] Source: SAP[/caption]

Off-the-Shelf ERP Vs Custom-Built Integration

Used here, custom programming doesn’t refer to rebuilding a company’s software from the ground up. It’s a process of building a logical path between workflows, collecting data from enterprise apps and tool kits, and presenting that data in a way that gives executives a live view of operations. There are several off-the-shelf programs that serve as an intermediary between enterprise apps. Some can even perform BI analytics on a limited range of apps. Regardless, custom programming is still far and away the best solution for managing complexity. This approach outperforms boxed programs in three main categories. Customization Off-the-shelf programs are generalists, not specialists. They have a set of features with broad appeal, tools designed to be functional to as many people as possible. This means that while a company can find software that does some of what they need, there’s unlikely to be something pre-made that fits all of its processes. Two things tend to happen next. First, the company seeks out more software to cover the gap in their management routine. Adding these new programs creates asymmetrical complexity that can cause problems later in the company’s lifetime. Second, employees begin to reshape their workflows to incorporate the unused portions of the software. This seems like a sensible use of resources- except those unused features were being ignored for a reason. They aren’t needed, and using them gives a false sense of innovation and productivity. During custom software development, the developer creates a system that addresses the client’s specific requirements. The system isn’t limited by a set selection of features. It does what the customer needs and no more, bringing the number of moving parts down to an absolute minimum. This tailored approach makes the software work the way the company works, not the other way around. Integration OTS software only functions well with other software when one or both programs are designed for interoperability. Limited communication between software is a primary cause of redundant administrative tasks; since the individual programs doesn’t share with each other workers have to enter the same information over and over. Integration isn’t a challenge for custom programming. Where programs don’t mesh well, developers can write code that connects them to each other, routes them to a central dashboard, uses their data to update a different app, or whatever is needed to facilitate an efficient workflow. Analytics This is an area where custom programming wins by default because traditional ERP systems don’t have analytics capabilities. An ERP simply gathers data and presents it in one location. Developers building a custom solution can choose to channel their client’s information into a program like Power BI, creating a constantly-updated dashboard that displays the output from all the feeder programs. Even in-house apps which aren’t app-store friendly can be connected so their data flows through Power BI. Looping in advanced analytics is one of the highlights of creating a custom BMS because of its ease of access. Instead of opening each app and tool, extracting the data, and arranging it into a useable format, leaders merely open their central dashboard and tab over to a prearranged screen. Those reports are already updated and displayed in relation to each other. The system generates graphs and charts to help visualize the requested data, editing them periodically so that the information shown is always the most current. Once the custom BMS is in place and tools such as Power BI is enabled, executives can request more analysis of their data using a natural language query system. This goes beyond a simple file request. Natural language programs have advanced to the point where executives can make complex demands such as, “What were the total sales of product X in the South Region last quarter?” and expect accurate output.

A Client’s View of The Custom Software Development Process

Off-the-shelf products can’t deliver the same level of performance without custom programming, so why do so many companies shy away from an individualized approach? The most commonly cited concerns are unwillingness to disrupt current activity and a lack of understanding about the development process. The custom software development process imposes a reasonably light burden on the client organization. As a demonstration, this section will describe the steps involved in creating an integrated BMS using custom programming. [caption id="attachment_402" align="aligncenter" width="576"] Source: Concepta[/caption] The guide begins after the client company has engaged a web development firm to handle the process. Most firms will require a deposit as well as a rough estimate of the overall budget for the project before moving into discovery. The first and most important phase of custom programming is discovery. Everything that follows will stand on the foundation built during discovery, so communication is key. Misunderstandings that make it out of this phase cause expensive delays down the road. That's only one of the reasons why good enterprise-level IT projects fail. To help prevent this, the developer’s consultant does research before the first planning meeting to get a general idea of the company’s scope and prepare an outline of industry-specific questions. In the initial meeting, the client runs the consultant through their normal business operations. They then hash out the company’s requirements from a user-facing perspective. Instead of jumping straight to the process, the ends results are captured. These requirements are phrased as statements:
  • I want to be able to enter a customer’s data and have it populated across these platforms.
  • I want these two applications to generate a joint weekly report.
  • Our current estimate procedure requires three apps; we want to narrow that down to one field-friendly process.
Striving for end goals rather than listing every step of the process has two purposes. First, it helps clarify what the programming needs to accomplish without getting bogged down in minutiae. Second, it leaves room for programmers to suggest more efficient ways to handle a task that the client might not be aware of. Once the requirements are finalized the consultant takes them back to the developers to produce a wireframe. This minimalist sketch serves as the blueprint of how the product will function. In a sense, it’s the earliest prototype of the end product. It allows the customer to check the flow and make changes. Wireframing goes back and forth several times as the developers respond to client feedback. When the client approves the final set of wireframes, design work begins. The designers (who may also be the developers) work with the client to create a visual style for the interface. In most cases the design features the company’s brand colors, but the focus more on creating an intuitive layout. Remember the 88% of workers who won’t use an app if it’s too much of a hassle? This is the step where the company can draw those workers in. The more employees who buy into the technology, the more impact that technology can have on the bottom line. With requirements, wireframes, and design sorted, there is enough information for the consultant to put together a realistic estimate. Up to this point the project has been put together to fall in line with the client’s initial estimate. Now the consultant can add up the hours and resources necessary to turn the wireframe design into a functional system and provide a more accurate assessment of cost. There is no standard price for custom programming solutions. Everything depends on scope. For a BMS “dashboard” like this project, the biggest factor affecting price would likely be complexity. How many programs need to be integrated into the system? Are those off the shelf apps or in-house software with unfamiliar code? The more intricate the coding, the longer it will take the developers to complete. Other considerations include size, creative design requirements, and fees associated with the Business Intelligence software. It’s not unusual to go back to wireframing a few times from this point. The original estimate was a general ballpark figure meant to cover all possibilities. When the total costs are calculated clients may decide they have room in their budget for more features. This means the cycle of wireframing, design, and estimates can repeat a few times until the client agrees to a plan. The next section of the process takes place at the development firm. Project Managers use Agile strategies to plan and oversee a series of programming sprints culminating in a finished product. At the end of each sprint is a deliverable, usually one that builds on the previous deliverable. These are brought to the client for feedback. [caption id="attachment_403" align="aligncenter" width="695"] Source: screenmedia[/caption] Having each deliverable approved by the client reduces the risk of making an error on the second sprint that invalidates everything after it. In addition, it increases the likelihood that change orders will come at a more efficient time in the process (ie, the sprint which is about to begin rather than several sprints prior). Each deliverable has been checked by the end of the project, but that doesn’t eliminate the need for final QA and testing. Both automated and manual testing methods are used. Automated testing provides information on load testing and shakes out programming errors while manual testing make sure the interface is user-friendly. When the interface clears QA it’s ready to be delivered to the client and phased into use. Consultants help plan training sessions to guide employees through their expanded capabilities and the streamlines maintenance processes. After this is completed, the development firm’s responsibilities shift towards software maintenance.


Complexity is here to stay, but it doesn’t have to impact the bottom line. Turn to custom software development solutions to personalize your BMS simplified technological integration and boost analytical power. Are you interested in hearing how Concepta can help minimize your complexity issues? Schedule an exploratory call with one of our consultants!

More from our team

A Faster Way Forward Starts Here