Software Craftsmanship in Financial services Barath ... · Consulting → Applying ... TDD, Test...

21
Software Craftsmanship in Financial services Barath Krishnan - SocGen

Transcript of Software Craftsmanship in Financial services Barath ... · Consulting → Applying ... TDD, Test...

Page 1: Software Craftsmanship in Financial services Barath ... · Consulting → Applying ... TDD, Test Strategy (Test Pyramid), ATDD Common Language BDD Flow Enhancement CI, CD. Training

Software Craftsmanship in Financial services

Barath Krishnan - SocGen

Page 2: Software Craftsmanship in Financial services Barath ... · Consulting → Applying ... TDD, Test Strategy (Test Pyramid), ATDD Common Language BDD Flow Enhancement CI, CD. Training

Developer empowerment to improve their own life at work and deliver value to customers

Craftsmanship

Page 3: Software Craftsmanship in Financial services Barath ... · Consulting → Applying ... TDD, Test Strategy (Test Pyramid), ATDD Common Language BDD Flow Enhancement CI, CD. Training

Developer empowerment to improve their own life at work and deliver value to customers

Craftsmanship

Clean code and safety netCollective code ownership over individual improvement

Minimize disasters in production

Page 4: Software Craftsmanship in Financial services Barath ... · Consulting → Applying ... TDD, Test Strategy (Test Pyramid), ATDD Common Language BDD Flow Enhancement CI, CD. Training

The Manifesto➔ Not only working software,

but also well-crafted software➔ Not only responding to change,

but also steadily adding value➔ Not only individuals and interactions,

but also a community of professionals➔ Not only customer collaboration,

but also productive partnerships

That is, in pursuit of the items on the left we have found the items on the right to be indispensable.

Page 5: Software Craftsmanship in Financial services Barath ... · Consulting → Applying ... TDD, Test Strategy (Test Pyramid), ATDD Common Language BDD Flow Enhancement CI, CD. Training

What lies beneath

Utility over artistry - Take me from point A to B

Surface view

Artistry is clean code solving business problems

Take me from point A to B, super fast and safe

Page 6: Software Craftsmanship in Financial services Barath ... · Consulting → Applying ... TDD, Test Strategy (Test Pyramid), ATDD Common Language BDD Flow Enhancement CI, CD. Training

What lies beneath

Utility over artistry - Take me from point A to B

Surface view

Artistry is clean code solving business problems

Take me from point A to B, super fast and safe

(WYSINWYG)

Page 7: Software Craftsmanship in Financial services Barath ... · Consulting → Applying ... TDD, Test Strategy (Test Pyramid), ATDD Common Language BDD Flow Enhancement CI, CD. Training

Training → Awareness

Coaching → Building rigour with practices

Consulting → Applying experience to specific problems

Infusing craftsmanship

Page 8: Software Craftsmanship in Financial services Barath ... · Consulting → Applying ... TDD, Test Strategy (Test Pyramid), ATDD Common Language BDD Flow Enhancement CI, CD. Training

Training → Awareness

Coaching → Building rigour with practices

Consulting → Applying experience to specific problems

Infusing craftsmanshipSafety Nets

TDD, Test Strategy (Test Pyramid), ATDD

Common Language

BDD

Flow Enhancement

CI, CD

Page 9: Software Craftsmanship in Financial services Barath ... · Consulting → Applying ... TDD, Test Strategy (Test Pyramid), ATDD Common Language BDD Flow Enhancement CI, CD. Training

Training → Awareness

Coaching → Building rigour with practices

Consulting → Applying experience to specific problems

Infusing craftsmanship

“Craftsmanship coaching”

Page 10: Software Craftsmanship in Financial services Barath ... · Consulting → Applying ... TDD, Test Strategy (Test Pyramid), ATDD Common Language BDD Flow Enhancement CI, CD. Training

Build (In house developed) → Burden of legacy

Buy and customize → Tailored vendor products

New Tech → Fast and Furious

Enterprise landscape mix

Page 11: Software Craftsmanship in Financial services Barath ... · Consulting → Applying ... TDD, Test Strategy (Test Pyramid), ATDD Common Language BDD Flow Enhancement CI, CD. Training

Build (In house developed) → Burden of legacy

