しぃぶろぐ。

仕事とか技術関係のこと。

即戦力の人材を作る、たった1つのポイント

今日、システム屋さんで即戦力を作るには、
たった1つのポイントをおさえておけばいいんだ!と気付きました。

きっかけ

今新しい現場で業務内容やらシステムやらの説明を久しぶりに受けていてですね。
この説明だと私が戦力になるのに時間かかるなー、と思ったわけですよ。
説明の中身がどうこう、というよりも説明の流れですね。
私は新人さんじゃないから、配属初日から戦力になれます。
新人さんでも説明次第で即戦力になれます。
それができないのは、たった1つの説明のポイントがおさえられていなかったからなんだなと、気付いた次第です。

目的から仕様へ、業務からシステムへ、全体から部分へ

たった1つのポイントとは

それはずばり、「上流から下流へ」ということです。
「目的から仕様へ」「業務からシステムへ」「基本から詳細へ」です。
開発の流れとまったく同じです。

上流は全ての原点

全てのシステムに目的があり、それを叶えるために作られ、運用されています。
どんな小さな機能も改善も修正も、お客さんの目的と要望を叶えるために存在しているわけです。
正直、システムの目的とお客さんの要望を正確に理解していれば、社会人1年生だって要件定義の場に加われると思っています。*1
(むしろ、理解しようとしない人はどんなベテランでも無理。)

上流から下流への流れ

やりたいことがわかっていれば、システムの仕組みも理解しやすいのは道理でしょう。
携帯の中身がどうなっているか知らなくても、移動しながら電話するという目的を理解していれば、
この中にマイクとスピーカー、入力装置、画面、電池、電波を送受信するアンテナが必要な事はわかるのと同じです。
必要なものがわかったら、それをどう入れ込めばいいのか(ハード・ミドル)、
どうやってそれらのパーツをつなげるのか(I/Fや言語、フレームワーク、テーブルやモデル設計もかな?)、
どうやってパーツを作るのか(開発手順や開発環境の使い方、言語文法やアルゴリズム)、
といった具合に自然とすすみます。よね?
自然な流れに逆らってはいけないのです。

他への応用

これは、何もシステム屋さんにだけ言えることじゃないですよ。
経理屋さんは、その計算によって会社の経営が方針付けられることを理解し、意識することです。
ただ計算したり、整合性を持たせればいいのではありません。
より正確に会社の状況を把握するにはどうしたらいいか、が問題になるはずです。
植木屋さんは、お客さんが求める理想のお庭を把握・理解しようと努めることです。
ただ形を整えればいいのではありませんし、自分の理想を求めるのでもありません。
小手先の技術によらず、心を込めて真摯にお客さんと向き合うことです。
学生さんは、何でその学問を学ぶのか考えてみてください。自分にとっても、社会や世界にとっても、なぜそれが必要なのか。
丸暗記じゃいつか消えていってしまいます。
自分なりの答えを出した上で教科書を読み直してみましょう。きっと違う本のように感じるはずです。

おまけ(実際にこういう順番はどうですか?)

  1. システムの目的
  2. 主要業務のフロー
  3. 全体システム内のデータライフサイクル・フロー
  4. 担当システム内でのデータライフサイクル・フロー
  5. 案件の発生から開発テスト・リリースのフロー
  6. システムの構成
  7. 今作業中の案件および今後作業予定の案件
  8. 開発手法・実際の内容
  9. 実作業

システムの目的とは具体的に言えば、何のために誰が何をどうするためのシステムなのか、ということです。
例えば、「決算のために伝票を電子化し経理が仕事をしやすくするためのシステム」ですとか、
「知識共有を計るために、各社員の知っている情報を投稿集積し、検索するためのシステム」となるかと思います。
これにより、このシステム内で扱う処理の大まかな内容・関連する部署やシステムが見えてきます。


必要に応じて順番は前後してよいと思いますが、
「上流から下流へ」の流れは押さえておいてください。

おまけのおまけ

忙しいからか、はたまた面倒だからなのか、
詳細or部分的な資料は大量にあるけれど、全体を見渡せる資料がない場合が多いです。
その時は、無理に適当なものを用意するよりも、
ざっと説明した後は、教育を受ける人に作成してもらうとよいでしょう。
復習にもなりますし、次の新しい人のためにもなります。
もちろん、それをチェックすることにより、教育者も確認しなおし、初心に戻りましょう。


眠い頭でつれづれなるままに書いてみましたが、
ちょびっとでもみなさまの人生のお役に立てたら幸いです☆
また何か思いついたらまとめます (`・д・´)ゞ
ではおやすみなさい。。。

*1:見積もりは難しいでしょうが、要望をまとめたりどう実装するかは考えられるでしょう。