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
renya
October 19, 2025
29
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
電子ピアノのファームウェア開発における作業分担からの学び
分割型電子ピアノのファームウェア開発を2人で分担した経験と、そこから得られた学びです。 コンウェイの法則に関しても少し。
DevFest 2025 in Kwansai
renya
October 19, 2025
More Decks by renya
See All by renya
君もKiboRPCに出ないか?
wadarenya
0
45
Featured
See All Featured
Mind Mapping
helmedeiros
PRO
1
280
For a Future-Friendly Web
brad_frost
183
10k
VelocityConf: Rendering Performance Case Studies
addyosmani
333
25k
Raft: Consensus for Rubyists
vanstee
141
7.6k
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
190
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
660
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
400
Fireside Chat
paigeccino
42
4k
First, design no harm
axbom
PRO
2
1.2k
The Cost Of JavaScript in 2023
addyosmani
55
10k
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
72
40k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.9k
Transcript
電子ピアノのファームウェア開発 における作業分担からの学び Kobe Univ / Alpha+ 3rd SWE: Renya Wada
1
自己紹介 和田 連弥 • 神戸大学 工学部 情報知能工学科 B4 • Alpha+
Project SWE 3 期生 • BJJ • Taekwondo • ラテアート わだ れんや 2
分割型電子ピアノ (Alpha + Project のチームで開発中) 1オクターブ (12 鍵盤) 単位で分割可能 目標:以下の
3 つ課題を解決 • 「持ち運び・設置の自由度の低さ」 • 「購入の金銭的ハードルの高さ」 • 「画一的な外観による特別感の薄さ」 進捗: MIDI キーボードとして動作 3 Greek Alphabet Software Academy
MIDI キーボードとは • PC 等の他の機器を操作するための鍵盤型の コントローラー • 主に PC と接続して使用
(DAW で DTM) • 音源がない (電子ピアノとの違い ) MIDI (Musical Instrument Digital Interface) とは • 電子楽器やコンピューターなどの機器間で 音楽の演奏情報 をやりとりする規格 MIDI コントローラーとは 4 用語説明
基板設計・発注 コントローラー部基盤 センサー部基盤 5
• MIDI キーボード動作 • 鍵盤の押下センシング • 静電容量方式 課題: • ベロシティ計測、ノイズ対策
1 オクターブ MIDI キーボード PoC 6
1 オクターブ MIDI キーボード PoC • MIDI キーボード動作 • 鍵盤の押下センシング
• 静電容量方式 課題: • ベロシティ計測、ノイズ対策 7
今日は「作業分担からの学び」 (Alpha+ での学び) 8
内容: MIDI キーボード FW 開発 1. キースキャン ◦ 鍵盤のどのキーがどれくらいの強さで押 下されたかを計測
2. MIDI メッセージ 生成 ◦ キースキャン結果から MIDI メッセージを 生成し、USB-MIDI で PC へデータを送 信 → 2 人で分担 9 ソフトシンセサイザー
インターフェース 「NoteOn 構造体のストリーム 」 をインターフェースとして定義 10
インターフェース以外は何も決めずに 2 人別々で開発に進んだ 11
思ったより上手く行った 🎵 12
⭕ MIDI キーボードとして、PC から音を鳴らすことに成功 事前にインターフェースを明確化していたため、 • お互いの実装詳細を知らずに非同期で分業 → ✅ コミュニケーション時間の削減
13
❌ 同じキーを 2 回連続で押しても反応しない問題が発生 原因 • キースキャン結果の状態管理をどちらが、どのようにやるかの責任 範囲を明確化 しなかったこと →
処理担当の線引き不足 14
学び 開発の作業分担に必要なこと 1. 事前に適切なインターフェースの決定 • 別チームの内部詳細は知らずに非同期に作業を進めれる 2. 責任範囲の明確化 • どっちもやらない
(やる) 問題の発生を防ぐ 15
チームの構造に合わせてシステムの構造を考えた → チームとシステムの構造の類似性を 「コンウェイの法則」というらしい 16
「システムを設計する組織は、そのコミュニケーション構造をそっくりまねた構造の設計 を生み出してしまう 」 • コミュニケーションがチーム内は密結合、チーム間は疎結合になる コンウェイの法則 https://martinfowler.com/bliki/ConwaysLaw.html 17
システム構造を先に定め、それに合わせてチーム編成 (組織のコミュニケーション構造 ) を意図的に変えること 逆コンウェイの戦略 https://martinfowler.com/bliki/ConwaysLaw.html 18
1. コンウェイの法則を無視 2. コンウェイの法則に従う • チーム構造に合わせたシステム構造を設計する 3. 逆コンウェイの戦略を適用する • システム構造に合わせたチーム構造に変える
コンウェイの法則への対応 https://martinfowler.com/bliki/ConwaysLaw.html 19 ← これをしてた (偶然)
余談 20
おしゃべり(相談) 相手募 • 未踏アドバンスト に応募 ◦ 初心者のピアノ上達のためのソフト ウェアも開発中 ◦ 面接相談に乗ってほしい
• 福岡未踏 (AKATSUKI) に参加 21 福岡未踏
余談の余談 22
Tech Lead (TL) とは • 開発に関する方向性の最終決定権を持 ち、プロダクトの責任を持つ人 • 夏に雪が降ってプロダクトが破綻したとし ても
TL の責任 (と言う例え話) 23
まとめ 開発の作業分担のポイント • インターフェースと責任範囲の明確化 • コンウェイの法則 を意識してのコンポーネントの境界部分の議論 に時間をかける 24
25 イベント告知 compass
Thanks 🎵 26 “電子ピアノのファームウェア開発における作業分担からの学び ” Kobe Univ / Alpha+ 3rd
SWE: Renya Wada