Co-development in action
This VP of software development needed a website overhaul. It was important work and his team was maxed out. Here’s how we made it easy.
This client needed a website overhaul but had two hurdles: Their people were busy and their financial domain was complicated. They needed domain-specific help that would not require the internal team to invest a lot of time in training. Here’s how they got a pain-free rebuild without compromising on complex features.
For over 30 years, this client has been a trusted resource for financial advisors. The company provides customized investment advice, investment products, and ongoing support exclusively to broker-dealers and financial advisors at both independent investment firms and large Wall Street firms. They released one of the first electronic databases for dealer bond listings 25 years ago and more recently they were named one of Inc. Magazine’s “5000 fastest growing companies” for four consecutive years.
Their primary customer-facing and branding tool was their website. After 8 years of steady growth despite a website that had fallen behind, it was time for a top to bottom overhaul. Areas of particular concern included:
- User interface: The site was cumbersome for users and in particular, their most important advisor module (unit investment trusts) required navigating through six pages in order to get requested data.
- Performance: The site loaded slowly and did not integrate flawlessly with third party apps such as CRM (customer relationship management) software.
- Filtration, data handling, and presentation: User requests for stock and bond values, projections and reports were not optimally pulled or reported.
- Security and accuracy are critical in the financial services industry, so domain knowledge would be critical.
Addressing stressors to make action easy
Though it was clear a revamp was overdue, the client’s internal team had neither the bandwidth nor the dedicated skill set to take on the project. They wanted to avoid hiring internally and subsequently letting go of talent brought on just for the website. They preferred a co-development environment where they could dial up an external resource without having to make long-term commitments.
- Training: We set up a training protocol where the Integrant developer with deepest domain knowledge would train new team members, thus freeing up the client’s internal team from the time and resources required to do so. The business domain added a degree of complexity. When dealing with finance, funds, stock management and the bond system, accuracy in calculations is imperative and for this the team needed a strong knowledge of the domain. Because we had a developer already working with the client on maintenance and minimal refactoring at the time this project was initiated, he was able to train the new team members on the domain and associated tools. This saved the internal team time and resources and allowed them to invest in related projects, not training.
- Bench: We assigned a dedicated UI developer exclusively to the client team. Sometimes UI developers do server side development and database development in addition to UI, resulting in delayed velocity when UI is a major focus. A dedicated 100% UI developer would speed up the timeline and ensure a successful leap from outdated UI to a far better user interface.
- Agile: We extended the client’s internal team without requiring any compromises in their preference for agile methodology, related communication protocol, and tools. This lent itself to fast prioritization and pivots.
- Timeline: The client wanted the project done within six months. We mutually agreed upon a co-development approach that would facilitate a good, on-time outcome.
Co-development done right means lighter load and better outcome
The client’s VP, software development served as the project owner and together we jointly defined the most efficient team. Integrant provided a technical lead, two developers, a UI developer, and a quality engineer. The client provided a project owner, technical lead, two developers, and a database developer.
Structure and communication patterns looked like this:
- Sprints every two weeks. Sprint planning and retrospective meetings included all team members. The client’s team and our team operated as one team.
- Daily meetings between our technical lead and the client’s technical lead.
- Scrum board: We used TFS Online. Both the client and Integrant used the same board.
- The client-side project owner (VP, software development) was skilled at organizing priorities and defining requirements, and was also an awesome motivator. He ensured that sprint planning grew from a realistic assessment of our mutual capacity. This allowed room to excel. For instance, he would prioritize tasks 1, 2, and 3 and ask that we complete task 4 as a stretch goal. We would deliver 4 plus 5 and 6. So there was mutual inspiration and feeling of accomplishment.
- The client’s project owner Skyped or emailed the Integrant technical lead with tasks he wanted completed by the internal team and asked the Integrant technical lead to add stories to the Scrum board on his behalf. Subsequent questions the internal team had were mostly referred to the Integrant technical lead. This degree of multi-level collaboration and trust ensured fast, transparent communication.
Co-development resulted in a high level of interdependence and agility in several areas:
- Production environment: The client gave the Integrant team members access to the production environment. In a financial services company of this type, access to the database is a big responsibility that allowed us to work more efficiently and effectively.
- Problem resolution: The client used Sitefinity for its web content management system (CMS). The Sitefinity contract includes support and the client’s internal team called on that support when upgrading from an older to a new version of the platform resulted in integration failure with other website modules. The solutions offered did not work and the Integrant team was able to address the issue which was subsequently adopted by Sitefinity on behalf of other clients. The co-development/one-team approach allowed both the client players and the Integrant players to rely on each other as issues came up. The shared goals environment meant if something was broken, we fixed it as one team.
- Changes: Once the project was initiated the client identified additional refactoring plus new elements and functionality they wanted to add. In addition to introducing a new theme to all pages, we also added new modules and in the case of the client’s most important offering, unit investment trusts or UITs for short, we refactored and rebuilt the entire section. Functionality, calculations, and content that previously the user would have to go through six separate pages to access, was now accessible on one page. To accommodate the additional elements, we worked with the client’s project owner to prioritize modules to be completed within the original timeframe of six months. The astute project owner used Google Analytics to prioritize pages and modules. He looked at traffic to identify the most-visited pages. We identified pages with 2% or less of total website traffic. Those pages were finished within one month after launch.
The tools we used reflected site functionality and third party integrations.
- Telerik components
- Word forms
- MVC technologies
- SQL server
- Sitefinity (content management system)
- Jmeter to simulate load tests
- Integration with SFDC for single signon
- TeamCity for continuous integration
- TFS online for adding tasks and user stories
- Code hosted on GitHub
The new website launched within the six month timeframe, the remaining areas were completed within one month following, and client-side stakeholders expressed gratitude to our client contact.
This project leveraged our ability to make the project experience easy and successful for the internal team. With an on-trend UI and more efficient functionality, the client now provides its financial customers a website that reflects its leading place within the market.