Architecture Assessment Identifies Highest ROI Initiatives
The Company provides a Software as a Service (SaaS) solution to help the financial services community thrive in an ever-changing market by making their operations more professional and profitable. Built specifically for the European market, The Company’s IT expertise, coupled with years of experience of the European financial services sector, ensures that the system offers an unparalleled degree of specialism for its clients.
Challenges & Opportunities
Unclear long-term architectural viability. The Company felt their architecture was reasonable given the current roadmap, but was unsure about long-term viability in terms of enhancements, performance, scalability, and maintainability.
No architecture plan. The team executed well on new feature delivery and made small incremental improvements on overall design. However, a holistic plan did not exist with the resource dedication to pull off the required technical advancements.
Lack of metrics. Architectural improvements were mostly qualitative, although the team did have good metrics for performance and scalability. Metrics on the source and design level were ad-hoc and scarce.
Developer inefficiency. Developers were performing multiple builds per day in their development environments, and had to employ risky trickery to make their builds faster. An analysis of the workflow, hardware, and coupling was necessary to identify key improvements.
Crosslake’s technical assessment helped us understand where to focus our improvement efforts through a new pragmatic understanding of ROI. We now have a comprehensive stack-ranked roadmap for change which has already streamlined our development workflow and is helping us deliver better quality software, faster than ever before. A big thank you to Crosslake for all their help, guidance and passion.Stuart C.
Crosslake established the plan of attack for a 6-week period with the CTO. It then worked collaboratively with the Chief Architect and team of senior developers to assess the architecture with a focus on impact and risk of staying the course compared with the effort of a refactoring or re-engineering effort for key pieces of the system. Through a set of daily conversations, white-boarding sessions, interviews with key developers, source code analysis, and metrics analysis, a full backlog was established along with descriptions of how to fix the top items.
The project was executed in an Agile way with daily updates, weekly goals and planning, and a retrospective, over approximately 6 weeks. Sessions were all done remotely, with Crosslake being US-based and The Company being Europe-based.
The end result included a full architecture backlog, a document describing the key issues with recommendations for fixes, and a presentation to the board of directors describing our findings. Crosslake provided value in multiple ways:
- Acted as an influencing authority to the board of directors.
- Provided an outside-the-box set of recommendations and incremental execution steps, including creating a common platform.
- Kept the team working to concrete goals and measures.
Architecture validation. After assessing the overall architecture, Crosslake concluded that the architecture was viable in the long-term. Additionally, an improvement was identified to create a common platform from two related products.
Architecture backlog. A key deliverable was a stack-ranked backlog of technical improvements, along with an execution plan. The backlog ranked the negatives of effort, cost, impact, and risk against the positives of perceived added business and engineering value to quantitatively define return on investment.
Design metrics. Metrics were identified that lead to additional items on the backlog, and provided an indicator that could be run regularly as part of the build process.
Increased developer efficiency. Decoupling opportunities decreased the build time on a developer workstation from approximately 7:20min to approximately 2:00min. Hardware improvements also dramatically improved those numbers. Conclusion Crosslake helped provide assurance that a complex architecture was viable and established a plan for future technical advancement and execution of re-engineering efforts in an incremental way.
Crosslake helped provide assurance that a complex architecture was viable and established a plan for future technical advancement and execution of re-engineering efforts in an incremental way.