Developing software is hard business. Despite software engineering practices being around for over fifty years, the information technology (IT) industry is still littered with projects that have failed remarkedly. It’s not hard to remember Healthcare.gov, Knight Capital Group, Boeing Dreamliner, or IBM Watson Health. Even setting aside the disastrous examples that make front page news, the typical project is far from successful by almost any measurement. Budget overruns, delayed launches, and failure to deliver promised features are some of the typical challenges faced by any IT project. According to a 2017 report from the Project Management Institute (PMI), 14% of IT projects fail; however, that number only represents the total failures. Of the projects that didn’t fail outright, 31% didn’t meet their goals, 43% exceeded their initial budgets, and 49% were late. With statistics such as this, business leaders should understand their options before embarking on any information technology effort.
Why is developing software difficult?
It’s not difficult to understand why many projects fail to meet their intended objectives—incomplete requirements, uninvolved project sponsors, shifting project objectives, inaccurate estimates, unanticipated risks, unknown dependencies, limited resources, poor project management, etc. In my experience, these are the effects of the complex system that underlies software development rather than the cause. If these are the root causes of project failures, then it would seem straightforward to remediate. But this is simply not the case.
Projects are complicated social systems with hundreds of independent variables and many feedback loops that influence development. The reality is that humans do not deal with complex systems well. Decisions are made based on incomplete or inaccurate information and are impacted by numerous variables. Take the game of Go, a board game with simple rules but immense complexity in execution. The number of legal board positions in Go is 2.1 x 10¹⁷⁰. The number of states for tic-tac-toe comparatively is 1 x 3⁹. Projects more resemble Go than tic-tac-toe. With all the possible states, it’s easy to understand why everything from estimation to execution is a challenge in projects. Even with modern tooling and agile methodologies, many organizations continue to struggle to meet the scope, time, and budget objectives of technology projects.
Organizations have options for dealing with information technology needs of their business. In essence, three decision paths exist: build custom software, buy from an all-in-one vendor, or integrate independent best-of-breed solutions¹. While building or integrating may appear to offer more flexibility and independence in designing the solution, it is dependent on being able to execute on what most financial services organizations fail to achieve—successful project execution. Execution risk is very real, and studies have shown that the larger the project, the greater the execution risk.
There are several additional factors to be considered.
The pace of technological change. The rate of technology advancement is both a blessing and a curse. There are more technology options today than ever before: vendors, languages, open-source frameworks, architectures, etc. Every choice has short- and long-term impact. With all the uncertainty in today’s world, one thing is not—technologies available today are guaranteed to change, and changes in technologies may not only require reengineering of solutions but also investment in new skills.
Building custom software is expensive. Development generally involves months or years of design and development effort, combined with extensive planning and input gathering. But this merely represents the initial launch costs of the product. Most organizations aren’t prepared for the actual cost of the software. It is estimated that maintenance (e.g., security patching, modernization, elective development, etc.) can be 20%–30% of initial costs. Like a car, information technology requires regular maintenance for the depreciable life of the solutions and a plan to replace.
With any build or integration effort, organizations are ultimately responsible for the software development effort. As such, they confront the same project complexities that impact our industry. Information technology endeavors such as these rarely achieve the return on investment they intend.
The case for a comprehensive, pre-integrated SaaS solution
Advisor360° provides a holistic solution to meet the needs of broker-dealers and their clients. As a professional SaaS company, building and delivering great software is Advisor360°’s business—and our only business. While we are not immune from the project challenges described above, as professional software engineers, our job is to ensure we embed the right processes, hire the right skills, and invest in the stability and scalability of the platform. Our “superpower” is the union of people with enterprise software and financial services backgrounds. From Product Management, to Engineering, to Customer Success and Operations, to the support staff in the firm, our teams are all aligned to a singular focus of delivering great software. For our clients, this represents a clear opportunity to shift the burden of software development and, ultimately, reduce their risk.
Advisor360°’s advantage is enterprise data
One example of how you can shift risk from your organization to Advisor360° is with respect to data—arguably one of the most critical value-drivers of your business. Enterprise data projects are not only a high investment area in financial services, but they are also one of the most problematic areas to deliver successfully.
The most common approach organizations take to stitch together disparate systems for consumption is to build an enterprise data warehouse. A data warehouse provides a central repository for consolidating data from disparate transactional systems for analytics and business intelligence. Despite being around for almost 30 years, a data warehouse is notoriously difficult and expensive to implement. The failure rate of data warehouses and analytics projects is high; in January 2019, Gartner estimated that 80% of analytics insights will not deliver business outcomes through 2022². And data warehouses do not solve the inherent problem that many companies face: trying to integrate many different systems. Nor does a data warehouse solve the problem that users still have to work with many different tools to complete their job.
With Advisor360°, our software is built on top of your data in what we call our Unified Data Fabric™ (UDF). As its name implies, it is the integrated underpinnings upon which our platform is built. Rather than solve the problem by building an overlay technological solution that connects an amalgamation of separate and unique technological platforms at the end, our platform is constructed using UDF at its foundation. The UDF is what allows us to manage the entire data lifecycle—from ingestion of data, to the normalization, to the cleansing and enrichment, and ultimately to the consumption of data—either by our platform or yours.
Our UDF has been built over 20 years so we’ve been able to build our entire platform on top of a cross-software component data model. Because of this, our clients get the benefit of having their clean and normalized data—one of the most difficult parts of any implementation—already built and industrialized.
Some features of UDF include: