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
130
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
290
Don't try to look smart, be smart
flaper87
0
210
Keeping up with the pace of a fast growing community without dying
flaper87
0
220
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
190
A functional view to Rust
flaper87
1
160
Rust - A walk to concurrency
flaper87
3
620
Kilo Plans for OpenStack Messaging
flaper87
0
230
Other Decks in Programming
See All in Programming
LL言語やWebフレームワークのPostgreSQL対応 〜DBの機能がユーザーに届くまで〜
kentaroutakeda
0
130
T3DD26: From RAGs to Riches
martinhelmich
0
130
FDEとは、何者なのか?
masapyon1212
0
120
高専、大学編入、そして未踏へ〜プロダクト開発とキャリアの歩み - Technical College, University Transfer, and On to “Mitou” / My Journey in Product Development and Career
pkmiya
0
130
Webエンジニアなのにブラウザの仕組みがわからないので、Pythonで自作してみた
tatsuki12
4
1.6k
AWS Step Functions 大規模並列の壁を越える / jaws-sonic-2026-niigata-step-functions
kasacchiful
PRO
0
260
tsc.rip を支える技術 / Kyoto.なんか #8
susisu
0
4.2k
レビュー履歴をAIに食わせて、 Compose移行を加速するs
shihochan
0
260
Discordを用いたラボオートメーション関連情報収集の自動化
noguhiro2002
0
490
ALB ログから Trace を気合で繋げる技術
fohte
7
850
LLMは4年分のCompose移行を再現できるのか?実プロダクト279件のXMLで探る自動化の境界線
makun
0
320
数年滞っていたダークモード対応をおよそ2週間で完了させる
chigichan24
0
620
Featured
See All Featured
The Curious Case for Waylosing
cassininazir
1
490
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
1
390
Fireside Chat
paigeccino
42
4k
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
430
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
640
Heart Work Chapter 1 - Part 1
lfama
PRO
8
36k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
53k
New Earth Scene 8
popppiees
3
2.5k
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
230
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
2
410
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
3
1.2k
Leo the Paperboy
mayatellez
8
2.2k
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?