期限までにプロジェクトを完了する方法 ～スーザンの場合～

この記事は「[ProtoPedia Advent Calendar 2024](https://qiita.com/advent-calendar/2024/protopedia)」の5日目の記事です。

# はじめに
こんにちは、スーザンです。今年取り組んだ主なプロジェクトは次の通りです。

- [USB PD対応の小型マイコンボード XIAO CH32X035](https://protopedia.net/prototype/5169)
- [マイコンボードを岐阜でギフト #まいぎふ](https://protopedia.net/prototype/6146)

どちらもプリント基板を複数回試作していて、設計プロセスを評価してもらえるコメントをもらえてうれしかったです。  
<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">USB PD対応の小型マイコンボード XIAO CH32X035<br>マイコンボードで誰でも自由に高電圧・大電力を扱える。検証が重ねられていてためになる<a href="https://twitter.com/hashtag/%E3%83%9E%E3%82%A6%E3%82%B6%E3%83%BC%E3%82%A2%E3%83%AF%E3%83%BC%E3%83%89?src=hash&amp;ref_src=twsrc%5Etfw">#マウザーアワード</a> <a href="https://twitter.com/hashtag/ProtoPedia?src=hash&amp;ref_src=twsrc%5Etfw">#ProtoPedia</a><a href="https://t.co/z2W21vusqX">https://t.co/z2W21vusqX</a></p>&mdash; 小林竜太 (@CH1H160) <a href="https://twitter.com/CH1H160/status/1807760538837098791?ref_src=twsrc%5Etfw">July 1, 2024</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">このスレッドいい　<a href="https://twitter.com/hashtag/%E9%9B%BB%E5%AD%90%E5%B7%A5%E4%BD%9C?src=hash&amp;ref_src=twsrc%5Etfw">#電子工作</a> <a href="https://t.co/hqCCHZTeF6">https://t.co/hqCCHZTeF6</a></p>&mdash; 𝕜urihara (@kurihary) <a href="https://twitter.com/kurihary/status/1860494983629013057?ref_src=twsrc%5Etfw">November 24, 2024</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

設計手法を共有する機会は少ないので、今回は私が実践していることを紹介します。
みなさんもきっと日々忙しい中で、ものづくりに取り組んでいると思います。限られた時間の中できちっとアウトプットしていくために、何か参考になる部分があれば幸いです。

:::note warn
今回紹介する方法で、ものづくりの野性味が薄まってつまらなくなってしまう部分もあるかもしれません。ご自身の開発スタイルやそのプロジェクトに当てはまるか、各自で判断をお願いします。
:::

# 1. スケジュールとゴールを明確にする
## 1-1. スケジュール
1. まずはコンテストやイベントの日程を確認する
1. 期限から逆算して1週間単位の大枠の予定を組む(直前の週はドキュメント作成、その前の週が設計完了など)
1. 大枠の中で詳細な日程を詰める(できれば「ここまでに組立なきゃ」等デッドライン決める)

**イベント直前のスケジュール例**
![ざっくりスケジュールですが、まいぎふマイコンボードの設計](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/436449/5196aa54-be9a-4402-23a7-80e1d32af587.png)

## 1-2. ゴール（作るものはどんなものか）

プロジェクトで何を作るのか、できるだけ具体的に考えてください。
- **「絶対に作る」部分は何か**
    - 自分が絶対作りたい気持ち
    - 「これやらなきゃ意味ないじゃん」のコアコンセプト
    - コンテストのルール規定(使用素材など)
- **「できれば作りたい」部分は何か**
  
上記を明確にして順位を付けてください。その優先順位が、期限が迫ったときに何を優先すべきかを明確にするための順位付けになります。自分が苦手なことでも「絶対に作る」部分なら頑張って形にしていきましょう。
また、コンテストやイベントの場合、エントリー用のドキュメント作成やビデオ編集など、設計製作以外の部分もゴールに含める必要があります。

# 2. 事前に確認する

作ってから不具合が発覚すると手戻りが発生します。限られた時間の中でより良いプロジェクト完了を目指すために、作る前に以下の方法で最大限の確認をしておきます。

- **手元にある基板やモジュールで、部品の動作確認や回路検証をする**
- **現物の部品形状やサイズを確認する**

[#まいぎふ マイコンボード](https://protopedia.net/prototype/6146)では回路設計の前に「ほんとにその部品でいけんの？」を確認しました。

<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">フラッシュメモリICの動作確認できました。端子の出てるパッケージでいきたくてSOIC8 (150mil)、型番W25Q16JVSNIQにしました。208milパッケージ搭載のWaveShare RP2040-One に載せ換えて書き換えできたのでOK!<br>参考にさせていただきました↓<a href="https://t.co/2tQWOi4tbY">https://t.co/2tQWOi4tbY</a><a href="https://twitter.com/hashtag/RP2040?src=hash&amp;ref_src=twsrc%5Etfw">#RP2040</a> <a href="https://twitter.com/hashtag/%E3%83%A9%E3%82%BA%E3%83%94%E3%82%B3?src=hash&amp;ref_src=twsrc%5Etfw">#ラズピコ</a> <a href="https://twitter.com/hashtag/%E3%83%A9%E3%82%BA%E3%83%91%E3%82%A4%E3%83%94%E3%82%B3?src=hash&amp;ref_src=twsrc%5Etfw">#ラズパイピコ</a>… <a href="https://t.co/kNaJhOeS9t">pic.twitter.com/kNaJhOeS9t</a></p>&mdash; スーザン＠子育てエンジニア (@suzan_works) <a href="https://twitter.com/suzan_works/status/1846013339711033607?ref_src=twsrc%5Etfw">October 15, 2024</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>
  
:::note warn
最近は部品を3Dプリントしたり、プリント基板製造のハードルもかなり低くなっているので、「ごちゃごちゃ考えたり調べるよりさっさと作ろうぜ、作れば分かるさ！」というスタンスも有効です。
:::

# 3. 試作を重ねて完成度を高める

「事前に確認する」と言っておきながらですが、試作しないと作ってみないと分からないことは必ずあります。一発で完成させることは難しいため、その試作での見どころやチェックポイントを整理しておきましょう。

[USB PDマイコンボード](https://protopedia.net/prototype/5169)では下記のように「見どころ」と「無視するところ」を決めていました。
| 基板試作                                                       | 見どころ                                                 | 無視するところ | 
| ---------------------------------------------------------- | -------------------------------------------------------- | -------------- | 
| 1                                                          | ・各種通信ができるか<br>・ファームウェア書き込みできるか | ・基板形状     | 
| 2&3<br>(2で配線ミスがあって急遽3を作成、みなさんDRCを忘れずに) | ・やりたい基板形状(Seeed XIAO)にできるか                 | ・流せる電流   | 
| 4                                                          | ・流したい電流(3A)流せるか                               | ・シルク文字   | 

# 4. 情報をどこでも見られるようにする

## 4-1. 設計情報や検討内容を公開する

各プロジェクトの設計情報は公開しています（一部間に合ってないものもあるけど）。公開することで誰かの役に立てるだけでなく、自分自身もいつでも情報を確認できるのでとても便利です。みなさんもぜひ設計情報を公開してみてください。
KiCadで設計したデータをGitHubに保存して、KiCanvasでブラウザ上で見られるようにしています。
- [USB PDマイコンの回路図](https://kicanvas.org/?github=https%3A%2F%2Fgithub.com%2Fsuzan-works%2FXIAO_CH32X035%2Fblob%2Fmain%2Fhardware%2FCH32X035_XIAO-Compatible_Board%2FCH32X035_XIAO-Compatible_Board.kicad_sch)
- [USB PDマイコンの基板設計データ](https://kicanvas.org/?github=https%3A%2F%2Fgithub.com%2Fsuzan-works%2FXIAO_CH32X035%2Fblob%2Fmain%2Fhardware%2FCH32X035_XIAO-Compatible_Board%2FCH32X035_XIAO-Compatible_Board.kicad_pcb)

## 4-2. ノートアプリなどを活用する

今回のプロジェクトでは[Notion](https://www.notion.so/ja)を使って情報をまとめました。スケジュール(カレンダー)からソースコードまで放り込んでいつでもどこでもアクセスできて便利です。
[Google Keep](https://keep.google.com)も良い選択肢だと思います。

# まとめ
期限までにプロジェクトを完了することにフォーカスして、方法をいくつか紹介しました。参考になる部分があるとうれしいです。
きっとみなさんも独自のやり方やスタイルをお持ちだと思いますので、コメントやSNSで情報交換できると面白そうだと思います。
ここまで読んでいただきありがとうございました。来年も、楽しく真剣にものづくりを続けていきましょう！