見出し画像

【システムエンジニア採用強化中ブログ】~システム開発「設計」を洋服作りに例えると~

みなさま、こんにちは。株式会社CREARAIZE SE兼人事担当のInoueです。
初めて参画したjava開発案件ですが、早くも1年経ちました。
同じプロジェクトに後輩が入って半年、悩むこともあるけれど周りの人たちに助けてもらいながら充実した日々を過ごしています。
今年もあっという間に12月になってしまうのでしょう😂

システム開発と洋服づくり -その③-


 私は前職では洋服を作る仕事をしていました。
CADというツールを使って型紙を作成するときにPCを触る程度で、ExcelやWordといった基本的なソフトですらほとんど使用しないPC初心者です。
そんな私が縁あってシステムエンジニアとして働くようになり、よく聞かれるのが
「その経歴でどうしてシステム開発をできるように、理解できるようになったのか?」

前回は「要件定義」について、オーダーメイドのエプロン作成に置き換えてご紹介しました。

今回はシステム開発の「設計」について、前回と同じ例えを使って説明していこうと思います✨
 依頼主 ⇒ 週末だけオープンするパン屋の店主さん(洋裁の知識なし)
 作成したいもの ⇒ お店の雰囲気に合ったオーダーメイドのエプロン

設計


 前回ご紹介した「要件定義」では、依頼主が何を必要としているのかを細かく確認していきました。

  • お店の雰囲気に合ったエプロン

  • レジ打ちだけでなく調理にも使用するため汚れることが想定される

  • 出し入れしやすいポケットが欲しい

これらのことを具体的に話し合って、整理してゴールを明確にした後は、いよいよ要件を実現するために設計をしていきます。
この設計段階で作成される設計書をもとに、上図の「製造」が行われます。
「製造」が開始されてから修正が入ると、予定外の時間やコストが発生する可能性が高いです。
スケジュールの遅延や予算オーバーをしてしまいます。

例えばエプロンの出来上がりの丈は100センチという要件が決まっていたとして、縫い代を含めて100センチで設計してしまったとすると、出来上がりの丈は100センチにはなりません。
これに設計段階では気付かず製造に進み、“布を切ってから”気づいたとしたらどうなるでしょうか?
今着ている洋服の裾を見るとわかるかと思いますが、布は切りっぱなしだとほつれてしまいますよね。
なので、端を処理するための縫い代が必要なのです。
100センチで切ってしまった布はもう元には戻せません。
この場合は布の再手配が必要となり、スケジュール遅延と予算のオーバーになってしまいます。
設計は大事な工程なのです😀

要件通りにするには、上図のように縫い代を含めた(100+aセンチ)設計をする必要があります

文章作成能力

 設計書の作成をAさんが行って、実際に製造をするのはBさんだとすると、設計書は下記である必要があります。

  •  Aさん以外の人が読んでも仕様を理解できる

  •  設計書をもとに正しいブログラムを書くことができる

また、設計書が必要になるのはBさんが製造をしている時だけではありません。
そのあとの工程である「テスト」工程はもちろんのこと、リリースした後の運用保守(メンテナンスや改修)にも必要となるのです。
だからこそ、設計書は読みやすくてわかりやすいものであることが大切です。

例えばエプロンの裾処理について、「4センチの縫い代を3つ折りして2センチでステッチ」という仕様だとしたら、下記の説明のうちどちらがわかりやすく、正しい仕様を実現できるでしょうか?

①     1.8センチで2つ折りした後、2.2センチで折って、ミシンで2センチのステッチ
②     3つ折りして2センチでステッチ

②   の場合は人によって仕上がりにバラツキが生じます。
今回の例えは簡単なものですが、実際は複雑な仕様をわかりやすく明確に記載できる能力が必要です。
ポイントは作る人の能力に依存しないことです。
「これ位は分かるだろう」や「知っていて当たり前」と考えてしまいがちですが、私の常識とメンバーの常識は、必ずしも一致しないので注意が必要です。
そのため、クレアライズでは定期的に、メンバーの常識を一致させるための標準化をしています。

適切な実現方法


 要件定義でまとめた要件は実現方法が複数あることが多いです。
この場合はコストや納期、利用場面をもとに、適切な実現方法を記載できる能力が必要です。

例えばエプロンの裾処理について「3つ折りで2センチのステッチ」と決まっていた場合に、それらすべてを手縫いで仕上げると記載することもできますし、ミシンで仕上げると記載することもできます。
手縫いではコストも時間もかかります。
また汚れることが前提のエプロンは洗濯が頻繁に行われるため強度が必要。
なので、今回の依頼の場合はミシンで仕上げることが適切な実現方法です。

要件の実現方法は複数あることが多い!

また、その設計の実現が可能であることが分かったうえで記載することも大切です。
前述しましたが、“製造が開始されてから”実現が不可能であることが判明した場合は、そのプロジェクト全体に大きな影響を与えてしまいます。
設計の後の工程がスムーズに行われるには、設計書が重要なカギとなります。

まとめ


みなさま、いかがでしたか?
要件定義に続き、設計が大事な工程であることを感じていただけたでしょうか。
「設計」をするには幅広い視点が必要です。
実際に利用する人、それを「製造」する人、それを以降の工程を担当する人など俯瞰できると、自ずと文章もわかりやすいものになっていくと私は思います😀

幅広い視点が大事!

ここまで読んでいただきありがとうございました。
次回も読んでいただけると嬉しいです🎵

-------------------------------------------------------
弊社では、
新卒の方、転職活動中の方、検討中の方含め
経験者未経験者問わず積極採用中!
あなたのことを聞かせて下さい!
https://en-gage.net/crearaizeinfo_career/
-------------------------------------------------------
リンク
弊社ホームページ: https://www.crearaize.com/

弊社ブログ:  https://www.crearaize.com/blog/

弊社Facebook: https://www.facebook.com/株式会社クレアライズ-116129216882295

弊社Twitter:https://twitter.com/crearaize

投稿者 InoueのTwitter: