メインコンテンツまでスキップ

経験を生かして新卒採用ツールを作ってみた(2) ~先が見通せないのでミニ版作ってみた~

鶴田
ディアシステム(株)開発一部第2課

新卒採用の振り返りをきっかけに、進捗を管理しながら、次につながる記録も残せる道具を 作ろうと思いました。その経緯は第1回に書いています。

そこから、何を記録するのか、誰が見られるのか、いつまで持つのかを一つずつ決め、 設計としてまとめました。どう決めていったかは、第3回と第4回で書きます。

設計の上では、作るものの全体像が見える状態になりました。 次は、それを動くものにする番です。

ところが、そこで手が止まりました。しばらく、着手できずにいました。

今回は、そのときの話です。

結論だけほしい方はこちらの第6回の振り返りをご確認ください。

なお、ここで紹介するツールは個人開発として作ったものであり、当社のプロダクトでは ありません。実際の採用活動で運用するかどうかは未定です。

今回の対象読者​

  • 開発者が、何を考えてものを作っているのか知りたい方
  • AIを使った開発が、実際にはどんなところから始まるのか気になる方

開発の手順や道具の紹介はしません。進め方の話になります。

まず結論​

先が見通せなかったので、小さい版を先に作ってみました。

作るのにかかった時間は測れました。でも、いちばん大きかったのはその数字ではありません。

出来上がったものを確かめる中で、自分が見落としていた観点に気づけたことです。

小さい版を作るのは、一見遠回りに見えるかもしれません。それでも、確認して初めて気づけたことの方が大きかった。これが正直な実感です。

「どれくらいかかるか、まったく想像がつかない」​

本命のツールは、設計まで終わっていました。何を作るか、どんな画面が要るか、どんなデータを持つか。紙の上では一通り決まっています。

次は、それを実際に動くものにする番です。

ここで手が止まりました。この時点で、画面は20以上ありました。従来の開発なら、感覚として12〜13人月ほどの規模に見えます。

ただ、この規模のものをAIに手伝ってもらいながら作るのは、自分にとって初めてです。今回のやり方で、実際にどれくらいの時間がかかるのかは、まったく見当がつきませんでした。

従来の感覚で「12〜13人月ほど」と思っていても、根拠なしに「これくらいです」とは言いたくない。実際の業務では、見積もりには根拠が必要ですから。

そのまま、しばらく手をつけられずにいました。

ミニ版を作ってみた​

考えた末に決めたのが、小さい版を先に作ってみることでした。

機能をぐっと絞って、本命とは別に、小さなツールを作る。それにどれくらいかかったかが分かれば、少なくとも本命を考えるための手がかりにはなるかもしれません。

このとき最初に書いたメモは、4行だけでした。

# 目的

- 小さなプロダクトを作りたい。
- 今考えているのは

新卒採用、応募者のステータス管理ツール

これだけです。あとは、AIに手伝ってもらいながら進めました。設計を書いて、作る順番を決めて、実際に作って、直す。ひとつずつ進んでいきます。

夕方に書き始めて、翌朝には一通り動く状態になりました。

一晩で動いた。確認して分かったこと​

時間にすると約12時間でした。

ただ、この数字には但し書きが要ります。最初の4行のメモを書き始めてから、翌朝に一通り動く状態になるまでの経過時間です。実装だけの時間ではありませんし、寝てましたし(笑)。ずっと手を動かしていたわけでもありません。

それでも、正直に言えば驚きました。

AIに作ってもらった設計書を一通り確認し終えて、気づきました。

「これ、個人情報の目で見ていないな」

このツールが扱うのは応募者の情報です。預かったものを、いつまで持って、どうやって消すのか。誰が何を見られるのか。そういう観点で設計書を読み直すと、書かれていないことがありました。

思い返すと、そうなる頼み方をしていました。最初の4行のメモにも、そのあとの依頼にも、個人情報を守るという言葉は入っていなかったのです。

そこで、個人情報保護の観点だけでレビューをかけました。すると、重要度の高い指摘が6件出てきました。たとえば、

  • 登録した応募者の情報を削除する機能がない
  • 誰がいつ何をしたのかの記録が残らない

