これはアイディアメモである。
コーディング My Best Practice
どういった場合にどのようなコードで書くのがよいと思うのか、自分の中でもひとまとめにしたものがない。整理してまとめたい。
インフラ My Best Practice
ログ回りや監視回りなど、だいたい誰がつくっても同じになるよね=だいたいどんなプロジェクトでもそうなるよね、という部分については予めまとめておくことで効率化を図れないか。
より小さな単位でのアウトソーシング
現在、もし外部に業務を委託するとすると、単位の大きなひとまとめの業務を発注するか、あるいは人月単位で委任するか、になると思う。しかしこれは小回りが利きづらく、発注側・受注側いずれにとっても額が大きなことから、リソースもリスクも大きくなりやすいという難点がある。
もっと小分けにした状態で発注できればより柔軟なプロジェクト管理ができるのではないか。
チケット単位・機能単位・Function単位などが考えられる。
課題
- 品質の担保
- コードの書き方は人によって大分違いがあるため、品質の担保が課題となる。あまりにバラバラな流儀が入り混じると保守性が悪くなるため、ある程度統制する必要があるが、それはどのように行うか。
- また一方、検収の基準が明確でなければ
- コミュニケーションコストと決済コストや手数料の極小化
- まとまった単位で発注しなければならない理由の一つは、そうでなければコミュニケーションコストと決済コストを吸収しきれないため、大きくしないとビジネスとして成り立たないからだ。たとえば、数行の関数を作って数千円、といった程度の収入のために「顔合わせのためウチの本社まで来なさい」と相手を呼びつけるのが適切だろうか。また発注側としても、その程度の案件のために何時間も打ち合わせにかけるくらいなら、自分で作ったほうが早いし安いということになってしまう。
- これは決済コストでも同じことが言えて、決済コストや手数料 > メリット となるようだと意味がない。
- 契約
- 互いの権利をどのように設定するか?
- セキュリティ
- パブリックリポジトリで行っているならともかく、そうでないならセキュリティの維持が必須である。どのように行うか?
開発時間の記録の自動化
「そのチケットは終了までにどの程度時間がかかったのか」ということを調べようとすると、今は自己申告で自分で記録しなければならない。しかしこれはどうしても不正確になりやすいし、なにより頭の中で「記録を忘れないようにしなければ」という常時起動タスクを起動し続けさせねばならず鬱陶しい。
開始と終了はGitのログから推察できるのだから、ここから自動で計算すべきではないか。