Can a team with 3 software developers build a “tailored” product in a few months and replace an enterprise solution that no longer fully satisfies business needs?
In this talk I will tell you how we managed to put a first working version of the new product into production in a few months, combining a strong desire for simplicity, good technical practices, and a lean approach.
At the end of the talk, you will understand that collaboration, feedback, and a process to support the product make any kind of goal achievable!
2. Who am I
Paolo D’Incau
Engineering Manager at Prima Assicurazioni
@pdincau
3. Why we built from
scratch
Rewriting is not always the best choice, but
we felt the urgency of building something
tailored around our needs.
4. Why we built from scratch
The reasons behind
● With more than 1.5M customers, we needed better scalability
5. Why we built from scratch
The reasons behind
● With more than 1.5M customers, we needed better scalability
● We needed new features that were not available
6. Why we built from scratch
The reasons behind
● With more than 1.5M customers, we needed better scalability
● We needed new features that were not available
● Data are paramount if you are a “data driven company”
7. “How many devs?”
This is the standard question you hear when
you have a challenging goal and a tight
deadline. We were only 3.
9. “How many devs?”
Only 3, but...
● Supported by a cross functional team
● We all aimed for simplicity and focused on what mattered
10. “How many devs?”
Only 3, but...
● Supported by a cross functional team
● We all aimed for simplicity and focused on what mattered
● We adapted the process to shape a better product
11. How we worked
We combined modern technical practices
but collaboration was the real key.
12. How we worked
Tech and collaboration
● We adopted mob programming “cum grano salis”
13. How we worked
Tech and collaboration
● We adopted mob programming “cum grano salis”
● After 3 weeks, we started to continuously release to test environments
14. How we worked
Tech and collaboration
● We adopted mob programming “cum grano salis”
● After 3 weeks, we started to continuously release to test environments
● We instrumented, stressed, profiled and secured
15. The road to production
After some months the product was almost
complete, so we decided to run tests with
REAL users and get feedback.
16. The road to production
Test it and get feedback
● “Pre-mortem” was a good way to highlight possible weaknesses
17. The road to production
Test it and get feedback
● “Pre-mortem” was a good way to highlight possible weaknesses
● We run several A/B tests, increasing the numbers of affected users and the
frequency/duration of tests
18. The road to production
Test it and get feedback
● “Pre-mortem” was a good way to highlight possible weaknesses
● We run several A/B tests, increasing the numbers of affected users and the
frequency/duration of tests
● We got feedback and improved iteratively specific parts of the system
19. Time to go live
We reached a point where the new system
was online as much as the older one, so our
PO decided to burn the ships.
20. Time to go live
Be ready!
● Unexpected events happen
21. Time to go live
Be ready!
● Unexpected events happen
● Great teams behaves calmly under pressure
22. Time to go live
Be ready!
● Unexpected events happen
● Great teams behaves calmly under pressure
● Grab some drinks and enjoy the success!
23. Was it worth it?
More than one year has passed since we
went to production with the new system;
can we call it a success?
24. Was it worth it?
A partial analysis of the outcomes
● Scalability issues have been fixed, and incidents in production are very uncommon
25. Was it worth it?
A partial analysis of the outcomes
● Scalability issues have been fixed, and incidents in production are very uncommon
● Lot of new data for our analysts
26. Was it worth it?
A partial analysis of the outcomes
● Scalability issues have been fixed, and incidents in production are very uncommon
● Lot of new data for our analysts
● We can integrate our product with the rest of our systems
27.
28. What’s next?
Every time you solve a problem, you have
new opportunities to chase and new issues
to tackle!
29. What’s next?
Our new challenges
● Can we support business needs we couldn’t imagine 2 years ago?
30. What’s next?
Our new challenges
● Can we support business needs we couldn’t imagine 2 years ago?
● Can a tailored application become a framework?
31. What’s next?
Our new challenges
● Can we support business needs we couldn’t imagine 2 years ago?
● Can a tailored application become a framework?
● What about new developers?