Step 1: Identify Requirements
Preparation is key, and changes to your enterprise software are no different: taking the time to identify your needs can help set you up for success. It’s essential to involve all stakeholders in this process, including business leaders, IT teams, and end users. This ensures that everyone’s needs are considered, and that the project scope is defined accurately. However, this general approach is just a blueprint. No two projects are the same, especially in an agile approach to solution architecture.
That’s why we’ll always look at the context to adopt our approach. For example, we identified that TERA’s challenge was to replace an internal legacy system that had been custom-built over decades. To meet this challenge, we divided both our functional analysis document and the vendor selection process into several functional areas. This let us thoroughly evaluate the many potential vendors for each area, while keeping a clear overview.
Step 2: Start Evaluating Vendors
Once you have defined the project’s scope and requirements, it’s time to evaluate potential vendors who can help meet those objectives. When doing so, it’s essential to look beyond just their technical capabilities to meet the requirements of a request for proposal (RFP). Don’t forget to consider the vendor’s reputation and track record in the industry. Look for references and case studies that demonstrate their success in delivering similar projects successfully.
In the case of TERA, we assigned the potential vendors for each functional area a fitting score based how much of their offering matched the needs of the business by default. This included functional requirements like use cases and business processes, but also non-functional requirements like responsiveness and user friendliness, and technical requirements. As we’ve pointed out in the first of our 16 axioms of Agile Architecture, the quality of customer experience is becoming a critical success factor, just like in TERA’s solution architecture.
Sometimes, a vendor’s proposal didn’t completely cover the RFP because they interpreted it differently. After all, functional requirements don’t always perfectly translate to a technical product. In these cases, we estimated the amount of effort that would be needed to bridge the gap, which was inversely proportional to the fitting score. Where possible, we also explored how willing TERA would be to accept the proposed alternatives.
We also considered the maintenance aspect of the solutions: TERA is an oil refinery, so changes to for example excise legislation require fast and smooth updates to the new system. In a series of functional workshops, we discussed these aspects with TERA and the vendors, with the ultimate goal of determining an overall total cost of ownership (TCO). We conducted a thorough cost-benefit analysis to determine the rate of interest (ROI) of the solution, including the fitting costs, maintenance, upgrades, and other associated long-term costs.
Step 3: Considering the Vendor’s Approach
When narrowing down your list of potential vendors, it’s important to examine their approach in more detail. Evaluate their level of expertise and experience in the areas that are most relevant to your project. It’s also important to consider their level of innovation, especially in terms of using cutting-edge technology and industry best practices.
In TERA’s case, we looked for vendors who could provide clear documentation and knowledge transfer to their internal team, based on our earlier functional documentation. Because of the scope, it was essential to choose a vendor who could not only provide a solution but also be a partner throughout the project’s lifecycle.
Step 4: Evaluating Communication and Collaboration
Communication and collaboration are crucial when making changes to the software powering your enterprise. It’s essential to establish clear lines of communication between your team and the vendor. The vendor should be transparent, communicating regularly with the team and providing regular check-ins, progress updates, and milestone reviews. In some cases, vendors overlook this aspect, so we decided to make rapid feedback loops another axiom of Open Agile Architecture™.
Additionally, it’s important to establish effective collaboration practices that allow for streamlined decision-making and issue resolution. By working closely together, you can ensure that the project stays on track and meets its objectives. Ultimately, the vendor’s approach should align with your company culture and values, fostering a positive and productive working relationship.
At the moment of writing, TERA is still deciding based on our vendor analysis, so we haven’t reached this stage of the project yet. However, we did stress the importance of an iterative approach during our earlier functional analysis. We also promoted collaboration tools and features like Word’s live commenting function to ensure a steady flow of continuous improvement.
Step 5: Ensure a Smooth Transition
Once the new enterprise software has been set up or modified, it’s important to ensure a smooth transition to your team. This includes providing adequate training and documentation to ensure that the new system can be used effectively. Additionally, it’s important to establish a plan for ongoing maintenance and support to ensure that the new system remains up-to-date and performs optimally. We haven’t quite reached this step with TERA yet, but we’re looking forward to seeing how the rest of the project will unfold.
Choosing the right vendor for your enterprise software can be a daunting task, but taking a structured approach will help ensure success. By identifying your needs, evaluating potential vendors based on their technical capabilities, reputation, and approach, and making use of effective communication and collaboration practices, you can make an informed decision.
If you’re considering making changes to your software stack, we encourage you to take the time to evaluate your options carefully and find a vendor who aligns with your company culture and values. By doing so, you can establish a positive and productive working relationship and ensure that your project meets its objectives.