Give back power to developers
or How we managed to create a 100 man/days application in 15 days without scrum
https://github.com/lechinoix


VP of Engineering @BPI
Web Performance expert

Living in Grenoble (French Alps)
I love climbing, skiing and travelling

When French governement announced the first lockdown of the country...
I was there !
(enjoying my best life)
2 weeks later, I was back in France with nothing to do T_T
Let's go back to work ! (but easy peasy)


Which means :
Emergency plan
to help companies
The mission :
✅ Save the french small companies to which banks will not give loans
✅ Avoid fraud, financing terrorism and money laundring
✅ Keep the financial risk at a controlled level
✅ Make it all automatized because we do not have the manpower
😱 All of this has to be in production in 3 weeks


Quite a transition am I right ?
First week, full conception :
🤝 Meet the BPI Team
🎨 Draw a functional diagram (user journey and data flow)
☎️ Contact all external services to make sure they meet the SLAs
🧠 Imagine high level implementations
🧮 Estimate all those
100 man/days of work to do
(2 weeks left before first bankrupcies)
So the challenge is to :
- Build a 7 people team
- Onboard them on this Domain that is new to me
- Align them on a project roadmap
- Make them collaborate to develop a complex application
- Code myself (we were short one developer)
What organization can achieve such a challenge ?
Scrum By Default
But Scrum is heavy
- Sprint iteration
- Timeboxes
- Burn down charts
In the future, there will be no developers...


Already 18 years ago
Developers have to steep themselves in the domain to build up knowledge of the business
- Team sprint -> Developer Track
- Timeboxes -> Milestones
- Points BDC -> Milestone BDC
Our adaptations
Our production process

Our team organisation
👋 Daily meetings to share achievements, difficulties and learnings
🔖 Kanban board to organize the production
🤔 Weekly retrospective to improve the way we work
📞 One meet room opened all the time
How did we build our track strategies ?


- Agile methods were built as an allergic reaction to V Cycle
- Months-long conception phase would deliver unreadable technical documentation
- Technical specification and documentation are coined as “bureaucracy”
In a nutshell
Technical Dive Ins


Our best pratices
📜 Describe models and contracts
🎨 Use the right diagrams
👨⚖️ Make technical decisions explicit
🔍 Use documents to build knowledge
☎️ List key contacts (experts and partners)
📜 Describe models and contract
A well-written implementation should be transparent, revealing the model underlying it.
Diagrams are the skeletons of ideas
Eric Evans
🎨 Use the right diagrams
The classic UML monster



C4 Model
🎨 Use the right diagrams

Entity Relationship Diagram

State Machine Diagram
Sequence Diagram


🎨 Use the right diagrams
👨⚖️ Make technical decisions explicit
- In what context did the decision happen ?
- What were the options ?
- Why did you choose this one ?
👨⚖️ Make technical decisions explicit


Step Functions

An example
🔍 Use documents to build knowledge

Crucial discoveries always emerge during the design/implementation effort
Eric Evans
☎️ List key contacts (experts and partners)
Mission complete !
Some might say : "Scrum is dead"

Where are we today ?
What worked
📚 Developers keep on building Technical documents for each feature
🧑🏭 As far as possible, we keep specialization for new features
What did not
🐣 Taking ownership is hard if you do not master the technical stack
😞 Separate goals works against team spirit
No silver bullet
Scrum
A formal methodology
- Prioritize actions to protect from wild requests
- Train new developers in high churn team
- Follow team productivity
Kanban
Make your own !
- React more quickly to situations
- Specialize team members to be more efficient
- Follow tailor made KPIs
To conclude
🧑🏭 Specialization creates efficiency and ownership but impacts team spirit and onboarding
📚 Good technical documents creates engineering thinking and helps organizing before starting to code
💡 Scrum by the book is heavy and formal, but contains good ideas that you should adapt when you start feeling the need
References
Scrum is dead : https://betterprogramming.pub/scrum-is-dead-all-hail-kanban-the-new-king-2cd6249feef8
Engineering thinking : https://medium.com/qonto-way/reintroducing-engineering-thinking-in-the-development-world-1541f7cbf1d1
C4 Model : https://c4model.com/
ADR : https://adr.github.io/
Thank you for listening !
Questions ?
Annexe
Estimation process

Split your product in bricks
Split those in tasks
Estimate tasks and apply Fibonacci
Give back power to developers
By Nicolas Ngô-Maï
Give back power to developers
- 351