初心者エンジニアがスタートアップで企画・設計・開発を通して学んだこと

スタートアップで企画から開発までを経験した。その中でミーティングなども経験して多くのことに気づくことができた。学んだことを通して今後やっていきたいことを中心に書いた。

企画

企画では、現状把握・現状分析から施策に落としていく流れを学んだ。

現状把握・現状分析の目的は「目標・改善に向けて、施策をうつターゲット(Who) を特定すること」で、施策立案の目的は「ターゲットに対する課題を抽出し、それを解決できる根拠のある施策をどれだけ多く生み出せるか」ということを学んだ

その上で以下を企画サイクルとしてやっていきたい

  1. [目標達成・改善目標] に向けて、どの層をターゲット(Who)にして施策をうつかを目標におく
  2. ターゲットに対する課題が分析でわかった時点で、反対の理想の姿は何かを考える
  3. 課題と理想のギャップをなくす施策(How, What)を考える
  4. 考えた施策ごとに根拠を定量化し工数も出して共有する

企画提案

質の良い提案のために事前準備をすることが重要だと学んだ。(これは、ミーティングや登壇などのアウトプット全般に言えることだと思う)

アウトプットの事前準備として以下を意識してやっていきたい

  • 提案するにあたって、相手との共通認識(課題)を揃え方を考える
  • 成功の想像をするのではなく、失敗する原因(リスク)を考えて、対応策を考える

要件定義・設計

改善したい課題と目標を定義した上で、例外処理を含めたすべての機能を書き出すまでを要件定義として学んだ。日々ブラッシュアップしていける、要件定義のフォーマットを作りたいと思った。

設計では、シーケンス図を使った設計を学んだ。クラス・オブジェクト間の処理が時系列で視覚的にわかるので、施策の仕様を作る上で理解しやすかった。また、.puにUMLで書けたり、git管理もできるので速度面・管理面でとてもよいと思った。

今後もシーケンス図を使った設計をやりながら、いろんな手法を試していきたい。

※ Visual Studio CodeのUMLプラグインが使いやすかった
https://qiita.com/couzie/items/9dedb834c5aff09ea7b2

実装・開発

最初に仕様で出した処理をテスト要件として洗い出して、テスト駆動開発(TDD)を目指して進めていった。しかし、rspecの書き方・テスト要件の網羅性が自分で不安が残ったまま開発を進めてしまったので、テスト駆動開発の意味をなさない開発になってしまった。テストは、後工程へのバグの少ないコードを担保としてテスト項目を網羅的にあげる必要がある。

そのために、以下の開発サイクルをしっかり守ってやっていきたい

  1. テスト要件のレビュー
  2. テストコードのレビュー
  3. 開発

テスト駆動開発(TDD)をやることで、「バグの少ないコードの書き方」「漏れのない仕様理解」が身に着けられると思った。

ミーティング

ミーティングに参加する機会も多くあった。最初は何の話し合いかわからないまま、ただ参加しているだけだった。しかし、参加者全員の時間を使って行うミーティングは、特に価値を出すことにフォーカスしていかないといけない時間だと気づいた。

そのために以下をルーティーンとしてやっていきたい

【ミーティング前】

  • ゴール・課題を理解した上でメモ帳にミーティングフレームワークを用意する
  • 自分でゴール・課題について考えて答えを出してみる
  • アウトプットする内容をまとめる
  • ミーティング中、気づいたことをメモとる

【ミーティング後】

  • ミーティング中にとったメモを見直して、ミーティングの振り返りを行う
  • わからない部分は、個別にでも質問して解決していく
  • メモを見直して、新しいアイデアを考える

以上のミーティングでのルーティーンは「メモの魔力」の方法を参考にするととても良さそうだと思った。(宣伝ではない)

OKR(目標管理ツール)

OKRは、メンバーが同じ方向を向き、明確な優先順位を持ち一定のペースで計画を進行することを目的で、Google,facebookなどで導入されている目標管理ツール。このOKRの手法をミーティングで多く経験した。これを取り入れることで、目標意識を揃えやすくなると思った。

OKRは、一つの定性的な目標(O)複数の定量的な指標(KR)で成り立つ。

O:Objectives

・定性的な目標(定量的な指標を入れない)

・チームを鼓舞するようなチャレンジングなもの

・1カ月~四半期(3カ月)で達成できる目標

KR:Key Results

・定量的な指標で、数値で測れるもの

・数は3つくらい(2~5個程度)

・60~70%の達成度で成功とみなす

1ヶ月弱で新しく経験するものが多くパンクしていたが、振り返りを細めにしておけば軌道修正しやすいのでやっていきたい。また、全体を通して「明確なマイルストーンを立てて宣言する」ことと「決めたマイルストーン通りの行動、細めな進捗共有をする」が重要だと思った。

この記事をフレームワーク化して頻繁に振り返りを行っていきたい。

コメント