私たちは企業や公的機関の情報システム開発やその支援を行っています。
私たちが考える情報システムとは、
①業務プロセスを補完し、
②ビジネスや環境に寄り添いながら変化していく
ものです。
情報システムを導入、または再構築を行いたい、という要求はどこからくるのでしょうか?既存システムや人による処理だけでは新しいビジネス要件に対応できない、または既存システムが業務にフィットしないと感じているからではないでしょうか。組織における情報システムは単独では意味を持ちません。そこで行われる人間活動が土台としてあり、それを補完することで初めて価値が生まれます。私たちは情報システム開発のプロフェッショナルとして、システムがどのような形でお客様が抱えている問題の解決を支援できるのかを提案していきます。
情報システムがビジネスや環境の変化の足枷になってはいけないと考えます。新たなビジネスを立ち上げるため情報システムに機能を追加しようとしたときに、その変更を容易に受け入れられないようなシステムではビジネスを加速させていくことはできません。また、システムはビジネスや環境に合わせて少しづつ変化しながら成長していくべきです。導入までに長期間を要するようなシステム開発ではビジネスや環境の変化に対応できません。あらかじめ開発することが決まっている機能を開発途中で見直すことは難しいからです。
上記①②を満たすような情報システムを実現するため、私たちは3つのことを実践します。
1.お客様のビジネス活動や業務内容を分析する
2.今必要な機能から順次リリースしていく
3.変化に強いソフトウエアを開発する
分析とはただお客様の対象業務に関する知識を得るためだけに行うのではありません。組織固有の文化や環境を踏まえたうえで、対象となる問題領域から構成要素を抽出し、それらが本来どのような関連により成り立っているかを明確にするために行います。業務運用における様々な構成要素の相互作用を明確にすることで具体的な改善点が見えてきます。そのうえで、お客様が思い描くビジョンを実現するためにシステムが支援できるのはどのようなことなのかを検討します。必ずしも全てをシステム化する必要はありません。組織の活動はあくまで人間が支えています。情報システムはその支援をするだけです。システム化するよりも人間活動自体を改善したほうが効果的な場合もあるのです。
お客様からヒアリングをした結果を踏まえ、UMLクラス図による概念モデルの作成やUMLアクティビティ図による運用フローの作成等を行い、お客様との合意を形成していきます。その結果をもとにシステム化対象領域を検討し、システム化対象領域に対してはUMLユースケース図やユースケース記述を作成します。
あらかじめシステム化する全ての機能を決定し、それを長期間にわたって開発し完成したところでリリースする、というのが一般的なシステム開発です。しかし、開発が長期にわたると、その間にビジネスや環境が変化してしまう可能性が高くなります。ビジネスや環境が変化してしまうと、新たに機能を追加したい、当初含まれていた幾つかの機能は必要ない、といった要求の変化が起こります。本来ならシステムのあり方を見直すべきですが、最初にシステム化する機能を決定してしまっているため見直しができない場合が多く、結果として使用されない、または使用できないようなシステムを生み出すことになりがちです。
私たちはそのような問題を回避するために以下のような開発プロセスをとります。
①お客様にシステム化する機能に対して優先順位をつけていただきます。
②私たちは優先順位の高い機能のみを短期間で開発し、リリースを行います。
③お客様にその機能を業務の中で使用していただきます。
④お客様からの評価に基づき再度分析を行います。
上記①~④をお客様の要求を満たし、必要な機能を全て提供できるまで繰り返します。
短期間で一つの機能を開発、リリースしていくため、要求の劣化を防ぐことができます。また、上記プロセスを継続中にビジネスや環境が変化して新たな要求が生まれても、分析や優先順位付けを毎回行うため柔軟に対応できます。
たとえリリースした機能であっても実際に使用してみると変更したい箇所は当然出てくるはずです。画面の構成や操作性などは特にそうでしょう。また、新たな機能を追加する際に連携が必要となり、既存機能を変更しなければならない場合もあるはずです。このような変更を受け入れられなければ、システムをビジネスや環境の変化とともに成長させていくことはできません。私たちは、変化は当然起こるという前提にたち、容易に変更ができるソフトウエアを開発します。具体的にはオブジェクト同士の相互作用としてシステムの振る舞いをとらえるオブジェクト指向をベースに変更点を局所化できるようなシンプルな設計に基づいて開発を行います。その結果、お客様からの変更要求を最大限受け入れることを可能にします。