---
# System prepended metadata

title: 課題

---

# 課題

新規事業の担当者になったことを想像してみてください。

仕事の検索エンジンというプロダクトを作ることが確定され、6ヶ月後に開催されるリリースの発表会の招待は既にPRの担当者からカレンダーに設定されました。

リリースとなるプロダクトと実際の進め方を教えてください。

# 回答

## プロダクト

- 検索エンジン
    - 特殊な検索ができる、広告等の機能で表示を操作できる、ある程度過去の行動からおすすめを表示できる

## 進め方

- 1
    - 仕様、UIのプロトタイプ等を設計して必要になる開発を見積もる
    - 使用する言語・フレームワーク等の決定
        - 明らかに特殊な性能が求められる場合は仕様を見積もる時点である程度わかる（はず……）

- 2
    - 仕様に基づいて使えるレベルまでプロダクトの実装を行う
    - 並行して技術的に難しい部分（今回の場合は検索だと思われる）の使用技術の検討をつける
        - プロダクトが完成していればそこに組み込みつつ確認、できていなければスタンドアロンで性能や特性を検査できるように
    - 選定した技術の確認
        - 早い段階で選定した技術が間違っている場合には2月程度なら最悪捨てて書き直す

- 3
    - 追加仕様等を考え、ある程度のスピードでそれが組み込めるような設計になっていることを確認する
        - 初期設計のコードがそうなっていなかったらこの段階でリファクタリング

- 4-5
    - 細かい仕様をテストとして落とし込みつつ（それ以前にもやるが、それは仕様としてのテストではなく実装の確認としてのテスト）テストを行う
    - リリース前に社内等で公開してバグを探す
    - セキュリティ等の観点のレビューも行う

- 6
    - パフォーマンスの向上等を行いある程度の規模のユーザーにも耐えられるようにする
