SlideShare a Scribd company logo
1 of 4
Download to read offline
ソフトウェア開発と時間
阪井 誠 / 株式会社SRA
Makoto Sakai / Software Research Associates, Inc.

概要とねらい
ソフトウェア開発は時間との戦いであり,時間による変動要素を考慮した開発法が求められている.本記事
では,3つの変動要素に述べ,その解決法として,近年再び注目され本格的な導入が進みつつあるアジャイ
ル開発と,従来開発やアジャイル開発を効率化するチケット駆動開発に触れ,ソフトウェア開発の現場でど
のように「時間」が重視されているかをのべる.

ソフトウェア開発は時間との闘いである.最大の敵はリリースの時である納期である.古
くから,ソフトウェア開発においてQCD(品質,コスト,納期)は,重要であると言われて
いた.近年は,ソフトウェアがビジネスと強く結びつくようになり,より納期が重視され
るようになっているほか,リリース時に最新の状況に合わせたソフトウェアであることが
求められている.本稿では,このような中で再び注目され本格的な導入が進みつつあるア
ジャイル開発と,BTS(障害管理ツール)によるタスクマネジメント技術であるチケット駆
動開発に触れながら,ソフトウェア開発の現場でどのように「時間」が重視されているか
を述べる.
ソフトウェア開発には時間によって変動する以下の要素がある.
・ソフトウェアによって得られる価値
・ソフトウェアに必要とされる機能
・実行環境
従来,ソフトウェアは既存の業務を置き換えるものが多く,納期はそれほど厳しいもので
はなかった.リリースが遅れることよりも,必要な機能が不足していることや,ソフト
ウェアの欠陥(いわゆるバグ)によって正常に動作しないことが問題視されていたからであ
る.また,リリース後に従来の処理と並行で運用される期間がとられることが多く,若干
の遅れは許容されることもあった.
近年のビジネスはソフトウェアによって実現されており,ソフトウェア開発の遅れが,ビ
ジネスチャンスを失わせることになる.同業他社にマーケットを奪われてからソフトウェ
アが動作しても価値がなくなってしまうのである.そこで,ソフトウェアによって得られ
る価値を守る目的で,機能の取捨選択,いわゆるスコープの変更が行われる[1].
このような開発対象となる機能の取捨選択,すなわちスコープの変更は開発開始時に一度
だけ行われていた.しかし,近年は以下のような理由から,スコープの変更が必要になる
場合が多くなっている.
・競合他社や社会の変化など,ビジネス環境の変化
・UX(ユーザエクスペリエンス)の向上
ソフトウェア開発の早い時点ですべてを決めてしまうと,ユーザの要望を満たすことがで
きず,ソフトウェアの価値を下げてしまうのである.そこで,できるだけ短期間で[2],
複数回リリースしてその都度スコープを変更する必要がある.
一方,ソフトウェアの実行環境も時間と共に変化する.使い込まれたソフトウェアは信頼
性が高いというメリットがある.しかし,新しいソフトウェアほど一般に多機能であり,
同じソフトウェアでも新しいバージョンであるほどセキュリティホールがふさがれてい
る,サポート期間が長い,というメリットがある.このように,ソフトウェアはなるべく
新しいものが好ましいが,実績の少ないソフトウェアの場合は,信頼性を確保する必要が
ある.そこでソフトウェアの実行環境などは,できるだけ決定を遅らせた方が良いが,信
頼性を確保する期間が残せるような時(最終決定時点とよばれる[2])を守る必要がある.
このようにソフトウェア開発と時間を考えると,ソフトウェア開発の計画は容易ではない
ことがわかっていただけるだろう.ソフトウェアを開発するには,上述の時間による変動
要素だけでなく,
・開発の順序性
・開発者の習熟
をさらに考慮する必要がある.ソフトウェアをどのように実装して結合していくか,テス
トの戦略を含めて計画を立てる必要がある.また,近年の技術は変化が激しいので,経験
者であっても,ある程度の技術習得期間が必要になることが多く,どのように技術者を習
熟させるかということも考慮する必要がある.
ここまで述べたように時間と関係するこれらの条件をを踏まえた上でソフトウェアを開発
しなければならない.しかし,近年のソフトウェア開発では,時間による変動要素の影響
によって,従来の段階的に詳細化して最後に一度だけ リリースするという,いわゆる
ウォーターフォール型の開発は困難になってきている(もちろん,その度合いは開発する
ソフトウェア によって大きく異なる).
そこで,スコープを変更しながら段階的に開発するという「アジャイル開発」が注目され
ている.アジャイル開発は,あらかじめすべてを決めておくのではなく,段階的にリリー
スし,どこまで実現するかを順次決定することで,変化に対応するからである.
ソフトウェア開発とビジネスの関係で考えると,アジャイル開発では部分的ではあるもの
の,常にソフトウェアが実現されているので,ビジネスチャンスを失うことなく,スコー
プの調整によって最適な時期にソフトウェアをリリースすることができる.従来は最終リ
リースまではビジネス上の価値を得ることはできなかったが,アジャイル開発では価値の
得られない期間を短くし,メリットが得られる期間を延ばすことができるのである.
技術的に見ても,一度にすべてを作って失敗するのではなく,早めに小さく失敗すること
で,失敗を取り戻し易くすることができる.小さくはじめ始めて,後になるほど完成度を
高めていくことができるのである.
アジャイル開発は少人数での開発が基本であり,コミュニケーションが向上し,効率的な
開発が可能である.近年は,その効果が認識されるようになり,より大規模な開発にも適
用されるようになっている[3].
さらに近年は,従来開発やアジャイル開発法を効率化するものとして、障害管理ツールを
タスク管理に用いる「チケット駆動開発」が注目されている.
チケット駆動開発は,従来法の開発の中で生まれた.近年の小規模かつ多機能なソフト
ウェア開発では,細かな作業が多くあり,その効率化の目的で障害管理ツールのチケット
(障害票)をタスクマネジメントに用いたのである[4].
チケット駆動開発には,以下のような特徴がある.
・構成管理ツールと連携してトレーサビリティを確保する
・リアルタイムに見える化してコミュニケーションを向上する
・作業のワークフローを管理する
さらに,チケット駆動開発では,チケットの一覧から優先順位の高いものを選ぶことで,
スコープを変更することが可能である.そこで,従来法による開発の柔軟性を高める目的
に用いられるほか,アジャイル開発においても,タスク管理をディジタル化して効率化す
る目的にも用いられている.
このようにチケット駆動開発は,従来開発やアジャイル開発法をさらに効率化し,リアル
タイム性を高める技法として,注目されているのである[5].
本稿で述べたように,時間を重視したソフトウェア開発には様々な開発法が必要である.
ビジネスの多様化に伴い,すでにソフトウェアは欠かせないものであり,その重要性は高
まっている.ソフトウェアに対する多様な要望に応えるべく,1990年代後半から開発技
術や開発環境は急速に発展し,少人数でも多機能なソフトウェア開発が可能になってきた
[6].その反面,様々な変化への対応が必要になり,時間を重視したソフトウェア開発が
求められている.
多様なソフトウェアが求められている様に,その開発方法にも従来の開発法だけでなく,
アジャイル開発やチケット駆動開発といった,様々な開発法が必要とされているのであ
る.
1) Alan M. Davis: Just enough requirements management, Dorset House(2005).
2) Mary. Poppendieck, Tom. Poppendieck: Lean software development, AddisonWesley(2003).
3) Dean Leffingwell: Scalling software agility: Best practices for large enter
prises, Pearson education(2007).
4) まちゅ: チケット駆動開発 … ITpro Challenge のライトニングトーク (4), まちゅダイ
アリー, http://www.machu.jp/diary/20070907.html#p01(2007).
5) 小川, 阪井: Redmineによるタスクマネジメント実践技法, 翔泳社(2010).
6) Makoto Sakai, Ken-ichi Matsumoto, Koji Torii: A new framework for improving
software development process on small computer systems, International
Journal
of Software Engineering and Knowledge Engineering, vol.7, no.2, pp.
171-184(1997).

