Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Contract-Driven_Development.pdf
Search
Francesco Strazzullo
September 10, 2021
Programming
0
570
Contract-Driven_Development.pdf
Francesco Strazzullo
September 10, 2021
Tweet
Share
More Decks by Francesco Strazzullo
See All by Francesco Strazzullo
Strategic Testing Decisions - Build Stuff 2021
francescostrazzullo
0
75
Domain-Driven Frontend
francescostrazzullo
0
1.3k
Strategic Testing Decisions
francescostrazzullo
0
340
A DIY Guide To Building Your Own Rendering Engine - CityJS2021
francescostrazzullo
2
79
Technical Decision-making Anti-patterns - Avanscoperta Meetup 2021
francescostrazzullo
0
400
How to Choose Your Next Technology Stack
francescostrazzullo
0
950
The Definition of Framework
francescostrazzullo
1
930
How to Choose Your Next Technology Stack
francescostrazzullo
1
250
Introduction To Alexa Custom Skills
francescostrazzullo
0
490
Other Decks in Programming
See All in Programming
Grafana Loki によるサーバログのコスト削減
mot_techtalk
1
140
Datadog Workflow Automation で圧倒的価値提供
showwin
1
140
たのしいSocketのしくみ / Socket Under a Microscope
coe401_
8
1.1k
第3回関東Kaggler会_AtCoderはKaggleの役に立つ
chettub
3
1.1k
PEPCは何を変えようとしていたのか
ken7253
2
140
バッチを作らなきゃとなったときに考えること
irof
2
500
『GO』アプリ バックエンドサーバのコスト削減
mot_techtalk
0
160
Multi Step Form, Decentralized Autonomous Organization
pumpkiinbell
1
850
クリーンアーキテクチャから見る依存の向きの大切さ
shimabox
5
940
Domain-Driven Transformation
hschwentner
2
1.9k
責務と認知負荷を整える! 抽象レベルを意識した関心の分離
yahiru
8
1.3k
Kubernetes History Inspector(KHI)を触ってみた
bells17
0
250
Featured
See All Featured
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
6
570
Designing on Purpose - Digital PM Summit 2013
jponch
117
7.1k
Java REST API Framework Comparison - PWX 2021
mraible
29
8.4k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
175
52k
Large-scale JavaScript Application Architecture
addyosmani
511
110k
Raft: Consensus for Rubyists
vanstee
137
6.8k
Building Applications with DynamoDB
mza
93
6.2k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
193
16k
Adopting Sorbet at Scale
ufuk
74
9.2k
StorybookのUI Testing Handbookを読んだ
zakiyama
28
5.5k
GitHub's CSS Performance
jonrohan
1030
460k
Making Projects Easy
brettharned
116
6k
Transcript
Contract-Driven Development
Francesco Strazzullo (AKA Strazz) @TheStrazz86 Interested in #SoftwareDecisionMaking? Contact me!
Ego Slide
Who should listen to me? _
Every developer in a software delivery company
None
Companies that buy Software delivery
Why should you listen to me? _
“The structure of any system designed by an organization is
isomorphic to the structure of the organization.” https://en.wikipedia.org/wiki/Conway%27s_law
Clients are part of your Organization
What is a contract? —
“a binding agreement between two or more persons or parties”
https://www.merriam-webster.com/dictionary/contract
Contracts are a binding part of your Organization
None
How Contracts can affect Software Architecture _
Fixed Price/Fixed Scope —
None
Company Client Who risks more?
The Usual Path
None
Fixed Price Contracts does not permit learning
Time & Materials —
Company Client Who risks more?
None
What happens when you become more efficient?
T&M Contracts discourages Performances
None
T&M Contracts build “distrust”
None
Unconscious Decisions
None
Inverse Conway Maneuver —
“Inverse Conway Maneuver recommends evolving your team and organizational structure
to promote your desired architecture” https://www.thoughtworks.com/radar/techniques/inverse-conway-maneuver
Is there a third way? _
None
Money Back Guarantee Contract — https://github.com/flowingis/money-back-guarantee-contract
How it works? _
Start Sprint Pay Fixed Price End Ok? Enough? Continue? Yes
Yes No No No Yes
Time is not Known, Concentrate on the Value
Company Client Who risks more?
Testing? _
You Choose
Learning? _
You Choose
Architecture? _
You Choose
None
None
A perfect solution? _
Skin In The Game
Sprint Negotiation is hard
None
Practice makes perfect!
Interested? _
WE ♥ REMOTE WORKING Milan, Rome, Turin, Treviso, Bologna, Ancona,
Catania and wherever you want! We are hiring →
[email protected]
Thanks
[email protected]