見積もりは, あくまでも見積もり

f:id:gashoo:20171201153719j:plain

序文

⚠ 僕自身の偏りな意見が多く見られるかもしれません
⚠ 当時の僕の気持ちなど 忘れたくないので 記しているってのもあります..


はじめに

Gashoo inc. Engineer の しゅん(@shunn_93) | Twitterです~


GASHOO Inc. Advent Calendar 2017年12月13日 を飾ります。
今回は 前回引き続き 自身の1年の振り返りとともに, 非エンジニアの方に なにかを説明するときの 僕のスタンスを ざっと書いていこうかと思います。



2017年4月 ~ 6月


4月

すっごい なんとかリリースする
社外のエンジニアと初めて話す
分からないことが多すぎ
タスクをgithubで簡易管理を試験的に行う

とある日、Gashooに共感してくれて応援してくれている 社外のエンジニアの方と話す機会ができて、僕に指名が入って、話す前は すっごい罵倒されるかと思った。

今でも思い出します。コードを ちょっと書けるようになった 2-3ヶ月そこらの ペーペー なのに、なぜ??僕!?! え、、、((((;゚Д゚)))) みたいな....笑

でも、しっかり名指しした理由や、話す場を設けた理由などを冒頭に丁寧に話してくれて,

僕の思っていた 話したいとは 違っていて, 安心した記憶。。。 内容は , これは こう構成した方が...とか, ○○は, こうあるべきで, 責務はしっかり別けるべき 等の話をしてくれたのだが、

正直 当時の僕は 2割も 理解出来ていなかったと思う。(すみません...🙇)

でも、その指導のおかげ様で, 僕はまだまだで, 自身はクソなんだと思えたきっかけでもあります。(今でもよく クソだなって思います。)

大切なのは、自分はクソなんだなと思うこと...☺



5月

既存修正 && 新機能 に追われてた
エンジニアリソースが ほぼ僕だけになる(レビュアーの先輩はいた)
Gashoo以外での 先輩エンジニアと 初めて 共同開発みたいなのをする
コードの書き方や, 癖などの違いに困惑した

学ぶ時間もなくて、やるしかなくて、わからないことがあったら、その都度 調べて.学んで...と行っていた。 やっていって、必ず詰まるから、その都度、どう解決しようか考えていたので、 見積もりとか ろくに取れなかったし、でも, いつまでに できるの?って聞かれるし。。。笑

ココこう出来へん? とか 言われても、「ぶっちゃけ、それ僕もわからん...orz」って感じ(笑) イメージできても、知っている知識でしかできなかったので、ベストプラクティスじゃないし.....って感じ...
でも、やらなあかんし....orz みたいな。



6月

再度, 超基礎部分は、理解したつもりになる
それの影響もあってか少しだけ 心の余裕も生まれる
エンジニアが1人増える

前回の記事で言ったように 自分なりに理解して、実装して、分からないことを調べているうちに(4-5月にそればかりしていたから), 大体のことは できるようになった気でいて、困ることが少なくなって..... 今思うと, 自分の中に 少し余裕が生まれだした時期でもあったかもしれません。 あと、プロダクトの既存の修正箇所も落ち着いてきた影響もあるかもしれない。






見積もりは あくまでも 見積もり



この時期で よくあった会話が いつまでに この機能できる? といった 見積もり の話かなと思う。


今となっては, ⚠ある程度の 工程, 実装見積もりは できるようにはなったのだが, この時期は ほぼできなかったと言っても過言ではない。


技術的な理由(言い訳)も, 知識的な理由(言い訳)も 言おうと思えば 言えるが,

非エンジニアの方にも 理解してもらおうと思えば, 日常生活に置き換えると感覚的に わかりやすいかなと思う。



見積もりは, 感覚的にいうと, 結婚いつできるの?

って聞かれてる感じ... (あくまでも例えです) 笑

結婚するには、軽く考えただけでも、

彼女, 金銭, 指輪, 理解, 承認... が必要で

1つ 1つ エンジニアリング的に当てはめることができる。(と思って書く..w)



例えば, 彼女。

彼女は 結婚という機能を実装するにあたって, 必要不可欠な 付随する機能とか(?w)。

まず、彼女がいなければ, 結婚は できないし, 結婚するには, 彼女が必要だし。って感じで, なにか 大きめの機能を開発にする際は, 他にも 付随してくる機能があったりすることが多々ある。

ここで 言いたいことは, 彼女いつできるの? って聞かれたら、

明日できるよ~ (チャラ男 == スーパーエンジニア) という人もいれば、

ん~, わからない...けど、○○までには~ って いう人もいると思う。

なかには............. ってね。

つまり、

彼女にできそうな人がいる, 彼女の作り方を知っている == 実装したことがある, 知見がある

って感じ。



金銭

結婚には、金銭も大事。

例えば,

結婚(結婚生活)を実現するにあたって, 最低限生活できるくらいは お金が必要。

それを, エンジニアリング的にいうと、開発リソースかな.

彼女はいるし、結婚したいけど、まって 現実的に無理じゃない?ってなるイメージ。

開発リソースは, エンジニア足らんくない とか, あれもこれも 言語も学ばないといけないし、みたいな状況。



指輪は

開発したいものに対しての, 物理的なモノになるかな...(良い例えが浮かばなかったw)

いざ, コードを書く!! ってなっても PCなければ 厳しいし,
iOSで アプリ作りたいってなれば Maciphoneのデバイス等必要だし。。。みたいな。

(すっごいがんばれば, できなくないところが 指輪かなと思った...w)



で, 次は 理解

理解は, 彼女に対しての理解 って感じ。
つまり、彼女のことを知らないのに 結婚はよくないよね。みたいなこと。

エンジニアリング的に, どういうことかというと、 書いたコードを最低限でも 理解していないのに、んで, どうするの? ということ。

つまり、何度も言っていることになるかもしれませんが、 理解してから、書くことをしっかりした方が良いと思うし、そうしないと よくない結婚生活が待っているということ。



最後に 承認

結婚には 両親の承認であったり、もちろん ご相手さんの承認も必要だと思います。

エンジニアリング的にいうと, コードレビュー的な感じw(複数人開発等に限る)

Approve, 許可(承認)がおりなかったら、マージできないし, リリースもできない(結婚できない)。

だから、承認を貰えるよう, なにを改善すれば尋ねるし(コードレビューや、コメント, コミュニケーション), 頑張るし(コードを修正) ってイメージをもってもらえたら。w



さいごに

とりあえず、見積もりは, あくまでも見積もり ということを
コードを書かない人にも 感覚的に 理解してほしいなぁぁ と思い 書いてみました。w

エンジニアリングの知識のない人に対して
どういう理由で遅れていて, ここがこうなれば、完成でとか 話しても,
まず 相手に エンジニアリングの知識などがなければ ほぼ伝わらないので、

こういう 感じで 噛み砕いてフランクに 話してみることを 僕はしています。

ご飯いつできる? とかだと, いつくらい ってのが わかるように
簡単な 機能などの場合は そのような感覚です。

調味料 切れてもうたっ!! とかと同様に, 実装中に なにかで つまずくこともありますが...w

伝わりにくかったら, すみません🙇
僕らの会社規模感, スピード感 での 話ばかりなので 諸説あります。




余談

過去のGASHOO Inc. アドベントカレンダーの記事はこちら adventar.org