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
Managing requirements for a many-thousands cont...
Search
flaper87
February 21, 2016
Programming
120
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Managing requirements for a many-thousands contributors software
flaper87
February 21, 2016
More Decks by flaper87
See All by flaper87
Inheriting code… and I don’t mean classes
flaper87
0
280
Don't try to look smart, be smart
flaper87
0
200
Keeping up with the pace of a fast growing community without dying
flaper87
0
210
A walk to remember: Debugging a distributed system failure
flaper87
0
230
Fast-forward to today's Zaqar
flaper87
0
170
Breaking Backwards Compatibility: The easy way
flaper87
1
180
A functional view to Rust
flaper87
1
160
Rust - A walk to concurrency
flaper87
3
610
Kilo Plans for OpenStack Messaging
flaper87
0
220
Other Decks in Programming
See All in Programming
AI 輔助遺留系統現代化的經驗分享
jame2408
1
840
Skillsは効率化、Agentsは"自分の拡張"——Builder時代のエージェント編成(CC Night 2026)
wemra
1
140
Signal Forms: Details & Live Coding @enterJS 2026 in Mannheim
manfredsteyer
PRO
0
160
JJUG CCC 2026 Spring: JSpecify で実現する Kotlin フレンドリーな Java API 設計
ternbusty
1
180
AI 時代のソフトウェア設計の学び方
masuda220
PRO
29
13k
Performance Engineering for Everyone
elenatanasoiu
0
190
Make SRE Operations Easier with Azure SRE Agent
kkamegawa
0
7.1k
技術記事、 専門家としてのプログラマ、 言語化
mizchi
13
6.3k
過去最大のMCPアップデート! 2026-07-28 RC版の謎に迫る
licux
6
370
依存関係から依存物へ―Dependencyという言葉の歴史をひも解く
j_lee
0
120
Webフレームワークの ベンチマークについて
yusukebe
0
170
LLM本来の能力を解き放つサンドボックス技術とAI民主化への適用
yukukotani
3
4.3k
Featured
See All Featured
Un-Boring Meetings
codingconduct
0
320
KATA
mclloyd
PRO
35
15k
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
340
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.3k
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
400
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2.1k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
950
Rebuilding a faster, lazier Slack
samanthasiow
85
9.5k
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.3k
Side Projects
sachag
455
43k
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
220
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
Transcript
Managing requirements for a >1k contributors software
None
dafuq?, smiling cat?
For attending Still here feel free to interrupt @flaper87
[email protected]
None
The problem Co-Installable software What do we depend on? Requirements
Synced
What do we depend on? License requirements Binary vs Pure
Python Py27 / Py34 support
What do we depend on? License requirements Binary vs Pure
Python Py27 / Py34 support
What do we depend on? License requirements Binary vs Pure
Python Py27 / Py34 support
What do we depend on? License requirements Binary vs Pure
Python Py27 / Py34 support
requirements >= synced Project 1 Project 2 Project 3 Project
N
Co-Installable software Compute Requirements Storage Requirements Network Requirements
Co-Installable software Compute Requirements Storage Requirements Network Requirements openstack libraries
Third-Party libraries transitive dependencies
Co-Installable software Essential for integration tests
OpenStack [...] to produce the ubiquitous Open Source Cloud Computing
platform that will meet the needs of public and private clouds regardless of size, by being simple to implement and massively scalable. [...]
Compute & storage We’ve been adding new projects to the
ecosystem ever since OpenStack was created
Compute & storage auth We’ve been adding new projects to
the ecosystem ever since OpenStack was created
Compute & storage db auth We’ve been adding new projects
to the ecosystem ever since OpenStack was created
Compute & storage Network db auth We’ve been adding new
projects to the ecosystem ever since OpenStack was created
Compute & storage Network Messages db auth We’ve been adding
new projects to the ecosystem ever since OpenStack was created
Compute & storage Network Messages db auth Images We’ve been
adding new projects to the ecosystem ever since OpenStack was created
Compute & storage Images DB net auth All these projects
ought to be able to run under the same environment
Centralized requirements
For every requirement file Main Tests Extra
For every requirement file Direct & Transitive
For every requirement file Internal & Third-Party
Not editable mode (-e)
Not external source (-f)
CI Job forbidding untracked requirements
minimum Working version
No Dependency Caps
Requirements Constraints
1 2 3 4 Does it have an acceptable license?
Is it Py3 compatible? Is it actively maintained? Is it packaged already? 5 Does something similar exists already? Ask yourself these questions
... Or you can just ignore this ...
1 2 3 4 Use the minimum version possible Avoid
dependencies that don’t do semver Capping is not always good Favor things on PyPi 5 Keep track of transitive dependencies Summary-ish
Questions?