More Related Content

More from Makoto SAKAI

新技術で未来の扉を開け! - Node-REDの環境構築と社内導入 -
新技術で未来の扉を開け! - Node-REDの環境構築と社内導入 - 新技術で未来の扉を開け! - Node-REDの環境構築と社内導入 -
新技術で未来の扉を開け! - Node-REDの環境構築と社内導入 -
Makoto SAKAI
 
Visual開発ツールNode-REDの導入によるプロセスの変化と考慮点
Visual開発ツールNode-REDの導入によるプロセスの変化と考慮点Visual開発ツールNode-REDの導入によるプロセスの変化と考慮点
Visual開発ツールNode-REDの導入によるプロセスの変化と考慮点
Makoto SAKAI
 
「なんで?」と「自分だったら」が属人化を防ぐ - 必要な時に必要なものを必要なだけ -
「なんで?」と「自分だったら」が属人化を防ぐ - 必要な時に必要なものを必要なだけ -「なんで?」と「自分だったら」が属人化を防ぐ - 必要な時に必要なものを必要なだけ -
「なんで?」と「自分だったら」が属人化を防ぐ - 必要な時に必要なものを必要なだけ -
Makoto SAKAI
 

More from Makoto SAKAI (20)

SS2019 エッジデバイス開発の難しさ
SS2019 エッジデバイス開発の難しさSS2019 エッジデバイス開発の難しさ
SS2019 エッジデバイス開発の難しさ
 
