SpringOne Platform 2016
Speaker: Brad Miller; Global Head, Digital & Cloud, Citi
Brad Miller, Head of Global Digital Technology, Consumer Digital & Cloud Technology, speaks about how Citi, a 200-year old banking institution, is transforming its technology and culture.
4. “In order to grow Citi, we first have to grow our own
perspective, skills and capabilities….Our curiosity, our
openness to learning and trying new things, our ability to
adjust and adapt quickly and our willingness to fail fast
and fail small are the essence of a culture that innovates
and exposes new value to our clients in real time.”
Stephen Bird, CEO
Citi Global Consumer Group
11. Technology: Cloud and Microservice Platform
Operate: Change how we work
People: Set the foundation
Accelerating Citi’s Digital Transformation
End State
• Quicker
Speed to
Market
• Mobile
First
• Cloud
Enabled
12. Accelerating Citi’s Digital Transformation
End State
• Quicker
Speed to
Market
• Mobile
First
• Cloud
Enabled
Citi FinTech—wealth management:
76 Devs
Agile Citi—Cards & Retail Bank:
208 Devs
All Digital Teams:
+1200 Devs
16. Realignment of Customer Value
Co-locate Teams:
Chennai, Dallas, NYC, Jacksonville
Focus on Hiring
Invest in Employees through
Training
Culture of
Ownership
• Product level
thinking
• Autonomy &
decision
making
• Alignment of
business end
technology
19. Enabling a Culture of Builders
Security by design1
Performance2
Dependably data driven with a single source of truth3
Modular, reusable, global services4
Fully automated5
20. Enabling a Culture of Builders
Relentless real time6
Self-monitoring and self-healing7
Scalable, elastic, distributed and cost-effective8
Speed to market through continuous integration and delivery (CI/CD)9
Service ownership through a single team responsibility principle (STRP)
1
0
31. Agile Development
Cloud Platforms
CICD
Services Services
Services Services
ServicesServices
Build and Test Release
Build and Test Release
Build and Test Release
Build and Test Release
Build and Test Release
Build and Test Release
Build and Test Release
Tomorrow
When I think about transformational journeys, I think of my own.
I’ve gone from building box products as part of Microsoft Office and Windows, to Amazon where I learnt how to build scalable services that processed every financial and payment transaction through Amazon within the ecommerce platform
And now with Citi where I’m honoured to lead our Global Digital and Cloud Technology organization
I get the same question a lot – “why did I leave Amazon to move to Citi”.
And the answer is pretty simple
Having an impact on how customers manage their finances on a daily basis was a huge draw. Today, there’s a lot of customer pain and friction in experiences. Lots of disconnect on providers of financial data. It’s a personal experience.
The challenge of transformation – In thinking about my next adventure as I departed Amazon, I was really headed down the start up path, however, that’s quite similar to Amazon in many ways as to how Amazon works even in a big company. However, very rarely in your career do you get the opportunity to transform a 200 year old company. And it’s changing culture and technology which is a hard problem.
However, the 3rd and most important reason for me to make the move was Stephen and the executive commitment that Citi has to making the change.
If you’ve been listening to Stephen speak over the past half year, he’s been unwavering and relentless in pounding in to the company the vision of
Employee personal growth – what are you doing as an employee to grow, learn, and make yourself better – calls it driving yourself to be forward compatible.
Changing the way we think at Citi holistically, expanding our curiosity, and our desire to fail fast in small increments – test and learn
To quote the Cat in the Hat, UNLESS someone like you cares a whole awful lot, nothing is going to get better. It’s not.
Executive Commitment
Great People, long tenure with expertise in Banking systems
Lots of Customers
Investment to Change
However, it’s not rosy. Because of the 200 year old history, regulatory environments and competitive pressure of the marketplace in the number of FinTech startups eating our lunch.
Monolithic Code Bases
Thick Horizontal Layers
Proprietary Infrastructure
Many hand offs of code.
Waterfall delivery process
4 major releases per year
Large testing efforts and integration
Heavy governance
Culture of Business as Usual
Our day-to-day work is about Pain:
Within Citi our internal Business Partners feel the pain in long time to market, and lack of business agility
“What do you mean it take 20+ teams to change one field end-to-end?”
Our development teams are frustrated with internal roadblocks, process and tool friction
And our customers are the beneficiary of the environment with friction in experiences and feature gaps that negatively impact meeting their needs
Prepare our people and business for a digital and agile/nimble environment
and the future opportunities that will come with change
Simplify & streamline processes & tools to transform to
Agile & mature to Continuous Delivery
Cloud enabled, service oriented, and supports continuous
integration and delivery
The nut of this slide is as follows…
New Organization: FinTech
Build from scratch
Hire all new people
Build new operating model
Small organization, transformation is quick
TDD, CICD
Starting Point was 2 thin slices – working with pivotal to build out new model under their model
Train and go = scale fast
Existing Organization
Changing wheels on the bus as it moves
Transform to agile this huge organization
Break things down, build new process, change
If we’re committed to think like our customers, then we need to be aligned to our customers.
So I’ve taken our digital organization and pivoted it to directly support our businesses; Retail Bank, Cards, Digital Payments, Retail Services etc.
This gets focus on a single backlog that is prioritized by a single business leader. It’ll force different investment decisions.
Today, I have engineering teams all over the world. Tomorrow, I’m focusing on 4 key locations.
Today, I’m highly contractor leveraged with over 80% of staff as contractors. Tomorrow I’m focused on flipping this around and by the end of 2017, I’ll have an organization that looks a lot different in the construction of the team with 80% employee, and use contractors to expand and contract.
Finally, I’m doubling down on training for my staff focused on how to build distributed cloud services.
Started with Core Development Team
Vertical alignment of scrum teams
Embed Stakeholders within the Scrum Teams
Didn’t’ focus on reporting structure – focused on aligning for delivery
Surviving in a rapidly evolving, mobile-first ecosystem requires a continuous focus on the HOW we approach building applications going forward. All teams must build in this manner.
Security by Design – Above all, the security of consumer data and protected access to our underlying systems is of utmost importance. As such, security is deeply embedded in NextGen design process.
Performant – In the mobile age, performance is paramount to a positive consumer experience. NextGen services are designed with performance in mind, not as an afterthought.
Dependably Data Driven w/ a Single Source of Truth – A Domain-Driven Design (DDD) approach is taken in identifying the core products and services which yield the greatest competitive advantage and return on your investment.
Modular, Reusable Global Services – NextGen is built upon a service-oriented architecture derived from user experiences and aligned using an industry-best business taxonomy, all purposely built for multiple businesses across the globe. Each service is designed and deployed as a self-contained unit of functionality loosely coupled to reduce dependencies on other services creating the ability to quickly respond to changes in technologies and market trends.
Fully Automated – From design to deployment, NextGen supports a fully automated service lifecycle without manual intervention.
Relentlessly Real-Time – Consumers increasingly want information now! If you make a payment online, that transaction darn-well better be reflected in my mobile Snapshot. NextGen is hinged upon real-time, responsive business processes and real-time access to the most up-to-date data.
Self-Monitoring and Self-Healing – NextGen provides a real-time, end-to-end view of system health with high resiliency built around a rigorous Failure Modes and Effects Analysis (FMEA) for each and every service – self-identifying and rectifying issues on-the-fly.
Scalable, Elastic, Distributed and Cost-Effective – NextGen leverages the latest cloud technology to dynamically ramp up or scale down processing and data access power based on throughput and load, optimizing consumer experience and cost.
Speed to Market Through Continuous Integration and Delivery (CI/CD) – Services built upon NextGen are designed, developed, tested and released independently, removing long-running release dependencies.
Service Ownership Through a Single Team Responsibility Principle (STRP) – A single cross-functional team retains sole responsibility of managing a service end-to-end, from design to deployment, and its ultimate operation in market including any shared service or external management and versioning.
Surviving in a rapidly evolving, mobile-first ecosystem requires a continuous focus on the HOW we approach building applications going forward. All teams must build in this manner.
Security by Design – Above all, the security of consumer data and protected access to our underlying systems is of utmost importance. As such, security is deeply embedded in NextGen design process.
Performant – In the mobile age, performance is paramount to a positive consumer experience. NextGen services are designed with performance in mind, not as an afterthought.
Dependably Data Driven w/ a Single Source of Truth – A Domain-Driven Design (DDD) approach is taken in identifying the core products and services which yield the greatest competitive advantage and return on your investment.
Modular, Reusable Global Services – NextGen is built upon a service-oriented architecture derived from user experiences and aligned using an industry-best business taxonomy, all purposely built for multiple businesses across the globe. Each service is designed and deployed as a self-contained unit of functionality loosely coupled to reduce dependencies on other services creating the ability to quickly respond to changes in technologies and market trends.
Fully Automated – From design to deployment, NextGen supports a fully automated service lifecycle without manual intervention.
Relentlessly Real-Time – Consumers increasingly want information now! If you make a payment online, that transaction darn-well better be reflected in my mobile Snapshot. NextGen is hinged upon real-time, responsive business processes and real-time access to the most up-to-date data.
Self-Monitoring and Self-Healing – NextGen provides a real-time, end-to-end view of system health with high resiliency built around a rigorous Failure Modes and Effects Analysis (FMEA) for each and every service – self-identifying and rectifying issues on-the-fly.
Scalable, Elastic, Distributed and Cost-Effective – NextGen leverages the latest cloud technology to dynamically ramp up or scale down processing and data access power based on throughput and load, optimizing consumer experience and cost.
Speed to Market Through Continuous Integration and Delivery (CI/CD) – Services built upon NextGen are designed, developed, tested and released independently, removing long-running release dependencies.
Service Ownership Through a Single Team Responsibility Principle (STRP) – A single cross-functional team retains sole responsibility of managing a service end-to-end, from design to deployment, and its ultimate operation in market including any shared service or external management and versioning.
Proprietary infrastructure. Long lead times to provision hardware and create test environments.
Waterfall development and high system coupling. Long development cycles, high coordination.
High system coupling. High risk of release failure due to the large number of integration points.
Cloud platforms speed infrastructure provisioning and the creation of test environments through code.
Agile development enables shorter release cycles and lower levels of coordination.
CI/CD drives smaller, more frequent releases allowing teams to be nimble and catch problems early.
Highly coupled UI and business logic. The smallest UI changes are coupled with long release cycles.
Highly coupled business logic across all layers of each stack. Teams coordinate build, test and deploy.
Redundant stacks by channel and region. Further redundant effort and cost to build, test and deploy.
UI changes are made independently.
Business logic consolidated by service. Eliminates redundancy and reduces coordination.
Single, multi-tenant stacks support multiple channels and regions. Reduces cost and effort to build, test and deploy.
8 Month Transformation Journey
People and Organization
Pivoted organization from delivery channel to CEO alignment
Developed 2 new job families, consolidated families from many to 4
Training of development teams on cloud technologies, agile methods
Built an agile training onboarding class for all new dev teams
Technology
Microservices platform developed
Cloud and Infrastructure POCs
Cloud stack production ready
Building of Microservices in non-production environments
Started decoupling of monolith platforms
Operating Model
Delivered 3X the number of features this year vs. last year same period
Monthly Release cadence
300+ devs in scrum teams, scaling to 1200+ devs starting 1 August 2016
Created Agile Operating Model and RACI for all job families
Test driven development embedded in scrum team
Stakeholders embedded in scrum team (45% more efficient)
Unless you know otherwise, this is the approach we use.
Top-down:
1. Business drives product definition through user journeys
2. User Journeys drive new domain model
Bottoms-up:
1. Decomposition starts with existing code base
2. Existing code and workflows and business rules
Meet in the middle:
3. Mapping existing code to the new service domain model in functional definition
4. Tech Backlog is created that maps back to business priorities
5. Build service
6. Make reusable services available
Priority 1: Decouple the backend to increase speed to market and innovation
The How: build decoupled front end apps, build new services, obfuscate backend
Cloud platforms speed infrastructure provisioning and the creation of test environments through code.
Agile development enables shorter release cycles and lower levels of coordination.
CI/CD drives smaller, more frequent releases allowing teams to be nimble and catch problems early
8 Month Transformation Journey
People and Organization
Pivoted organization from delivery channel to CEO alignment
Developed 2 new job families, consolidated families from many to 4
Training of development teams on cloud technologies, agile methods
Built an agile training onboarding class for all new dev teams
Technology
Microservices platform developed
Cloud and Infrastructure POCs
Cloud stack production ready
Building of Microservices in non-production environments
Started decoupling of monolith platforms
Operating Model
Delivered 3X the number of features this year vs. last year same period
Monthly Release cadence
300+ devs in scrum teams, scaling to 1200+ devs starting 1 August 2016
Created Agile Operating Model and RACI for all job families
Test driven development embedded in scrum team
Stakeholders embedded in scrum team (45% more efficient)
Built a strong partnership
Expanding training of our employees
note – 3X more cost effective than training on your own while building real capabilities
Plans to build a Pivotal Lab within Citi
Huge thanks to the Pivotal Team:
BillC
BillS
Eric
Doug
Mik
Art
We’re hiring!!!! Contact XXXXXX come by and see me!