はじめに
こんにちは、木下修司と申します。いまロンドンに出張していて、ISOの国際標準化会議に出席しています。
時差ボケで変な時間に起きて、何となく自分の過去を振り返っていたら、ただの新卒文系SEだったのに、思えば遠くへ来たもんだ(by 海援隊)という気持ちになったので、ボトムアップにこの10年を振り返りつつ、トップダウンに、国際標準が現場のシステム開発に果たす役割について私見を述べます。コードは全く出てきません
が、こんなQiitaの読み物もあってええかなーとおもてます。
ちょっと早いけど僕の自叙伝です
ググんなくてもこのタイトルにピンと来た方とは友達になれそう。
ここはいらん方はスクロールして下のほう読んでもらえれば、と。
2007-2011 ただの文系SE、独立系SIerで働いていた
大学は文学部で、文芸サークルで真面目に小説書いてたのですが、小学校入る前からパソコンには触っていたということもあり、適当に就職活動してみたらなぜかSEしか内定が出ず、2社いただいたうち、徳島の某ワードプロセッサー大手を辞退して、東京のへんてこ中小SIerに入りました。一応プログラミング経験はあったものの、**オブジェクト指向、何それおいしいの?**みたな気持ちでチンプンカンプンだったのを覚えています。今は死語になりましたが、RIA(Rich Internet Application)と言って、フロントエンドはFlash、サーバサイドはJavaとかの案件をこなしてました。
同僚やお客さまに恵まれ、当時できたてのshibuya.tracに参加するなど、チケット駆動(TDD)やCI/CDについて知見を深めたことが一番大きかった(いまの仕事や研究テーマに生きている)と思っています。
あと、リーマンショック影響甚だしい2009年の春に、新人教育担当をしたことは忘れない。あんときは大変だった。
2012-2016 会社やめて大学院に入り直した
関西出身なので、関西に帰って仕事したいと思っていたこともあり、2010年に大阪支社に異動。その後**「やっぱりコンピュータのことちゃんと勉強したいな」と思い、会社を辞めました。当時のことはここに書いてあるんですけど、胴上げされる孫さんを見て「このままやと将来胴上げしてはもらえないな」**と思った近鉄バファローズファンは私です。
東日本大震災の翌日に奈良先端大大学院のオープンキャンパスに行き、英語と数学を勉強して一般入試で合格。2012年4月から修士課程の学生になります。このとき、最初は自然言語処理をやろうと思っていたのですが、いまの指導教官がやっていたシステム検証、形式手法が面白いと思い、その研究室へ。
指導教官の異動に伴い、2014年からは神奈川大学、再び関東に戻りました。修士課程ではプログラム意味論や関数型言語の理論的研究をやっていたのですが、博士課程では**ディペンダビリティ(総合信頼性)やシステムアシュランス(議論の見える化)**といった、現場寄りの研究をやりました。特に自治体の防災業務をシステムと考えて、そのディペンダビリティを主張するにはどうすればいいか?というのを研究テーマにしていました。コードはほとんど出てこない話です。
2017- 現場のSE&大学研究員として、国際標準化委員として
2017年3月に博士課程が終わり、フリーランスのSEとして都内の現場に戻りました。約5年のブランクがあったので普通に働けるのか半信半疑なところもあったのですが、知識の面はともかく、技量面ではいつのまにかパワーアップしていて、それなりに働けました。また、アジャイル開発、スクラム開発の現場に入ることができ、多くの知己・知見を得たことに感謝しています。10年ほど前にCI/CDとか言っていた頃よりも、はるかに多くのことが現場で導入しやすくなった、けれどもまだ普及しきっているわけではないなーと思っています。
2018年4月からは、お客さんの理解もあり、週半分ぐらい現場、週半分は大学で研究しています。研究、といっても私はゴリゴリ実験して論文書く人ではなく、どちらかというと国際標準化の活動をしています。指導教官が国際標準化に携わっていることもあって、2016年の秋からISO/IEC JTC 1/ SC 7の委員をしています。ISOの情報関係のうち、特にシステムエンジニアリング関係の規格を策定する部署です。
ぼく自身も研究で、2015年初頭ぐらいから国際標準を使っています。今年度からは年2回ある国際会議にも出席し、システムエンジニアリング、特にシステムライフサイクルの国際標準化について海外のみなさまと議論しています。いまは、前述のシステムアシュランス(議論の見える化)、特にアシュランスケースに関する国際標準ISO/IEC/IEEE 15026-2の共同編集者もやっています。
国際標準っておいしいの?
そう、現場SEにとって、国際標準って何それおいしいの?的な感覚があると思うんです。ぼくも、会社にいた頃に知っていた国際標準なんて、せいぜいISMS(ISO/IEC 27001)ぐらいです。そのときは、ISMSを取得していないと某N社とか大手が発注してくれない、というような話だったと記憶しています。
標準化に対する誤解
また、「標準化」=「ぜーんぶ一緒に統制させられてつまんない、はい大企業SIerのやることですね**(俺らWeb系はもっと自由なんだ!)**」みたいな偏見があると思います。これは誤解です。
ぼくも以前は誤解していましたが、標準化というのは、一般には何かを「規制」するものではなく、こうしたらいいですよ、というベストプラクティスの集大成(何かを規制したり認証ビジネスをするものではない)です。
そのうちいくつかは、そういった規制や認証に用いられるのですが(それもTPOにあわせて必要なのですが)、こうしたらいいよ、というガイダンス規格は絶好の教科書で、多くの知見があつまったそこから学ぶことは、Google先生に適当に教えてもらった断片をホヘーと右から左に流すより、はるかに意義があります。
ただし、教科書は教科書なのでちょっと文体が堅く、5分ぐらいで寝てしまいそうな側面もあります。でも、教科書読んでるだけ東大合格しまっせ!みたいな本も巷間あふれるように、教科書大事です。
教科書(国際標準)のわかりづらさをかみ砕く人間として、今後Qiitaでも解説を投稿していきたいと思っています(規格本文は有料のものも多く、全文引用はできないのですが)。