[Node-RED] ファンクションノードのデバッグどうしてる?
[Node-RED] ファンクションノードのデバッグどうしてる?[Node-RED] ファンクションノードのデバッグどうしてる?
[Node-RED] ファンクションノードのデバッグどうしてる?
 
スクリプト言語入門 - シェル芸のすすめ - 第2回クラウド勉強会
スクリプト言語入門 - シェル芸のすすめ - 第2回クラウド勉強会スクリプト言語入門 - シェル芸のすすめ - 第2回クラウド勉強会
スクリプト言語入門 - シェル芸のすすめ - 第2回クラウド勉強会
 
新技術で未来の扉を開け! - Node-REDの環境構築と社内導入 -
新技術で未来の扉を開け! - Node-REDの環境構築と社内導入 - 新技術で未来の扉を開け! - Node-REDの環境構築と社内導入 -
新技術で未来の扉を開け! - Node-REDの環境構築と社内導入 -
 
Node-RED導入時の効果的な開発を考える
Node-RED導入時の効果的な開発を考えるNode-RED導入時の効果的な開発を考える
Node-RED導入時の効果的な開発を考える
 
プロのためのNode-RED再入門
プロのためのNode-RED再入門プロのためのNode-RED再入門
プロのためのNode-RED再入門
 
Node-redでプロトタイピング
Node-redでプロトタイピングNode-redでプロトタイピング
Node-redでプロトタイピング
 
プロジェクトを成功させるチケット管理
プロジェクトを成功させるチケット管理プロジェクトを成功させるチケット管理
プロジェクトを成功させるチケット管理
 
Visual開発ツールNode-REDの導入によるプロセスの変化と考慮点
Visual開発ツールNode-REDの導入によるプロセスの変化と考慮点Visual開発ツールNode-REDの導入によるプロセスの変化と考慮点
Visual開発ツールNode-REDの導入によるプロセスの変化と考慮点
 
Node-REDから見えた未来 - 変わるもの、変わらないもの -
Node-REDから見えた未来 - 変わるもの、変わらないもの -Node-REDから見えた未来 - 変わるもの、変わらないもの -
Node-REDから見えた未来 - 変わるもの、変わらないもの -
 
複合主キーの扱い方
複合主キーの扱い方複合主キーの扱い方
複合主キーの扱い方
 
