Software Quality Enhancement — for FinTech Wealth Management
- Goal: Strategic Initiative of a program started by R&D to improve the overall quality of the portfolio management software by improving the processes, procedures, documents, and coding standards.
- Results: +80% of objectives implemented worldwide, more stable product.
- Major Risks: technological interdependencies, skill and resource gaps, time-to-market delays, low visibility of cost-benefits, product reputation, and higher total cost-of-ownership TCO during banks’ RTB.
- Risks Mitigation: mapping for technological interdependencies, upskilling and expert coaching for skill gaps, Agile methodologies for time-to-market, earned value management (EVM) for cost-benefit visibility, contingency plans and failure mode and effects analysis (FMEA) for ‘quick wins’.
- Budget: R&D, +1’800 man-day.
- Timeline: part-time activity for 2 years —
- Staff: 7 people: 3 software engineers, 1 project manager, 2 DevOps engineers, 1 technical writer.
More details about achieved goals
1 – Code Quality
- Error Resolution and Developer Training: Accomplished the resolution of 4’900 compilation errors and 1’600 warnings in Windows C++ within the first two months of the program and upskilled developers in error fixing techniques.
- Code Reviews for Stability: Instituted code reviews as a standard practice, significantly enhancing product stability.
- Use of FlexeLint for Code Safety: Acquired FlexeLint tool (PC lint – static code analyser) for identifying unsafe C/C++ functions, integrated it into Microsoft Visual Studio and established a regimen of weekly code compilations.
- Coding Standards in C++ and Java: Defined robust coding standards, covering aspects like rounding rules, division by zero, and the use of exceptions.
- Code Modification Impact Analysis: Instituted a process to create test cases after any code modification to analyze the impact on the overall product.
- Enhanced Log and Trace Information: Improved log and trace information by standardizing messages and adding error numbers and traces in multiple functions.
2 – Development & Testing Processes
- Process and Procedures Update: Updated and comprehensively documented development process and procedures.
- Enhanced Fix Delivery: Refined the fix delivery process through iterative coding sessions, content freeze milestones, master CD validation, and post-project reviews.
- Development & Integration Environments: Established multiple development and integration environments to facilitate smoother workflow.
- Source Code Reorganization: Undertook the physical reorganization of Triple’A C sources to enhance code maintainability.
- Test Coverage and Stability Tests: Utilized PureCoverage tool for test coverage and conducted stability tests on the codebase.
- Comprehensive Test Suite: Implemented a test suite during the development phase that includes benchmarks and non-regression tests.
3 – Documentation
- Improved Templates and Forms: Streamlined and improved various forms and templates; combined small enhancement and development request forms into a unified “Development Request Form.”
- Enhanced Release Notes: Refined Fix Release Notes to highlight critical information upfront and categorize incidents into bugs, improvements, and developments.
- Technical Documentation: Developed comprehensive technical code documentation, utilizing tools like doxygen for automatic generation of C and Java code documentation. Unix and NT debug manuals, Telelogic CM Synergy and Microsoft Visual Studio user guides.
- Known Bugs Publication: Regularly updated and published a list of known bugs for transparent communication within the team and external stakeholders.
4 – Communication & Collaboration
- Quarterly Source Control Meetings: Instituted quarterly meetings to discuss issues related to source control (Telelogic CM Synergy).
- Bug Tracker Transition: Transitioned from IBM Lotus Notes to Atlassian JIRA for more effective bug tracking – processes are still in place 20 years later with the FinTech market leader.
5 – Extensibility & Scalability
- Product Extensions: Extended the enhancements and improvements to other products in the portfolio management software, ensuring scalability through modular design principles and well-defined APIs (Application Programming Interfaces).
Risks & difficulties
1 – Strategic Risks
- Misalignment with Business Objectives: The project doesn’t align with the organization’s overarching goals, making the investment inefficient.
- Mitigation Strategy: Conducted a rigorous alignment check between project objectives and business goals during the planning phase.
- Opportunity Costs: Resources committed to this project can’t be used for other potentially more beneficial initiatives.
- Mitigation Strategy: Utilized decision framework Weighted Scoring to evaluate the project against alternative investments.
2 – Operational Risks
- Technological Interdependencies: Changes in one software component may necessitate alterations in interconnected modules.
- Mitigation Strategy: Defined a Dependency Mapping and architectural reviews to understand the ripple effects.
- Skill and Resource Gaps: The project team may lack essential skills or resources, leading to delays or suboptimal outcomes.
- Mitigation Strategy: Upskilled existing team members and coached by software quality experts.
3 – Financial Risks
- Budget Overruns: The project exceeds its financial allocations due to unforeseen complexities or inefficiencies.
- Mitigation Strategy: Adopted Earned Value Management (EVM) techniques (costs, scope, time) to monitor financial performance and make data-driven adjustments.
- Unplanned Contingencies: Emergent issues, such as new bugs or security loopholes, may require additional funding.
- Mitigation Strategy: Allocated a contingency budget and employed proactive risk assessment tools like Failure Mode and Effects Analysis (FMEA).
4 – People Risks
- Change Resistance: Team members may resist new technologies or processes.
- Mitigation Strategy: Engaged in proactive internal communications and utilized change management models to facilitate acceptance.
- Knowledge Attrition: Loss of key personnel leads to a vacuum in essential skills and institutional knowledge.
- Mitigation Strategy: Implemented staff backups and knowledge transfer mechanisms.
5 – Delivery Time and Reputational Impact
- Time-to-Market: Delays in project completion lead to continuing bad software quality.
- Mitigation Strategy: Applied Agile methodologies to enable quicker iterations and adapt to market changes.
- Brand Erosion: A failed or delayed quality project undermines brand value and erodes customer trust.
- Mitigation Strategy: Maintain transparent communication with stakeholders and be prepared with a crisis communication plan.
6 – Governance and Continuous Monitoring
- Approach: Implement a Project Management Office (PMO) equipped with real-time dashboards to oversee KPIs and accountability mechanisms.
- Benefit: This allows for ongoing risk assessment and the agility to pivot strategies as required.
- Category
- DevOps, FinTech — Wealth Management, Operational Efficiency, Technology Transformation
- Actions
- DevOps, Code Quality Enhancement, Development & Testing Processes, Documentation
- Focus
- Error Resolution, Process and Procedures Update, Technical Documentation
- Operational Coverage
- Delivery Management, Process & Corporate Governance, Software Engineer, DevOps Engineer, Technical Writer
- Senior Program
- Didier Debbaut
- Industry
- Wealth Management FinTech







