Contents 1 Who are we 2 Requirements & Objectives 3 Obstacles 4 Implementing SPI 5 Achievements & Future Plans
Who are we National Bank of Greece Information Technology Divisions NBG is one of the largest banks in Greece 180 years of history and support to the Greek economy 10K+ employees 5M+ customers and partners Information Technology Divisions 700 employees of which 250 developers 700+ business applications Operations Security Business Analysis Application Development Digital Transformation
Who are we Digital Transformation Division Division’s responsibility is to set the roadmap of the Bank’s digital transformation and guide the Organization through this journey. 70 specialized personnel Solution Architects Product Designers Data Analysts DevOps Engineers Product Owners Scope Enduser facing applications (internal & external, desktop/web/devices) Partners and Ecosystem services (APIs, Developers Portal) Big Data infrastructure and ML supported business decisions Customer Journey optimization R&D and implementation of new technologies and ideas
Requirements & Objectives Adaptation & Delivery to meet rapidly changing market needs and trends UI/UX Multiple devices and platforms Omni-channel experience Fully dependable installations Performance Scaling Availability Connectivity to the ecosystem, ingoing & outgoing FIs Partners Software Houses In accordance to the highest standards Security Requirements Compliance Limitations Regulation Obligations
Obstacles Organizational Rigid vertical structure Slow moving procedures Highly regulated industry Cultural Long history of waterfall mindset Scattered decision making Silos Operational Decision makers “away” from the projects Key seniors become bottlenecks Complex setup Monolithic applications in legacy systems that are hard to change Many & diverse products, technology stacks, infrastructure solutions Methodology Late identification of issues on software or requirements. Scope creeps. Big & inflexible development circles
Implementing SPI Architecture & Technology stack Constantly adopting modern and widespread technology stacks Designed an architectural prototype for our codebases Creating reusable code libraries, services and components Creating solution templates for bootstrapping new projects Products Replacing instead of patching outdated solutions whenever possible Building productized, generic & expandable solutions Training Created Guidelines including training material and books for every role Design Thinking & Agile/Scrum workshops Code review and junior developer mentoring sessions Code quality Keeping systems small & single-purposed Writing clear code once Measuring the code’s Quality as part of the DoD
Implementing SPI DevOps Creating the Test/QA/Prod environments as soon as possible CI/CD is running automated tests and deploying to Test environment “Agile” Methodology Delivering small parts of functionality at a time Establishing trust between members Retrospectives sessions Motivating members as the product owners Product is designed to anticipate change Coaching rest of organization to the collaborative product implementation Design first approach Scenario based requirements describing the expected user experience Solution Architects creating the Design Documents All decisions fully justified in Documents Automated e2e tests are created based on the scenarios Design Document is one of the most important deliverables of the project The result success is measured based on Design Documents
Achievements & Future Plans We have sped up the process of delivering new applications and features Changes still occur but less rework is needed because of early decision making Released important resources from writing code to designing solutions Work can be assigned to multiple developers of even little experience Easy to scout for new developers with experience on the technology Onboarding or shifting team members or even team leaders seamlessly Information is shared across teams Team members are working on multiple products High code quality systems People acquire skills in many different areas of product development and seek opportunities to take on multiple roles Project effort estimation measured based on Technical Design
Achievements & Future Plans Project effort estimation measured based on the number of scenarios Project progress is measured based on scenarios success rate All the organization to embrace a new way of work and close cooperation framework We are exploring and seeking new approaches to further improve our software processes and we welcome new ideas, suggestions and collaboration opportunities