UAS5 アジャイル開発に学んだアダプタブルウォーターフォール開発
UAS5 アジャイル開発に学んだアダプタブルウォーターフォール開発UAS5 アジャイル開発に学んだアダプタブルウォーターフォール開発
UAS5 アジャイル開発に学んだアダプタブルウォーターフォール開発
 
チケットの利用による経験を活かした開発の可能性
チケットの利用による経験を活かした開発の可能性 チケットの利用による経験を活かした開発の可能性
チケットの利用による経験を活かした開発の可能性
 
効果的な XP の導入を目的としたプラクティス間の相互作用の分析
効果的な XP の導入を目的としたプラクティス間の相互作用の分析効果的な XP の導入を目的としたプラクティス間の相互作用の分析
効果的な XP の導入を目的としたプラクティス間の相互作用の分析
 
「なんで?」と「自分だったら」が属人化を防ぐ - 必要な時に必要なものを必要なだけ -
「なんで?」と「自分だったら」が属人化を防ぐ - 必要な時に必要なものを必要なだけ -「なんで?」と「自分だったら」が属人化を防ぐ - 必要な時に必要なものを必要なだけ -
「なんで?」と「自分だったら」が属人化を防ぐ - 必要な時に必要なものを必要なだけ -
 
社会人のためのシンポジウム発表入門 リーン論文作法
社会人のためのシンポジウム発表入門   リーン論文作法社会人のためのシンポジウム発表入門   リーン論文作法
社会人のためのシンポジウム発表入門 リーン論文作法
 
パネル:Redmineの未来を考える
パネル:Redmineの未来を考えるパネル:Redmineの未来を考える
パネル:Redmineの未来を考える
 
古くて新しいサーバントリーダーシップ
古くて新しいサーバントリーダーシップ古くて新しいサーバントリーダーシップ
古くて新しいサーバントリーダーシップ
 
チケット駆動開発導入のヒント - 自律と規律 -
チケット駆動開発導入のヒント - 自律と規律 -チケット駆動開発導入のヒント - 自律と規律 -
チケット駆動開発導入のヒント - 自律と規律 -
 
計算量のはなし(Redisを使うなら必読!O(logN)など)
計算量のはなし(Redisを使うなら必読!O(logN)など)計算量のはなし(Redisを使うなら必読!O(logN)など)
計算量のはなし(Redisを使うなら必読!O(logN)など)
 

Recently uploaded

研究紹介スライド: オフライン強化学習に基づくロボティックスワームの制御器の設計
研究紹介スライド: オフライン強化学習に基づくロボティックスワームの制御器の設計研究紹介スライド: オフライン強化学習に基づくロボティックスワームの制御器の設計
研究紹介スライド: オフライン強化学習に基づくロボティックスワームの制御器の設計
atsushi061452
 

Recently uploaded (14)

ネットワーク可視化 振る舞い検知(NDR)ご紹介_キンドリル202405.pdf
ネットワーク可視化 振る舞い検知(NDR)ご紹介_キンドリル202405.pdfネットワーク可視化 振る舞い検知(NDR)ご紹介_キンドリル202405.pdf
ネットワーク可視化 振る舞い検知(NDR)ご紹介_キンドリル202405.pdf
 
ロボットマニピュレーションの作業・動作計画 / rosjp_planning_for_robotic_manipulation_20240521
ロボットマニピュレーションの作業・動作計画 / rosjp_planning_for_robotic_manipulation_20240521ロボットマニピュレーションの作業・動作計画 / rosjp_planning_for_robotic_manipulation_20240521
ロボットマニピュレーションの作業・動作計画 / rosjp_planning_for_robotic_manipulation_20240521
 
2024年5月17日 先駆的科学計算フォーラム2024 機械学習を用いた新たなゲーム体験の創出の応用
2024年5月17日 先駆的科学計算フォーラム2024 機械学習を用いた新たなゲーム体験の創出の応用2024年5月17日 先駆的科学計算フォーラム2024 機械学習を用いた新たなゲーム体験の創出の応用
2024年5月17日 先駆的科学計算フォーラム2024 機械学習を用いた新たなゲーム体験の創出の応用
 
