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
30
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
52
Featured
See All Featured
Exploring anti-patterns in Rails
aemeredith
3
500
How Software Deployment tools have changed in the past 20 years
geshan
1
34k
YesSQL, Process and Tooling at Scale
rocio
174
15k
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
270
Optimizing for Happiness
mojombo
378
71k
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.5k
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
270
Scaling GitHub
holman
464
140k
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
450
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
370
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
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