特集

ITよもやま話

人になりきり、人と共につくる

技術本部 デヴェロップメントセンター 開発第一課 砂子 一徳

  システム開発の仕事は、時としてコンピューターよりも人との関わりが中心となる。私はこれまでアプリケーションの製造やテスト、それらの技術支援など、技術を軸とした役割に携わることが多かったが、このような立場であっても、人との関わりが中心となる場面が多かった。人との関わりを軽視できないところに、この仕事の難しさも、やりがいもあると感じている。
 本稿では、システム開発と人との関わりについて、私がこれまでの業務を通じて、設計時、製造時に特に重要だと感じている事項を書いてみたい。

設計 : さまざまな人の立場になりきる

 システム設計の成否とは、さまざまな人の立場になりきれるかどうかにあると考えている。より多くの人の立場を、より深くイメージすることで、設計はより良いものになるということだ。

 システム開発にはさまざまな立場の人々が参画するが、各々の立場によって興味があるポイントは大きく異なる。例えば、システムの利用者であれば使い勝手に興味があるし、実装担当者であればコードの書きやすさに興味がある。そのため、ひとつの立場の観点だけで設計を行っても、他の立場の人に納得してもらうことはできない。技術的な観点でどんなに素晴らしい設計であっても、使い勝手の観点で問題があれば、技術者は納得しても利用者に納得してもらうことはできない。

 良い設計にするためには、多くの立場から設計を吟味する必要がある。そのシステムに関わるあらゆる人を想像し、それぞれの立場に深くなりきって、客観的に設計を吟味しなければならない。このような吟味を繰り返すことで、多くの人にとって納得感のある設計になるし、考慮もれによる問題も発生しづらい設計になる。

 しかし、さまざまな立場の人間になりきることは簡単ではない。どうしても直接接点を持つ人の観点にかたよってしまいがちだ。かたよった観点で設計をしてしまうと、相手に納得してもらえなかったり、後になって別の立場の人に指摘を受けたりするリスクが高くなる。

 観点を増やすのに困った時、私は身近な人の「もう一段先にいる人」に説明できるかどうかを考えてみるようにしている。例えば、自分が直接説明する相手だけでなく、その相手は誰にどのように説明して納得してもらうのかをイメージしてみる。あるいは、今はまだ関わりがなくても、このさき関わることになりそうな人は誰で、その人にはどのように説明すれば納得してもらえるのかをイメージしてみる。そうすることで、自分の経験の枠を超え、より観点を広げて設計を検証することができるようになる。

製造 : チームとしてのパフォーマンスを高く維持する

 製造工程では、設計工程以上に多くのメンバーが投入されることが多い。そこで重要となるのは、チームとしてのパフォーマンスをいかにして高く維持するか、という点である。チームのパフォーマンスが高くなければ、安定したペースで安定した品質の成果を出し続けることはできない。高いパフォーマンスを維持し続けるためには、メンバーのスキル・経験に応じて進め方を変えたり、メンバーに新たな役割を任せてみたりと、さまざまな手を打ち続ける必要がある。

 たとえ個々のメンバーのスキルが高かったとしても、チームとして十分に高いパフォーマンスが発揮できるとは限らない。一人で作業する場合と違い、メンバー間で生じる認識のずれが、チーム全体のパフォーマンスに大きく影響を与えるからだ。同じ作業内容に対してでも、「そこまでする必要はないだろう」と狭く解釈するメンバーもいれば、「ここまでしなければいけないのでは」と広く解釈するメンバーもいる。このような認識のずれによって、作業もれや無駄な作業が発生し、チームのパフォーマンスは下がっていってしまう。このような認識のずれは、メンバー間でのスキルや経験に差がある場合に特に発生しやすい。

 チームがパフォーマンスを発揮できる環境を作るには、メンバーひとりひとりのスキル・経験に応じた進め方を考える必要がある。例えば、そのメンバーにとって未経験の作業を担当させる場合は、作業ステップを細かく分けて、短い間隔でサポートをしたほうが適切かもしれない。逆に、そのメンバーが慣れている作業を担当させる場合は、細かい進め方はメンバー自身に任せて、大きな粒度のゴールと長めの期間を設定するほうが適切かもしれない。

 さらに、中長期的にチームがパフォーマンスを発揮し続けられるようにするには、各メンバーが担当できる役割を増やしていくことも必要である。ひとりひとりが担当できる役割が増えることで、プロジェクトの状況に応じてチーム構成を変化させても、各人が自発的に動き続けることができるからだ。

 プロジェクトの中で発生するさまざまな機会をメンバーと共有することで、メンバーが担当できる役割は増やしていくことができる。自分がすぐに完了させられる作業であっても、その作業をやったことがないメンバーに任せてみる。最初は細かいサポートが必要で作業効率が落ちるかもしれないが、1度機会を与えられると、2度目以降の同じような機会がその人に集まりやすくなる。その結果、細かいサポートを続けなくても、自分自身で成長していける環境ができていく。やがて、新しい役割で自発的にそのメンバーが動いてくれるようになり、思いもよらない良い提案をしてくれるようになったりもする。

 チームのパフォーマンスを決定する最大の要因は個々人のスキルだと考えがちだが、環境づくり次第で、いくらでも改善していくことができる。また、チームや環境に応じて最適な手の打ち方はさまざまで、決まった方法は存在しない。そこにチーム開発の醍醐味があると私は感じている。

* * * * *

 システム開発を仕事にする以上、コンピューターに関する十分な知識とスキルを持つことは当然必要である。しかし、システムは人が作り、人が使うものである。そうである限り、コンピューターだけでなく人についても考え続ける必要があることを、私たちは忘れてはならない。

(2011年06月15日)

本ページ上に記載または参照される製品、サービスの名称等は、それぞれ所有者の商標または登録商標です。
当コラムは掲載した時点の情報であり、閲覧される時点では変更されている可能性があります。また、当社は明示的または暗示的を問わず、本コンテンツにいかなる保証も与えるものではありません。

ページトップへ戻る

JSOLへのお問い合わせ

最新のインタビュー

クラウド時代のシステム運用の管理・監視ビジネスを構築する

"JSOLとしてのシステム運用の管理・監視で新たなビジネスの構築に取り組んでいるITアーキテクトをご紹介します。

特集

特集SAP

SAP ERPの豊富な導入実績があり、企業の業務改革を総合的にご支援します。

特集Biz∫

人とシステムの融合による業務効率化を目指し、あらゆる企業の変革を迅速かつ確実に実現します。

特集オムニチャネル

コンサルティングからソリューションまでオムニチャネル化に向けた最適なご支援を提供します。

特集JSOLアグリ

農業生産に係る数理計画を中核に、農業生産者の経営指標の見える化と収益拡大を実現します。