開発時にやってよかったこと

最近やったプロジェクトでやってよかったこと、意識したことなどを纏めていこうと思う。


2019年7月〜9月の間に4つのプロジェクトに関わった。

  • UUUM System Meetup : 主催
  • 新規開発 : 炎上プロジェクト
  • salesforce周りの新規開発: 技術的なアドバイス、開発体験(DX)向上
  • EC開発 : ほぼ手を付けられていないが多少はやった

プロジェクトマネジメントについて勉強したことないから良いやり方はわからないが、感覚値を書いていく。

書いてて思ったけど、ADHD特有の感覚が多い。

メンタリティ

チームメンバーと仲良くなる

まずはこれが一番大事。とにかく雰囲気を良くするのが大事。昼飯食いに行ったり、席を近くにしたり、会話数を増やしたりなどでもよい。

ちょっとした相談や困りごとや確認ごとをしやすくする雰囲気を作るのが最も大事。

仲の良さは雑談時間に比例すると思ってる。

周囲から安心感を持たれるようにする

プロジェクトに対しての安心感を決める要素は大きく分けて2つで、「開発進捗」と「担当者の安心感」だと思う。 開発に対しての理解に応じてそれぞれの重みが変わってくる。

僕ら開発者は純粋に「開発進捗」を見ればいいけど、それ以外の人はわからないので「担当者の安心感」を重んじる。

安心感を感じるには、「チームメンバーからの信頼度」と「発言内容の説得力」と「誠実に働いているか」などがあると思う。

助けの求め方を工夫する

「炎上してます助けてください」だとそこから調査が始まって手遅れになるので、「炎上しそうなのでヤバそうなら助けてください。」って言うのが良さそう。

誰が対応してくれたのかきちんと明示する

人の手柄(努力)を絶対に奪ってはいけない。報告するときも「〇〇さんがxxをやってくれました」って報告する。

短期的には出世できて良いかも知れないが、長期的に見たら損をする。

誠実にやる

炎上してる時や忙しい時ほど誠実に対応するようにする。

一度嘘がバレると他の発言も嘘に聞こえてくるので結果的に損をするのでコスパ悪い。

人より多めに働く

炎上してる時は特にそう。「なんで俺が頑張って働いてるのにあいつははやく帰ってるの?」っていう反感は絶対にある。成果がどうとかそういう問題ではない。

にんげんだもの。

技術的なこと

ちゃんとしたチェック項目を作る

開発者がちゃんと仕事をしてくれたことを証明するためのシートを用意する必要がある。

PMや事業側の人も確認が取れる粒度のシートと、開発者用のシートの2枚あると好ましい。

開発者以外の人からの安心感も得られることが出来るので得なのと、瑕疵が無いことの証明にもなるので開発者を守ることが出来る。

DX向上

DX: Developer Experience (開発体験)は重要だ

プロジェクト入った時に一番最初にやるべき。これほど大事なものはないと思うんだけど、みんなやらないのが不思議でたまらない。 新規プロジェクトだと、Linterを入れて、テストを入れて、CI/CDをちゃんと回してstaging環境に安定的に反映できるようにする。

自動化ははやく入れれば入れるほど、回せば回すほど得をする。

どうせプロジェクト入った時は要件を理解したりする時間があるからすぐに開発取り組めないしこれやっとけ感。

優先順位は自分で決めさせる

事業的な優先順位を元に作業したところで結局生産量を最大化することはできない。

事業的優先順位を十分話して、その上でやりたい仕事を選んでやってもらうほうが開発者の精神衛生上良い。

やりたくない仕事はやりたくないよね。にんげんだもの。

詳細な開発工数を予め決めない

新規開発の場合、最初の2割3割の完成度のときに予定を立ててもどうせ変わるし無理。

大まかには立てるけど、「やること」よりも「やったこと」を書いてくほうがいい。

全体の7割くらい終わったところで後何をやろうかって時に詳細な開発工数を立てたほうがいい。

残りのタスクをもぐらたたき感覚で潰していくほうが楽しいよね。