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
コードと政治
Search
Yutaka Kamei
October 02, 2024
Technology
0
79
コードと政治
Yutaka Kamei
October 02, 2024
Tweet
Share
More Decks by Yutaka Kamei
See All by Yutaka Kamei
タスクは分割するのではなく、ステップを積み重ねていく
yykamei
4
700
「困っていることはありません」は物事の見方を変えるチャンス
yykamei
0
25
Other Decks in Technology
See All in Technology
Security response for open source ecosystems
frasertweedale
0
100
初めてのPostgreSQLメジャーバージョンアップ
kkato1
0
390
Multitenant 23ai の全貌 - 機能・設計・実装・運用からマイクロサービスまで
oracle4engineer
PRO
2
120
Amazon EKS Auto ModeでKubernetesの運用をシンプルにする
sshota0809
0
110
SSH公開鍵認証による接続 / Connecting with SSH Public Key Authentication
kaityo256
PRO
2
220
数百台のオンプレミスのサーバーをEKSに移行した話
yukiteraoka
0
680
【5分でわかる】セーフィー エンジニア向け会社紹介
safie_recruit
0
20k
移行できそうでやりきれなかった 10年超えのシステムを葬るための戦略
ryu955
2
240
非エンジニアにも伝えるメールセキュリティ / Email security for non-engineers
ykanoh
13
3.9k
Explainable Software Engineering in the Public Sector
avandeursen
0
360
AIエージェントキャッチアップと論文リサーチ
os1ma
6
1.2k
AWS CDK コントリビュート はじめの一歩
yendoooo
1
120
Featured
See All Featured
Facilitating Awesome Meetings
lara
53
6.3k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
129
19k
Six Lessons from altMBA
skipperchong
27
3.7k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.7k
We Have a Design System, Now What?
morganepeng
51
7.5k
The Language of Interfaces
destraynor
157
24k
GitHub's CSS Performance
jonrohan
1030
460k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Stop Working from a Prison Cell
hatefulcrawdad
268
20k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
28
2k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
40
2k
Transcript
コードと政治 Yutaka Kamei 渋谷アジャイル#3 @ウイングアーク1st 六本木グランドタワー
Self-introduction • Yutaka Kamei • @yykamei on GitHub • @_yykamei
on X • Timee, Inc.
政治力
政治ってなに? 1 主権者が、領土・人民を治めること。まつりごと。 2 ある社会の対立や利害を調整して社会全体を統合するとともに、社会の意思決定を 行い、これを実現する作用。 出典: コトバンク(小学館を参照)
身近な政治 人は他人と関わります。それぞれ異なる 思想を持っています。どこかで折り合いを つけないと喧嘩ばっかりになりますね。
インデント幅 インデント幅に対するすべてのスタンスを許容するとリアス式海岸のようになります
そこで、政治の出番です インデント幅に関しては概ね「公式発表」で解決されていますね
「公式発表」だけでは解決できない政治がある! • 「こっちとそっちの書き方どっちがいい の?」 • 「そのファイル、こっちのディレクトリーに 書くべきでは?」 • アーキテクチャーの決定 •
他にもたくさん
我々自身が政治をしないといけない
自分でやる必要のありそうな政治を列挙 • リンターの設定 ◦ リンターのデフォルトをそのまま?少し変える? • ソフトウェアの設計原則 ◦ SOLID原則とかDRYとかYAGNIとかKISSとかそもそもフレームワークから外れることはしない、と か
• ライブラリーの選定 ◦ HTTPのクライアントライブラリーどれ選ぶ?とか典型的 • 実装方針 ◦ ある機能をつくるのにいくつかの方法があるがどれがベター? 上のもので 100%意見が一致することはほとんどない 😱
対立自体は大事、しかし... • 対立は多様な見方の現れ • ただし、感情による衝突を起こすことも ◦ 衝突が起きるとこうなる →
できることなら感情の衝突を回避して 対話したい そこで、政治の出番です
すみません、これと言った 具体的なベストプラクティスはありません その代わり、私の周りの政治を紹介させてください
私の周りの政治 • ルールをつくる • Slack Huddle に常駐してみる • ミーティングをセットしてみる •
ペアプロ、モブプロをしてみる
ルールをつくる • ルールの整備は政治の基本! • ルールにも組織全体とチーム内で 閉じるものがある ルールをつくるための場づくり(=議会)も必要ですね!
会話 • Slack Huddle 常駐は気軽な会話を生み出すためのロビー活動 • ミーティングのセットは漠然としたアイディアを具体化するための会合 • ペアプロ・モブプロは問題が明確で「あとはやるだけ」という選挙活動
いかがでしょうか? 皆さんの政治活動は順調ですか?
出典: https://world.hey.com/dhh/ears-rarely-open-until-a-rapport-is-established-ae913bfd
まとめ コード上の意思決定は複数人の思惑を調整する政治活動と変わりません。開発者の皆 さんはハックが好きだと思いますので、ぜひとも政治もハックしてみてください。