指摘の内容は、どちらも最初のメモや、そのあとの依頼に入っていなかったことです。だから、読んだときには「それはそうだ」と思いました。

そして、この気づきも修正も、さきほどの12時間の中の出来事です。記録を見ると、レビューをかけたのが夜の19時すぎ。削除する機能を入れたのが19時52分、操作の記録を残すようにしたのが19時58分でした。気づいたその晩に直しています。

ミニ版で得たもの​

ミニ版を作った最初の目的は、AIに手伝ってもらいながら作ると、どれくらいの時間がかかるのかを確かめることでした。

約12時間という記録は残りました。本命を考えるための、参考になる数字が得られました。

機能の数も、扱う情報も違うので、単純に比べることはできません。それでも、最初に考えていた12〜13人月という見立てに対して、大きく見積もっても当初の1/3程度には収まりそうです。これは重要な発見でした。

もう一つ得られたのは、最初の依頼に何を書くかで、確認できることも変わるという実感です。

今回のメモや依頼には、個人情報をどう扱うのかが入っていませんでした。そのため、削除の方法や操作の記録といったことも、設計を作った段階では見えていませんでした。

個人情報保護の観点で確認して初めて、その抜けに気づけました。

ミニ版を作って得たもののうち、いちばん大きかったのは、何を作るかだけでなく、何を守るか、どの観点で確かめるかも、最初に言葉にする必要があると分かったことです。

つまずきポイント​

出てきた設計書は、体裁が整っていました。見出しが並び、項目も揃っています。

そのため、読んだときの私には、書かれていないことよりも、書かれていることのほうが目に入っていました。

個人情報のことが気になったのは偶然です。そこで個人情報保護の観点から確認して、初めて抜けが見えました。

設計書が整っていることと、必要な観点で確認できていることは別でした。

実務ではどう考えるか​

やったことのない作業に、どれくらい時間がかかるか。正確に読める人はいないと思います。

そんなときは、全体を当てずっぽうで見積もる前に、一部だけ先にやってみるという進め方があります。進めてみて実際にかかった時間や、途中で詰まったところを確認し、見積もりを修正するわけです。私の場合もそうでした。

小さく試した結果を、そのまま全体に当てはめられるとは限りません。それでも、見積もりの根拠が増え、精度を上げることはできます。

見積もりに根拠を持たせることは、利益を確保することにも、無理な計画からメンバーを守ることにもつながります。だから私は、見積もりにはできるだけ根拠を持たせたいと思っています。

もうひとつ、AIに手伝ってもらって作ったものを確認するときは、どの観点で確かめるかを、AIに任せず自分で決める必要があると感じました。

今回でいえば、個人情報の観点です。仕事によっては、安全性かもしれませんし、費用かもしれません。

観点を決めないまま確認すると、今回の私のように、体裁の整った設計書を見て安心してしまうかもしれません。

まとめ​

  • 設計ができても、AIに手伝ってもらってこの規模のものを作る時間は見通せなかったため、機能を絞ったミニ版を先に作った
  • ミニ版は約12時間で一通り動いた。ただし、最初のメモからレビュー・修正までを含む経過時間であり、実装だけの時間ではない
  • 成果物を確認する中で、個人情報の観点が抜けていると気づき、再レビューで重要度の高い指摘が6件見つかった
  • 速く作れたこと以上に、何を守り、どの観点で確かめるかを最初に言葉にする必要があると分かった

次回から、本命ツールの作成に入ります。まずは、作る前の準備の話です。

今回、決めていないことを聞いても、AIは答えを返してくれました。便利な反面、そのまま進めると、自分では決めた覚えのないことまで決まっていきます。

次回は、その特性をどう扱ったかを書きます。

なお、このツールは会社のプロダクトではありません。自分の手で一通り作ってみるための個人開発です。実際の採用活動で運用するかどうかは未定です。

次に試してほしいこと​

やったことのない作業を頼まれたときに、全部をやる前に一部だけ試して時間を測る、という方法もあります。見積もりの材料が増えます。

このシリーズの他の記事​

未経験から始める
システムエンジニア

一生モノのITスキルを身につけよう

あなたの経験とスキルを
ディアシステムで発揮してください!