PR

システム・アプリ開発 課題の本質を把握する

ITエンジニア現役

こんにちは。IT忍者です。雇用調整助成金のシステムがあまり宜しくないようで、再度利用可能になってから、すぐ利用停止になってしまいましたね。ID重複問題からいろいろ問題が派生してしまっているように見受けられますが、予測した通り1日、2日程度ですぐには解決できてはいないですね。

さらにはトンネル団体!IT業界でも多々見かけますよね~~~。再委託に制限がない案件ほど怖いの物はないですね。企業間取引でエンジニア単価、システム単価が高いからといってその単価に見合うクオリティが本当に出るのかは、該当企業と人に依存しますよね。

今回は出来るエンジニア達の極々一部のスキルの内容です。非常に地味なスキルですがあるのとないのでは雲泥の差が出ます。

課題の本質とは?

プログラマ、設計者、アーキ、PM、インフラ、ネットワーク、コンサル、管理職、etcどんな役割で仕事をするとしてもあると望ましいスキルです。ITエンジニアだけではありませんがビジネスパーソンとしてはないと困るという部分ですね。さらにITエンジニアは考える事が仕事です。またいきなり出来るようになる類のスキルではないので、これも地道な積み重ね系ですね。

どんな作業をするにせよ。何も考えずにいきなりプログラミングを始めるとか、設計思想を整理せず、設計ドキュメントを漠然と記述するとか暴挙にでる人もいますが、最初に分析と設計を考える事が重要だと思います。

課題を抽出する前に

「問題」と「課題」この2つを正しく理解する必要があります。課題解決アプローチをミスすると取り返しがつかなくなったり、リカバリーする為に莫大な時間と労力を費やすことになります。

「気づき」を多くもっている人であれば最初からいろんな問題を想定しているので、実際に問題が起きても「想定内です」と言えますが、そういうレイヤーの方は非常に少ないので「気が付かなかった」「気が付けなかった」なんて事の方がきっと多いはず。

ひと昔前にホリエモンさんが「想定内です」と言って流行語大賞になった言葉ですが、まさにあれですよね。

問題と課題の定義

問題:現状と目標との差 ギャップ
課題:現状と目標との差を埋めるための具体的アクション

ビジネスフィールドでは上記定義が多いと思います。ですので こういう人もきっと大勢いるはずです。
「問題を問題と思わない人」 そもそも目標と乖離していてギャップがある事に気が付いていない人。

課題を抽出するには、まず問題を把握する事が重要です。問題把握が出来るだけでも大きな進歩になるはずです。問題解決力のある人は問題を正しく捉えて、適切な課題アプローチを実施するのでIT業界でも出来る人と出来ない人の差が出てくる部分ですね。

プログラミングコードを書けるだけでは全く足りない。コーダーとプログラミングは別物ですからね。今や機械が半自動でソースコードを記述してしまう時代ですので、人間だから出来る事にフォーカスして能力を伸ばす事をオススメします。

ITコンサルや顧客折衝全般ですが、この能力がないと業務/機能 のFIT&GAPなどでは手も足もでませんね。

課題アプローチへのビジネスフレームワーク

問題を正しく把握できたら、次は具体的なアクションとなるわけですが、ITエンジニアの最も得意とするべき領域に入ってきますが、問題に対していくつかの分析手法がありますが、開発業務だとロジックツリーを使う事が比較的多い気がします。

PESE、SWOT、バリューチェーン、VRIO、3Cなどなど 分析手法はクライアント依頼内容にもよりますが 自分の開発作業ならロジックツリーをしっかりとですね。(開発だけではないので自分のTASKでもですね)

フレームワークというとSJS、Laravel、Ruby on Rails、 Django、Reactなどなど 開発フレームワークを連想すると思いますが、覚える事は開発フレームワークだけではないという事。ほんとにITエンジニアは幅広いですね~~。

ロジックツリー実施ポイント

なぜを繰り返して、なぜがなくなるまで問題を階層化し掘り下げ、抜け漏れや重複を排除しながら対応すべき物と対応方法を検討しやすいという事が挙げられます。 マインドマップツールとか使うとやりやすいですね。

設計考察

対応すべき課題が見えたらようやく設計です。ここでいう設計は広い意味なのでプログラミングするにしろ、最初に内部ロジックと流れを整理し設計しないと始まりません。システム設計、DB設計なども同じですね。問題・課題に対してどのアプローチで対応するのか、どの概念を取り入れるのがベストなのか、解決までもっていけるのか、問題が起きたときにどう対応するのかまで、明確になった上で進める事が以外と最速で完了させられる気がします。

課題アプローチの重要性とまとめ

抜け穴への対処も検討できるので、エラーにしないといけないところはしっかりエラーへ、そうでないと「他の人の個人情報見れちゃった」とか、「実は人海戦術で人が目検チェックしています」とかが起きてしまうわけです。

コンピュータは与えられた事を永遠と繰り返す事は得意ですが、まだまだ人間的な解釈は得意ではありませんので、最初から想定するにせよ、いろんな角度からの考察が必要になるので抜け漏れなく課題を抽出するという事が、重要になって来ると思います。そしてその中にはきっと「失敗から学ぶ」という事も含まれるので、意識しているか意識していないで、スキルを伸ばすための吸収力も変わるかと思います。

思考停止で手だけ動かさないように、ぜひ意識して見ては如何でしょうか。