こんにちは。rotarymarsです。
最近は機体に関連する記事ばっかりだったので、今回は雰囲気を変えて私達のチームの開発体制について書きたいと思っています。
チームの構成
私達のチームは以下のような構成になっています。
役割 | 人数(延べ) | 誰 |
---|---|---|
機体 | 1 | ALPAKA |
回路 | 2 | K10-K10, rotarymars |
ソフトウェア | 2 | K10-K10, rotarymars |
ブログ | 3 | ALPAKA, K10-K10, rotarymars |
という感じになっています。
これを見ると平均してメンバー一人あたり2個半
の役割を担っていることになっています(メンバー募集中です)。
機体の開発体制
機体の開発に携わっている人が一人なため、幸か不幸か、一人で最もやりやすい体制で作業をしているようです。
今後はもう少し自分も関わっていけたら良いなとは思いつつも、機体を同時に編集するというのは色々とデータの都合上難しいのかなというところです。
回路の開発体制
回路は二人でやっているので、二人の間で意思疎通できるようにしています。
私達はkicadを使って回路を設計しているため、そのデータをgithubにアップロードしています。
これによってプルするだけで二人が作業したデータが反映されるようになっています。
個人的に残念なのは、kicadだとどこが編集されたのかvisualで確認できないのが不満なところです。
余談ではありますが、機体の作成に使っているfreecadだとBIM Diffと呼ばれるもので視覚的なdiffが見られるようです。
ソフトウェアの開発体制
ソフトウェアも同様、二人の間で意思疎通ができるようにgithubを使っています。
ソフトウェアは文字で書いているため、diffも見やすくなっていて他の開発よりもやりやすいです。
ここでも余談ではありますが、deltaコマンドを用いると、githubと同様にキャラクターごとのdiffを見ることができるようになります。
こんな感じのものがローカルで見られると、便利ですよね。
ブログの開発体制
ブログも、githubで内容を管理しています。
私の周りには一からhtml
とCSS
を書いてとてもきれいなサイトを仕上げる人もいますが、私達はjekyllという静的サイトジェネレーターでブログを作成しています。
確かにセットアップは面倒ですが、その後の便利さを考えると、考える余地のあるものだと思っています。
チームのタスク管理
開発体制と言うと、使っているものよりもこれが最も重要なのではないでしょうか?
私達は、atlassianのjiraを使ってタスク管理をしています。
これは、アジャイルソフトウェア開発を実現するためのタスク管理ツールで、チームでやるべきタスクをリストアップしつつ期限内にどれだけ終えられるかの見積もりを行いやすくするものになっています。
これによってチーム内で期限を決めてタスクを細分化するところさえすれば、一週間でこなせるタスクの見積もりをしやすくなり、目指すものが期限内に終えられるかどうかの見積もりをしやすくしています。
まとめ
今回は手短な記事にはなってしまいましたが、特に最後のチームでのタスク管理はあまり知られていないものだと思うので、ぜひ興味があれば試してほしいと思います。
ありがとうございました。