It probably isn’t a surprise that some IT projects don’t meet expectations. It may surprise many to learn that a majority of IT projects do not achieve their intended goals and objectives... After all, modern cloud-based software is supposed to make implementations easier and provide a faster ROI than traditional software. However, the IT software-focused CHAOS survey from the Standish Group shows a project failure rate greater than 30%. It also shows over 50% of all software projects have their value challenged by leadership before completion.
Unsurprisingly, there is no singular reason why IT projects fail to meet expectations but there are a few categories that are consistently found in underperforming projects.
Leading Causes of Failure (surprise, not technology)
When requirements are not clearly articulated, interpretation can lead to the implementation of features and functionality that don’t meet expectations. There should be a clear definition of what done means, what the success criteria are for the requirement, and an agreement on the priority and scope of the work. Without agreement on what needs to be delivered, it becomes a guessing game in which the technology ultimately takes the blame for not delivering the right capabilities. In short, the problem isn’t the technology but rather communication of the intended requirements.
When implementing modern platforms, there is often a lack of experienced and qualified individuals who can not only articulate how to do a particular task, but can also explain why it should be done a certain way. Oftentimes, a pattern used on another project, at another client, or found online, is used as a shortcut to quickly deliver functionality.
The challenge in this situation is understanding why the pattern was used and if the current requirements match the initial context for the pattern. When patterns are used indiscriminately, performance, scalability, and maintainability all take a serious hit.
Modern, cloud based technology makes development easy, right? Too often when implementing new technology tight and unrealistic timelines are given. Initial implementation teams often ignore the up front efforts needed to ensure long term success of a new platform.
Compounding this problem are when contingent workers are used and they don’t speak up when a client asks for an unrealistic timeline. Unfortunately, to try and meet the unrealistic times, shortcuts are often used and become long term problems uncovered long after the consultants are gone.
New technologies typically require a shift in thinking in order to fully realize their value. Organizations that are implementing a technology for the first time often base their expectations and estimates on prior experiences and do not consider the foundational aspects of what is required. By skipping the foundational aspects and focusing on delivering a tactical win, they often start down a path that inhibits the reuse and accelerated delivery that modern platforms such as MuleSoft Anypoint can provide.
When thinking about IT project failure, the most glaring item missing from this list is the technology itself. In failed or poorly performing projects, the underlying technology is most often not the root cause of the issues. The overarching issues point to not using modern software development practices, not defining a definition of success, and not establishing a strong foundation on which future projects can be built to accelerate development.
Why Measure and Track the ROI of Your MuleSoft Anypoint Platform?
When implementing a cloud native product, like MuleSoft’s Anypoint platform, teams are often laser focused on delivering the first “win” and proclaiming success. However, the team at AVIO has seen time and time again when project teams solely focus on an initial tactical win, they do not spend time thinking about the foundation needed to meet the objectives and expectations established when justifying the purchase of MuleSoft.
If you don’t think big, smart small, and act fast, odds are the long term value achieved will be significantly less than it could be.
Similarly, when building a house, there are a number of design and architectural elements that must be considered up front. If the foundation, wiring runs, and plumbing are not carefully considered up front, there is a high probability the house will not be built properly and will be seen as problematic as there will be issue after issue that needs to be addressed and fixed. Quickly, the initial excitement over the new house will fade as the maintenance and deficiencies become exposed more and more.
When building a house, homeowners are excited to pick out countertops, cabinets, and paint colors as they are front and center as the primary aesthetic of the house. No one really appreciates the most critical elements like the foundation, plumbing, and electrical wiring. However, if there wasn’t good forethought put into what the foundation needs to support, where the plumbing needs to be located, and where the electrical outlets should be, the house would be exceptionally difficult to live in.
Implementing MuleSoft Anypoint platform is very similar to building a house. If there isn’t proper consideration for how the foundational aspects of the platform are initially built, the platform will become difficult to sustain and the initial excitement for the expected results will quickly wane.
There is nothing that short circuits the adoption of new technology than the loss of trust in its capabilities as a result of improper usage.
AVIO Platform and Architecture Review Can Help Restore Trust in the
MuleSoft Anypoint Platform
When adopting MuleSoft, clear and thoughtful consideration must be given to the initial goals and objectives of when Mule was purchased so that design and platform decisions are aligned to the overall business case.
Four Critical Components to Track for MuleSoft Anypoint Platform Projects You Probably Aren’t
AVIO has identified four critical areas to be mindful of when implementing the MuleSoft Anypoint Platform:
Anypoint Platform Setup
A lack of thoughtful consideration of the Anypoint platform is a common failure point for organizations adopting MuleSoft. We often see platforms with security issues such as open ports, a lack of multi-factor authentication (MFA) for users, and runtime secrets stored in plain text. There are a signifiant number of decisions which can be made during initial platform setup, such as trusted domains, role definitions, and identify provider usage, that can impact the ability to properly scale the platform and can inhibit the overall ROI.
Methodology to API Led Connectivity
The most common pattern we see in organizations that have lost confidence in their Mule platform is what we call “Paving the cowpath.” Simply, this means the design decisions used in previous technologies are used again when implementing Mule. Again, not a technical issue, but rather a lack of strategic and consultative thinking. We frequently see organizations with point-to-point integrations that are simply implementations of their legacy patterns. When properly implemented, API-led connectivity significantly reduces the time to implementation and enables reuse across multiple teams. By evolving to API-led connectivity, clients unlock tremendous benefits and are well positioned to maximize their MuleSoft investment.
As mentioned multiple times before, technology isn’t often the cause in poorly performing or failed software implementations. The lack of adoption of modern application development practices is a significant contributor to an underwhelming adoption. To decrease development timelines and ensure high quality code, organizations must evolve to leverage more modern software management practices.
The two most common issues we see in poorly performing development teams are a lack of automated testing and an unstructured code management strategy. The lack of automated testing leads to a significant increase in technical debt as future changes are difficult and time consuming to implement. Properly defined and executed automated testing enables future developers to make changes and have a high degree of confidence their changes are not going to negatively impact the existing functionality. Similarly, organizations without a well defined code management strategy often struggle to rapidly make changes as it is difficult to segment out features if all changes are made in a single branch of code. Furthermore, any evolution of software management practices such as continuous integration and continuous deployment are inhibited if there is no code management standardization.
Application Development Maturity
In highly performing IT organizations, software development standards are well defined and communicated. If best practices such as naming conventions, structured logging, and design patterns are not defined or communicated, adoption of the MuleSoft Anypoint platform has a high probability of slowing to a crawl. Individual teams could duplicate efforts, have conflicting design standards, and not align on a standardized testing approach which will make transition and maintenance efforts difficult.
Furthermore, when team members move to new projects, having to learn new patterns and norms for a different application will significantly slow down momentum and progress. A lack of well defined software development standards is the key contributor to technical debt and can have a significant negative impact on new technology adoption.
As a result of organizations not seeing the expected results from their MuleSoft implementations, AVIO Consulting has created our Platform and Architecture Review (PAR). This complimentary, two week assessment provides organizations with a clear scorecard and understanding of where they are utilizing their MuleSoft Anypoint Platform well and where they drive additional value.