日経なんチャラなどの技術情報誌や流行りのジャーナリストがカッコよく紹介する新技術やサービスに食いつく輩は多い。彼らの目的は、新しいものをなる早で紹介し、雑誌の購買数を上げることやフォロアー数をアップさせることである。我々から見れば、苦労せずに、最新の情報やトレンドを知ることができるというメリットはあるが、それを鵜呑みにすることは危険極まりない。紹介された技術やアイデアを利用するか否かはあなたに委ねられており、その責任は利用者マターである。その技術やアイデアがあなた自身が担当しているシステム開発に有用か否かを十分吟味する必要があるだろう。
さて、過去さまざまな分野において新技術は開発されたが、現在でも生き残っているのはごくわずかである。プログラム言語を例に過去に開発されたものを振り返ってみよう。
プログラム言語
1940年代: アセンブリ言語
1950年代後半―1960年代半ば: FORTRAN, ALGOL, COBOL, LISP, BASIC, PL/I
1960年代後半―1970年代: BCPL, Simula, Forth, Pascal, B言語, C言語, Prolog, Smalltalk, ML, awk
1980年代: C++, Objective-C, PostScript, Common Lisp, Eiffel, Perl, Mathematica
1990年代: Python, Haskell, Microsoft Visual Basic, Ruby, Lua, Java, SuperCollider, JavaScript, Erlang
2000年代: C#, Scala, D言語, Go
2010年代: Rust, Dart, Swift, Hack
過去70-80年に渡り、多くのプログラミング言語が開発されたことが分かる。当時、それら全ては最先端の技術であったが、いまでも使われているプログラミング言語は数少ない。これと同様に、ハードウエア、オペレーティングシステム、データベース、ミドルウエアにおいても、多種多数の技術が開発された。開発された当時、生き残りを予測することができただろうか?
システムを納期までに完成させたいなら、新しい技術に飛びつくのはやめた方が良いというのが私の意見である。新しい技術には技術的及びビジネス的な問題がつきものである。開発に着手する前からリスクを増やす必要は全くない。市民権を得てから使っても遅くない。新技術はリスクと捉えるべきである。したがって、枯れた、なるべく新しい技術を使い短期間で作りあげることが重要である。(だらだら開発していたら、その技術が陳腐化してしまう)
一方、新技術を積極的に利用するケースもある。それは、その技術が差別化の要因になる場合である。新技術により、他社のサービスとの差別化ができるとか、市場へのサービス、製品、会社のプレゼンスを向上させることができる場合である。
最後に、新しもの好きのエンジニアやビジネスパーソンはどこにでもいる。あなたの周りにもいるはずであるが、その人がシステム開発に影響力のある立場や役割だとすると厄介だ。