Keywordmap overview material/CINC.co.ltd
Keywordmap overview material/CINC.co.ltdKeywordmap overview material/CINC.co.ltd
Keywordmap overview material/CINC.co.ltd
 
Intranet Development v1.0 (TSG LIVE! 12 LT )
Intranet Development v1.0 (TSG LIVE! 12 LT )Intranet Development v1.0 (TSG LIVE! 12 LT )
Intranet Development v1.0 (TSG LIVE! 12 LT )
 
Hyperledger Fabricコミュニティ活動体験& Hyperledger Fabric最新状況ご紹介
Hyperledger Fabricコミュニティ活動体験& Hyperledger Fabric最新状況ご紹介Hyperledger Fabricコミュニティ活動体験& Hyperledger Fabric最新状況ご紹介
Hyperledger Fabricコミュニティ活動体験& Hyperledger Fabric最新状況ご紹介
 
LoRaWAN無位置ロープ式水漏れセンサーWL03A 日本語マニュアル
LoRaWAN無位置ロープ式水漏れセンサーWL03A 日本語マニュアルLoRaWAN無位置ロープ式水漏れセンサーWL03A 日本語マニュアル
LoRaWAN無位置ロープ式水漏れセンサーWL03A 日本語マニュアル
 
研究紹介スライド: オフライン強化学習に基づくロボティックスワームの制御器の設計
研究紹介スライド: オフライン強化学習に基づくロボティックスワームの制御器の設計研究紹介スライド: オフライン強化学習に基づくロボティックスワームの制御器の設計
研究紹介スライド: オフライン強化学習に基づくロボティックスワームの制御器の設計
 
部内勉強会(IT用語ざっくり学習) 実施日:2024年5月17日(金) 対象者:営業部社員
部内勉強会(IT用語ざっくり学習) 実施日:2024年5月17日(金) 対象者:営業部社員部内勉強会(IT用語ざっくり学習) 実施日:2024年5月17日(金) 対象者:営業部社員
部内勉強会(IT用語ざっくり学習) 実施日:2024年5月17日(金) 対象者:営業部社員
 
クラウド時代におけるSREとUPWARDの取組ーUPWARD株式会社 CTO門畑
クラウド時代におけるSREとUPWARDの取組ーUPWARD株式会社 CTO門畑クラウド時代におけるSREとUPWARDの取組ーUPWARD株式会社 CTO門畑
クラウド時代におけるSREとUPWARDの取組ーUPWARD株式会社 CTO門畑
 
MPAなWebフレームワーク、Astroの紹介 (その1) 2024/05/17の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その1) 2024/05/17の勉強会で発表されたものです。MPAなWebフレームワーク、Astroの紹介 (その1) 2024/05/17の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その1) 2024/05/17の勉強会で発表されたものです。
 
LoRaWAN無位置ロープ型水漏れセンサー WL03A-LB/LSカタログ ファイル
LoRaWAN無位置ロープ型水漏れセンサー WL03A-LB/LSカタログ ファイルLoRaWAN無位置ロープ型水漏れセンサー WL03A-LB/LSカタログ ファイル
LoRaWAN無位置ロープ型水漏れセンサー WL03A-LB/LSカタログ ファイル
 
5/22 第23回 Customer系エンジニア座談会のスライド 公開用 西口瑛一
5/22 第23回 Customer系エンジニア座談会のスライド 公開用 西口瑛一5/22 第23回 Customer系エンジニア座談会のスライド 公開用 西口瑛一
5/22 第23回 Customer系エンジニア座談会のスライド 公開用 西口瑛一
 
情報を表現するときのポイント
情報を表現するときのポイント情報を表現するときのポイント
情報を表現するときのポイント
 

ソフトウェア開発と時間(情報処理 Vol.52 No.6 時の記念日コラム)