2009.12.13 · 技術と道具

エンジニアとしての専門性

先程の記事「顧客と同じ意識に立つ」で書いた、

できるだけ、顧客と同じ意識に立つ。その上で、エンジニアとしての専門性を提供出来る。そういう仕事をしたいと思います。

という文章で、「エンジニアとしての専門性」という言葉を出したので、それって何だろうかと考えてみました。

https://inoccu.com/blog/2009/12/13/224700.html

先程の記事は上流工程を意識していたのですが、エンジニアとしての専門性といって思い浮かんだのは、「MECEを作る」ということでした。

MECE。モレなくダブリなくというやつですが、上流工程の責務である「仕様を定義する」ことにおいて、仕様がMECEであることは何よりも重要なことです。

そこで作る仕様は、顧客が念頭に置いている要件はもちろんのこと、あらゆる例外ケースを網羅しなければなりません。例外ケースをすべて取り上げ、MECEにすれば、その仕様はそのままテスト仕様書にもなるのです。

顧客と同じ意識に立って、さらにエンジニアとしての視点を加えることで、はじめてMECEな仕様が出来る。これが上流工程におけるエンジニアの専門性です。

結局のところ、システムを作るというのは、何が起きても大丈夫な構造を論理的に作ることです。そのような構造を作り上げたあとで、次のステップとして、その構造をソフトウェアとして実装するのです。

仕様を定義する上流工程に対して、ソフトウェアを実装することを下流工程といいます。上流工程における専門性と、下流工程における専門性は、種類が違うのかどうか。

自然言語で定義したMECEな仕様を、より論理的な言語であるプログラミング言語で再定義してみる。上流工程で定義された仕様が本当にMECEなのか検証することが出来ます。こう考えれば、下流工程は上流工程の延長線上にあるものに過ぎず、専門性に違いはないことになります。

一方で、ソフトウェア・システムを実際に稼働させるにあたっては、様々な非機能要件を検討せねばならず、それをソフトウェアとして実現させる手段も必要です。まさに「技術」的な部分です。こう考えれば、上流工程と下流工程の専門性は異なるということになります。

まぁ、そうは言っても、やはり上流工程と下流工程の専門性は違うと思います。ただ、業務アプリケーションのプログラマとかだったら、比較的上流に分類した方が良いかもしれない。上流と下流というより、アプリケーションとインフラくらいの方が素直というか。

今後クラウドが進展していくとすると、クラウドの外にいる人とクラウドの中にいる人で、アプリケーションとインフラといった違いが出てきて、きれいに分業出来たりするのではないかと。

そうやって分けて考えれば、明らかに私はインフラの方は苦手なわけです。だから、業務をしっかり理解できて、それをMECEに組み上げられる人にはなりたいと思います。

2009/12/13 23:14
← 顧客と同じ意識に立つ
Android用WordpressクライアントwpToGoが… →
井上 研一
経済産業省推進資格ITコーディネータとして中小企業のDX・AI活用の現場で伴走支援を行う。「ITCプロセスガイドライン4.0」および「中小企業向けAI活用ガイド」執筆メンバー。著書・講演多数。ITエンジニアとして25年以上の実務経験。AI導入の実務に10年以上携わる。自ら開発したAIサービス「Gen2Go」が北九州発!新商品創出事業の認定を受ける。2026年4月より北九州市立大学大学院マネジメント研究科の学生としての顔も持つ。

本サイトおよびブログに掲載している内容は、特に明記のない限り、井上研一個人の見解に基づくものです。所属・関与する組織、団体、企業、研究会等の公式見解を示すものではありません。