RareTECH受講生ブログ

RareTECHの受講生がアウトプットに利用しているブログです。

高単価のエンジニアに必須!高速フローチャート作成の練習方法

RareTECH生徒のゆうぞうです。

今回はRareTECHで行われた「5/30(日)高速!自力で鍛えるフローチャート」の講義内容について説明します。

この記事を読むと以下の点がわかるようになります。

では、内容に入っていきましょう。

フローチャートとは

f:id:yuuzoublog:20210604063738p:plain フローチャートは、業務プロセス、システム、コンピューターアルゴリズムを示す流れ図のことです。

引用元 https://www.lucidchart.com/pages/ja/what-is-a-flowchart

システム設計の際にはこのフローチャートを作成が必須になります。 もしフローチャートがない状態でプログラムを書き始めると、後ほどコードを修正する可能性が高くなります。

また、フローチャートを使いこなすことで、エンジニアとしての単価を上げることが出来ます。 その理由、そしてフローチャートの大切さを知るためにはQCDを知る必要があります。

QDCとは

f:id:yuuzoublog:20210604063932p:plain 技術力を評価する指標のことです。

  1. Quality → 品質。エラーの少なさ、想定している範囲の広さ、拡張可能性。

  2. Cost → 費用。お金に限らず、時間やリソースを含める。

  3. Delivery → 納期。いつまでに仕上げるか。

以上の3つの指標があります。

今回のフローチャートで関係しているものは3つの指標のうち、納期に当たります。

納期を早くすることができればエンジニアとしての単価を上げても顧客側としては安く済むし、エンジニア側の単価も高くすることができます。

例:

  • 単価5000円×納期5日=25000円

  • 単価10000円×納期2日=20000円

したがって、納期を短縮することができれば高単価のエンジニアになることができるのです。
次節では、何故フローチャートを知ることで納期を早くすることができるのかを説明します。

人より納期が速いエンジニアとは

納期が速いエンジニアは、「フローチャートを仕上げるのが圧倒的に速い」です。

フローチャートが得意なエンジニアは、お客様との打ち合わせで要望を聞きながら、詳細なフローチャートを仕上げていきます。 データやシステムの構造が出来上がっているため、会話が終わった時点で後はコードを書くだけという状態になっています。

したがって、フローチャートを如何に詳細に、早く書くことができるかがエンジニアとしての差を生み出します。

このフローチャートができていない状態でコードを書き始めると手直しも多く実装までに時間がかかってしまうということもあります。

要するに、エンジニアにとってフローチャートを詳細に早く作ることは、納期を大幅に短縮することにも繋がるのです。

早くフローチャートを作る練習方法

f:id:yuuzoublog:20210604064059j:plain

フローチャートの練習方法はいくつかあります。

  • 実案件に入る。
  • アプリを作ってみる。
  • 資格や本で勉強する。

この3つの他に講師がお勧めする、オリジナルの勉強法があります。

それは 「日常のフローチャートにする。」 日々行っていることをフローチャートにすることなんだそうです。

一つ例がありますのでご紹介。

ーーーーーーーーーーーーーーーー

ご飯を炊き始めるまで

  1. スタート

  2. 炊飯器から内釜をとりだす。

  3. 米を2合、内釜に入れる。

  4. 5~7の流れを3回分繰り返す。

  5. 内釜に米が埋まるぐらいまで水を入れる。

  6. 米をかき混ぜる。

  7. 水だけ捨てる。

  8. 内釜に2合分の水をいれる。

  9. 炊飯器に内釜を入れる。

  10. 炊飯器のスイッチを押す。

  11. エンド

ーーーーーーーーーーーーーーーーーー

物事をすべてシステム的に動くことを意識することで、お客さまとのヒアリングの際にフローを完成させることが出来るのです。

フローチャート練習問題

ここではグループに分かれてのディスカッションしてフローチャートの作成を行いました。 余裕があれば、ぜひ挑戦してみてください。

問題内容は以下の通りです。

問題1

あなたは、家の玄関を出たところにいます。 あなたは、そこから近くのコンビニまで行きたいと考えています。 確実かつ安全かつ無駄なく、移動してください。

交通状況など、移動に関する障害はない普段どおりとする。 天気は晴れです。

問題2

あなたはビルの5階にあるエレベーターホールにいます。 あなたは、エレベーターを使って2階を移動したいと考えています。 確実かつ安全かつ無駄なく、2階のエレベーターホールまで移動してください。

ビルは11階建てです。 エレベーターは問題なく稼働している前提とします。 あなたの両手はふさがっておらず、あなたには怪我も病気も障害もありません。 あなたはエレベーターの利用方法はわかっている前提とします。

講師の模範解答 (問題1)

  1. スタート

  2. 公園の手前の歩道に出るまでループ。

  3. まっすぐ歩く。

  4. 左に90度曲がる。

  5. もし車が来ていたら6の処理を実行する。

  6. 7の処理を車が行くまで繰り返す。

  7. 待つ。

  8. 9の処理をコンビニの入り口が見えるまで繰り返す

  9. まっすぐ歩く。

  10. 左に90度曲がる。

  11. 12の処理をコンビニの入り口まで繰り返す。

  12. まっすぐ歩く。

  13. 左に90度曲がる。

  14. エンド

講師の模範解答 (問題2)

  1. スタート

  2. 下行きのエレベーターが到着していなかったら3の処理を実行する。

  3. 下ボタンが押されていなかったら4の処理を実行する。

  4. 下ボタンを押す。

  5. 自分がいた元の位置に戻る。

  6. 7の処理をエレベーターがくるまで繰り返す。

  7. 待つ。

  8. 上行きのエレベーターなら9を実行する。

  9. 6の処理に戻る。

  10. 11の処理をエレベーターのドアが開くまで繰り返す。

  11. 待つ。

  12. 13の処理を降りてくる人がいる間、繰り返す。

  13. 待つ。

  14. 15の処理を自分より先に乗る人がいる間、繰り返す。

  15. 待つ。

  16. エレベーターに乗る。

  17. ブザーが鳴ったら18の処理を実行する。

  18. 降りて処理を終了する。(スタートに戻る)

  19. 2階のボタンが押されていなかったら20の処理を実行する。

  20. ボタンを押す。

  21. 空いているスペース(奥から詰めて)へ行く。

  22. 入口側を向く。

  23. 2階に止まるまで24の処理を繰り返す。

  24. 待つ。

  25. エレベーターのドアが開くまで26の処理を繰り返す。

  26. 待つ。

  27. 先に降りる人がいる間、28の処理を繰り返す。

  28. 待つ。

  29. エレベーターを降りる。

  30. エンド

余談

この授業を受けて面白い遊びを思いつきました。 子供を肩車して命令をしてもらうというものです。
子供に進めと言われたら進み、止まれと言われたら止まる。
壁にぶつかったら足踏みをしてループ。 その都度、子供にどうしますかと命令をしてもらう。

日常の一部でこうしたことを繰り返すことによって、フローチャートやプログラムの書き方についてより深い理解が出来るかもしれません。

まとめ

今回は高速でフローチャート作るための練習方法について書いていきました。 システム的にどうやって動くかを日頃から意識することで人の要望について頭の中でどうやって処理していくかのフローチャートを早く作ることができます。
日常をフローチャートにする練習をしていきましょう。

宣伝

RareTECHに興味のある方は、こちらのHPをご覧ください。
無料体験授業も行っていますので、ぜひご参加くださいね。

raretech.site