ビジネスソフトウェアの「ラストマイル」

実際にシステム開発に携わるエンジニアには超おすすめの本をご紹介します。

ThoughtWorksアンソロジー

あのマーチン・ファウラーも所属する、ThoughtWorks社のエンジニアのみなさんによるエッセイ集です。
この本では、システム開発の様々なシーンについて、とても実践的に書かれています。
また、当然かもしれませんが、それぞれ書かれている内容はとてもレベルが高いです。

ここに書いてある内容を一つ一つ実践していくだけでも、自分たちのチームはすごくよくなるのではないかと思えるほどです。

まずは、創業者兼会長のRoy SinghamとMichael Robinsonによる、”ビジネスソフトウェアの「ラストマイル」を解決する”について書いてみます。

ビジネスソフトウェアは「稼働」しなくてはいけません。文字通り、「働いて」「稼ぐ(価値を提供する)」という段階に入って、開発プロジェクトはゴールとなります。では、その「ゴールまでのラストマイル」とは何を指すのでしょうか。
”ビジネスソフトウェアの「ラストマイル」”の内容を、この本の表現から引用してみます。

この「ラストマイル」というのは開発プロセスにおけるフェーズの1つであり、ソフトウェア機能要求を満たすところまで完成していながら、まだ稼働に入らず企業に対して価値を提供し始めていない段階に相当します

「ソフトウェア機能要求を満たすところまで」完成した後行う「開発プロセスにおけるフェーズ」とはなんでしょう?このエッセイにも記述されていますが、例えば、次のようなことが挙げられます。

  • システム統合(レガシーシステムとの連携など)
  • データ移行
  • 配置(あるいは、配置するための依存関係や前提の把握)
  • 非機能要求のテスト(性能、可用性、セキュリティ)
  • ユーザ以外の利害関係者の対応(サポート、運用、監査)

この「ラストマイル」がコストが高くつく最大のボトルネックになりつつある、と書かれています。

私の経験から言っても、確かにこの領域ではエンジニアはさまざまな能力を求められます。

システム統合するためにはレガシーシステムを(少なくともある程度は)知らなければなりません。
また、データ移行するための新旧システムのデータ内容をよく理解している必要もあるでしょう。
配置するためのシステム要件については、ミドルウェアやOSについてもさることながら、それらを利用して自分たちのソフトウェアがどう動いているかもよく知っていなければなりません。

この領域には単にコードを書くだけでなく、幅広い知識や適切な判断ができる、いわゆる「できるSE」をあてがう必要がある領域です。だからこそ、コストが高い領域でもあるのです。

このエッセイでは、この「ラストマイル」問題に対して、開発プロセスにかかわるすべての人々が着実に取り組むべきだと書かれています。「ThoughtWorksアンソロジー」では、この問いに対して、さまざまなSEがさまざまな開発シーンでの対処法を書いていると言えるかもしれません。

system-enablersでも、これらの「ラストマイル」を埋める内容を考えています。
この領域についても、何かしら提供したいですね。

  1. コメントはまだありません。

  1. トラックバックはまだありません。

コメントするには、 [ ログイン ] する必要があります。