開発プロセスの重要性をどう理解するのか

今日の会社帰り(仕事帰りと言いたいところだが、会社には行っているが仕事してないので)にTwitterを見ていたら、こんなやりとりがあった。

僕もそう思うんですけどね。ただ、手を動かしてからじゃないと意味が分からないとも思うし悩ましいです RT @hidehide7: 何から教えるのがいいんでしょうかね。自分の新人時代を振り返って..開発プロセス概要と今やる仕事の位置づけを教えてもらえたらより身に付いたのかな??
Twitter / 鈴木雄介: 僕もそう思うんですけどね。ただ、手を動かしてからじゃ …

そうです、我が身にならないと学べない。 RT @inoccu: 見て学んで問題があると思ったところから、開発プロセスの重要性に気づくのでしょうね RT @yusuke_arclamp: 手を動かしてから RT @hidehide7: 何から教える
Twitter / 鈴木雄介: そうです、我が身にならないと学べない。 RT @in …

これもIT産業が急激な変化をしてきたからですね。世代としては30代中盤が橋渡しになるはず RT @yokatsuki: かつて自分が登ってきた経験の階段が、あまりにも時代にそぐわない事も一因。今の時代に合った階段を刻み、導いてあげられる人が必要。
Twitter / 鈴木雄介: これもIT産業が急激な変化をしてきたからですね。世代 …

途中には私(@inoccu)も絡んでいるわけだが、特に私のツイート「見て学んで問題があると思ったところから、開発プロセスの重要性に気づくのでしょうね」が、事実ではあると思うが、今ひとつ寂しい内容なので、補足してみようと思う。

何が寂しいと思ったかというと、見て学んで「問題がある」と思わないと、新人たちは開発プロセスの重要性に気づかない。つまり、一回は修羅場のプロジェクトを経ないと駄目かも~!という前提があることだ。

実際、悲しいかな、SI業界の新人はそう遠くない将来に修羅場をくぐることになる。私は他の業界で新人をやったことがないので、SI業界以外は分からない。他の業界も似たようなものかもしれない。仕事だから、やっぱり大変なことはあるだろうから。とはいえ、SI業界の場合はうまくいったプロジェクトの方が少ないという有り様だから、やっぱり修羅場をくぐる可能性は高いわけだ。

なぜ修羅場になるのだろう。SIの仕事は曖昧この上ない人間の、しかも因業親父どもの集団(お客様ですね。えぇ。)が、やたらめたらの方向から繰り出してくる戯れ言を、どうにかこうにかまとめて、しかも玉虫色の決着だとコンピュータの方が聞いてくれないから、コンピュータ様にもご理解いただけるような着地点を見いだして、なんとか作り上げていかないといけない、そういう仕事である。いわゆる、難しい。だから、上手くいくわけないじゃん!と言い切ってしまうと業界の進歩が止まるから、それはやめるとして、開発プロセスというものが何らかの解決策を与えてくれる可能性が、もしかしたらあるかもしれないと思うことにしよう。少なくとも私は、その効果があると思っている。

しかし、往々にして開発プロセスは会社で整備はされても、単なるお飾り、せいぜい目の上のたんこぶ程度にしか思われていないことが多い。修羅場をくぐったエンジニアが、目の色を変えて開発プロセスを学び始めるかというと、そんなことはない。(その中で、自ら開発プロセスを書く真似事を始めた私は、どうやら希少種のようだった。)だから、その修羅場すらくぐっていない新人が、開発プロセスに興味を持つことはまずなかろうと思われる。

開発プロセスというものは、プロジェクトの中でただ一人が唱えていても、何のメリットもないのである。開発プロセスは、プロジェクトメンバー全員が常識のように(体で覚えているほどに)身につけて、初めて効果が出てくるものなのだ。

だとすれば、やはり新人のうちに覚えて、身につけておいてもらって、プロジェクトメンバーの全員が開発プロセスを知っているという状態が、自然と出来るようになってくれば、それが最も望ましいのである。その頃には、修羅場プロジェクトは少しは減っているかもしれない。

理想を言えば、業界の中で標準の開発プロセスが出来ているのが良い。多くのプロジェクトは複数のSIerの共同作業(多くは垂直構造だが、水平構造ももちろんある)となるから、プロジェクト毎に開発プロセスがまるっきり違うといったことは避けられれば、それに越したことはないのだ。

そうした業界標準の開発プロセスが出来れば(単に出来ただけじゃなくて浸透しているという意味で)、学生がこの業界に入ってくるときには、既にその開発プロセスが頭の中に入っているようになるだろう。資格のようなものがあると良い。そうすれば、大学や専門学校が必死に、その開発プロセスを学生たちに叩き込んだり刷り込んだりしてくれるだろうから。

そんなことを思いつつも、現実としては、やはり開発プロセスの重要性を説いて、それを理解してもらってから、実際の説明に入るという段階を経なければならないのである。重要性を説くという段階が、現実の修羅場であったとしても。

私にとっての原点の一つ。

開発プロセスといえば、やっぱりRUPですか。

この記事を書いた人

井上 研一

株式会社ビビンコ代表取締役、ITエンジニア/経済産業省推進資格ITコーディネータ。AI・IoTに強いITコーディネータとして活動。画像認識モデルを活用したアプリや、生成AIを業務に組み込むためのサービス「Gen2Go」の開発などを行っている。近著に「使ってわかった AWSのAI」、「ワトソンで体感する人工知能」。日本全国でセミナー・研修講師としての登壇も多数。