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
0
100
Managing requirements for a many-thousands contributors software
flaper87
February 21, 2016
Tweet
Share
More Decks by flaper87
See All by flaper87
Inheriting code… and I don’t mean classes
flaper87
0
260
Don't try to look smart, be smart
flaper87
0
190
Keeping up with the pace of a fast growing community without dying
flaper87
0
190
A walk to remember: Debugging a distributed system failure
flaper87
0
220
Fast-forward to today's Zaqar
flaper87
0
160
Breaking Backwards Compatibility: The easy way
flaper87
1
170
A functional view to Rust
flaper87
1
150
Rust - A walk to concurrency
flaper87
3
600
Kilo Plans for OpenStack Messaging
flaper87
0
190
Other Decks in Programming
See All in Programming
大規模Cloud Native環境におけるFalcoの運用
owlinux1000
0
250
DevFest Android in Korea 2025 - 개발자 커뮤니티를 통해 얻는 가치
wisemuji
0
180
dchart: charts from deck markup
ajstarks
3
960
フルサイクルエンジニアリングをAI Agentで全自動化したい 〜構想と現在地〜
kamina_zzz
0
360
0→1 フロントエンド開発 Tips🚀 #レバテックMeetup
bengo4com
0
500
Pythonではじめるオープンデータ分析〜書籍の紹介と書籍で紹介しきれなかった事例の紹介〜
welliving
3
800
re:Invent 2025 のイケてるサービスを紹介する
maroon1st
0
170
TerraformとStrands AgentsでAmazon Bedrock AgentCoreのSSO認証付きエージェントを量産しよう!
neruneruo
4
2.5k
Automatic Grammar Agreementと Markdown Extended Attributes について
kishikawakatsumi
0
140
KIKI_MBSD Cybersecurity Challenges 2025
ikema
0
1.2k
16年目のピクシブ百科事典を支える最新の技術基盤 / The Modern Tech Stack Powering Pixiv Encyclopedia in its 16th Year
ahuglajbclajep
5
890
Claude Codeの「Compacting Conversation」を体感50%減! CLAUDE.md + 8 Skills で挑むコンテキスト管理術
kmurahama
1
770
Featured
See All Featured
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
0
290
Crafting Experiences
bethany
0
32
How GitHub (no longer) Works
holman
316
140k
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
100
The Invisible Side of Design
smashingmag
302
51k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.9k
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
9.4k
Rails Girls Zürich Keynote
gr2m
95
14k
Side Projects
sachag
455
43k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
9.8k
Prompt Engineering for Job Search
mfonobong
0
140
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
1
360
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?