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
Rails 1.0 のコードで学ぶ find_by* と method_missing の仕組み / Learn how find_by_* and method_missing work in Rails 1.0 code
maimux2x
1
200
pylint custom ruleで始めるレビュー自動化
shogoujiie
0
150
Generating OpenAPI schema from serializers throughout the Rails stack - Kyobashi.rb #5
envek
1
380
Bedrock Agentsレスポンス解析によるAgentのOps
licux
3
920
XStateを用いた堅牢なReact Components設計~複雑なClient Stateをシンプルに~ @React Tokyo ミートアップ #2
kfurusho
1
990
なぜイベント駆動が必要なのか - CQRS/ESで解く複雑系システムの課題 -
j5ik2o
14
4.6k
AIプログラミング雑キャッチアップ
yuheinakasaka
17
4.3k
生成AIで加速するテスト実装 - ロリポップ for Gamersの事例と 生成AIエディタの活用
kinosuke01
0
120
ファインディLT_ポケモン対戦の定量的分析
fufufukakaka
0
920
はじめての Go * WASM *OCR
sgash708
1
100
GoとPHPのインターフェイスの違い
shimabox
2
210
Djangoアプリケーション 運用のリアル 〜問題発生から可視化、最適化への道〜 #pyconshizu
kashewnuts
1
260
Featured
See All Featured
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
32
2.1k
Making Projects Easy
brettharned
116
6k
Unsuck your backbone
ammeep
669
57k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Done Done
chrislema
182
16k
The Cost Of JavaScript in 2023
addyosmani
47
7.4k
Optimising Largest Contentful Paint
csswizardry
34
3.1k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
30
4.6k
Java REST API Framework Comparison - PWX 2021
mraible
29
8.4k
How to Ace a Technical Interview
jacobian
276
23k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
330
21k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
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 → recruitment@flowing.it
Thanks strazz@flowing.it