Buy and customize → Tailored vendor products

New Tech → Fast and Furious

Enterprise landscape mix

Impacts the ability to become agile

Page 12: Software Craftsmanship in Financial services Barath ... · Consulting → Applying ... TDD, Test Strategy (Test Pyramid), ATDD Common Language BDD Flow Enhancement CI, CD. Training

Agility through continuous delivery, deployment and connect with business

Page 13: Software Craftsmanship in Financial services Barath ... · Consulting → Applying ... TDD, Test Strategy (Test Pyramid), ATDD Common Language BDD Flow Enhancement CI, CD. Training

Agility through continuous delivery, deployment and connect with business

Practices@Developer @team

Optimize WIP

Page 14: Software Craftsmanship in Financial services Barath ... · Consulting → Applying ... TDD, Test Strategy (Test Pyramid), ATDD Common Language BDD Flow Enhancement CI, CD. Training

Experiences➔ Regulatory reporting

How to integrate faster, reduce defects and achieve faster TTM

➔ Service ManagementEven with weekly production release, lead times are high

➔ Risk controls applicationCode maintainability for future expansion

Page 15: Software Craftsmanship in Financial services Barath ... · Consulting → Applying ... TDD, Test Strategy (Test Pyramid), ATDD Common Language BDD Flow Enhancement CI, CD. Training

Approach: Regulatory Reporting

TDD BDD and Beyond...

Team approaches with training need

Metrics

Definition

Team invites coach for grooming (3 Amigos)

Microservices Cloud Native applications TDD

TrainingPair

Programming

with devs

Test Strategy

Consulting

BDD

Training

Page 16: Software Craftsmanship in Financial services Barath ... · Consulting → Applying ... TDD, Test Strategy (Test Pyramid), ATDD Common Language BDD Flow Enhancement CI, CD. Training

Approach: Service Management

Team approaches with training need

Test

Pyramid

Exploration

Roadblock: No way for automated unit tests

Pairing to

create

automated

deployment

Gherkin

based testing

strategy

consulting

Lead time

distribution

analysis

Moving from

sprint-testing to

regression testing

???

Page 17: Software Craftsmanship in Financial services Barath ... · Consulting → Applying ... TDD, Test Strategy (Test Pyramid), ATDD Common Language BDD Flow Enhancement CI, CD. Training

Approach: Risk Control Application

Team approaches with training need

Enhance

quality of

tests

Problem: Test Coverage not successful

TDD

Training

Pairing with

developers for

code reviewIncrease Test

Coverage

Assess quality of

existing tests

Refactoring

workshops

Page 18: Software Craftsmanship in Financial services Barath ... · Consulting → Applying ... TDD, Test Strategy (Test Pyramid), ATDD Common Language BDD Flow Enhancement CI, CD. Training

Feedback by staff and users

- Created unit test cases for legacy product by pairing with coach

- Code safe to refactor now

- Finds out bugs at early stage

- Test coverage improvement over 50% in 9 months

- BDD created common language among the team members

- Visualization of lead time helped to see from customer’s perspective

- Elimination of waste by suggestion to create regression test suite instead of sprint-level tests

Quotes for illustration purposes only

Page 19: Software Craftsmanship in Financial services Barath ... · Consulting → Applying ... TDD, Test Strategy (Test Pyramid), ATDD Common Language BDD Flow Enhancement CI, CD. Training

Our Journey● Agile at scale● Agile Information

Systems● Cloud DevOps

Page 20: Software Craftsmanship in Financial services Barath ... · Consulting → Applying ... TDD, Test Strategy (Test Pyramid), ATDD Common Language BDD Flow Enhancement CI, CD. Training

People➔ Culture and

Mindset➔ Upskilling/

Reskilling➔ New job

definitions➔ Craftsmen

Our Journey● Agile at scale● Agile Information

Systems● Cloud DevOps

Page 21: Software Craftsmanship in Financial services Barath ... · Consulting → Applying ... TDD, Test Strategy (Test Pyramid), ATDD Common Language BDD Flow Enhancement CI, CD. Training

Lion Man of the Holhensein-StadelOldest known uncontested example of figurine art

35000 - 40000 years old

Ref: The book “Sapiens” and Wikipedia