メルマガ
バックナンバー

第114号:安全運転の心得をソフトウェア開発に活かす

2013年09月25日

  • 安全運転の心得をソフトウェア開発に活かす

    先日、運転免許の更新がありまして、5年ぶりに自動車教習所で講習を受けてきました。

    免許更新というと、免許証の写真撮影に失敗して残念な気持ちになったり、交通事故の凄惨な映像を講習会で見せられたりと、個人的には嫌な思い出しかないイベントだったのですが、今回は1つ収穫がありました。

    その講習の中で視聴したビデオで「交通事故を起こさないための安全運転の4つの心得」というのが説明されたのですが、聞きながらこれは「『ソフトウェア開発で問題を起こさないための4つの心得』に置き換えて考えることが出来るのではないか」と思いましたので、ご紹介したいと思います。

    その安全運転のポイントとは、以下の4点です。
     1.交通ルールを守る
     2.危険を予測する
     3.平常心を保つ
     4.体調を維持する

    各ポイントについて安全運転での注意点と、ソフトウェア開発業務に照らした場合のポイントを私なりの解釈で説明してきます。

    1.交通ルールを守る

    車を運転する時は、信号や道路標識等、守るべき様々な交通ルールがあります。
     
    各ドライバーがこれらを守らずに信号を無視したり、スピードを出しすぎたり、駐車禁止のところに勝手に駐車をしたりすると、道路が混乱したり、大事故につながる可能性が高まります。
     
    ソフトウェア開発業務においては、組織で定められた標準プロセスや、プロジェクトの初期段階で定めたプロジェクト計画に従ってプロジェクトを進めることに該当しそうです。
     
    「こうすればプロジェクトがうまくいく」という前提の元に作られているのが標準プロセスであり、プロジェクト計画であるわけなので、プロジェクトの参加者が皆ルールを守って計画通りプロジェクトを進めることで、プロジェクトの成功率を高めることにつながります。

    2.危険を予測する

    交通ルールを守っていても、ドライバーが注意を怠っていると事故につながりやすくなります。
     
    例えば、道路を直進中、他の車や建物で死角となっている場所から、突然歩行者が飛び出してくることがあります。見えないところにも「人がいるかもしれない」と想定し、ミラーや人影など、様々な情報を元に存在を察知し、「人はいないだろう」と決めつけずに注意力を働かせながら運転することが重要というわけです。
     
    ソフトウェア開発プロジェクトにおいては、計画通り進めるために、スケジュール、コスト、品質、リスク等の様々な切り口でプロジェクトをモニタリングし、問題に発展しないように制御していくことがポイントになりそうです。

    3.平常心を保つ 4.体調を維持する

    1は適切なプロセスで実施しましょう、2は問題が起きないように【技】を駆使して監視と制御をきっちりやりましょう、という話ですが、3と4は、【心】と【体】を正常な状態に保ちましょう、というお話です。

    交通ルールを守って危険を予測しつつ運転していても、約束の時間に間に合わせるために焦りながら運転していると、スピードを出しがちになったり、無理な追い越しをしたりして、事故につながる可能性が増します。また、睡眠不足や体調不良で集中力がない時も危険が増します。

    安全運転を行うためには、気持ちが焦りやすい状況でも常に冷静になり、集中力を切らさずに、的確な判断を妨げない健康な体調で運転することが重要です。また、体調が良くない時には運転を避けることも、時には必要でしょう。

    ソフトウェア開発業務の関係者には、常にQCD目標を達成するプレッシャーと闘いながら、連日の残業で体力を削っている人たちも多いことでしょう。
     
    進捗が遅れたり残業が続いたりすると、やるべきプロセスを飛ばしたり、集中を切らしてミスをしたり、時には無理がたたって体調を崩したりすることもあります。
    そうすると、ますますプロジェクトの進捗が遅れる等の悪循環にハマります。
     
    そうならないためにも、仕事に携わる者として当たり前のことではありますが、しっかり仕事に集中する、休む時は休む、デスクワークばかりで体力が落ちないように普段から運動しておく、といったことに皆気をつけておくべきでしょう。

  • 以上、ソフトウェア開発において問題を起こさないためのポイントを、安全運転の心得を参考にご紹介させて頂きました。

    特にプロセス改善を行っていくSEPG的な視点で見ると、1.交通ルールを守ることと、2.危険を予測することは、失敗を起こさない標準的な仕組みを作り、プロジェクトが計画通り進むようコントロールすることを指導していく、という点で重要なポイントだと思います。

    皆さんの組織のソフトウェアプロジェクトの安全運転に役立てば幸いです。