<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>開発手法 &#8211; システム開発・AI導入なら株式会社taiziii（タイジー</title>
	<atom:link href="https://taiziii.com/column_cat/development-methodology/feed/" rel="self" type="application/rss+xml" />
	<link>https://taiziii.com</link>
	<description>事業理解に強いITコンサルタントとフルスタックエンジニアが、Webサービス・アプリ・業務システムを戦略設計から実装・保守運用まで一気通貫で支援。AI活用や内製化支援で成果に直結する開発を実現します。</description>
	<lastBuildDate>Wed, 19 Feb 2025 16:21:07 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://taiziii.com/wp-content/uploads/2023/10/favicon.ico</url>
	<title>開発手法 &#8211; システム開発・AI導入なら株式会社taiziii（タイジー</title>
	<link>https://taiziii.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>知らなきゃ損！？アジャイル開発の質を高めるための秘訣</title>
		<link>https://taiziii.com/column/396/</link>
		
		<dc:creator><![CDATA[THiNGMAjiG_admin_user_kato]]></dc:creator>
		<pubDate>Wed, 09 Aug 2023 13:08:52 +0000</pubDate>
				<guid isPermaLink="false">https://taiziii.com/?post_type=column&#038;p=396</guid>

					<description><![CDATA[今回は、アジャイル開発に関する内容だね！ アジャイル開発の質を高める秘訣を教えてください！ 本記事で学べること ・アジャイル開発における作業方針 はじめに 最近では、アジャイル開発手法を採用する開発現場が増えてきました。 [&#8230;]]]></description>
										<content:encoded><![CDATA[<div class="balloonWrap">
<div class="balloon2-left">
<p>今回は、アジャイル開発に関する内容だね！</p>
</div>
<div class="balloon2-right">
<p>アジャイル開発の質を高める秘訣を教えてください！</p>
</div>
</div>
<h2>本記事で学べること</h2>
<p>・アジャイル開発における作業方針</p>
<h2>はじめに</h2>
<p>最近では、アジャイル開発手法を採用する開発現場が増えてきました。現代のサービス開発において求められていることが、アジャイル開発だと実現しやすいのだと思います。そこで今回は、アジャイル開発の質をさらに上げるためのいくつかの秘訣を紹介したいと思います。本記事を読み、その内容を実践することで、あなたの、そしてあなたのチームの開発力が上がること間違いなし！</p>
<p><span style="font-size: 8pt;">(こちらもチェック↓)</span></p>
<p><span style="color: #3366ff;"><a style="color: #3366ff;" href="https://taiziii.com/column/303/" target="_blank" rel="noopener">適切な開発手法は？ ウォーターフォール開発 vs アジャイル開発</a></span></p>
<h2>アジャイル開発の基本</h2>
<h3>アジャイル開発とは</h3>
<p>アジャイル開発とは、アジャイルソフトウェア開発宣言<span id='easy-footnote-1-396' class='easy-footnote-margin-adjust'></span><span class='easy-footnote'><a href='https://taiziii.com/column/396/#easy-footnote-bottom-1-396' title='アジャイルソフトウェア開発の原則を示す文書で、「プロセスやツールよりも、個人の対話を重視」、「包括的なドキュメントよりも、動くソフトウェアを重視」、「契約交渉よりも、顧客との協調を重視」、「計画に従うよりも、変化への対応を重視」の四つの基本方針を掲げている。'><sup>1</sup></a></span>に基づいた開発手法で、イテレーション（反復）と呼ばれる、短期間での開発を繰り返します。スパイラルモデル<span id='easy-footnote-2-396' class='easy-footnote-margin-adjust'></span><span class='easy-footnote'><a href='https://taiziii.com/column/396/#easy-footnote-bottom-2-396' title='対象システム全体ではなく、サブシステムなどの独立性の高いいくつかの部分に分けて小さい単位で開発プロセスを繰り返す。開発プロセスごとにシステムの範囲や機能が増えるので、段階的モデル（インクリメント型）に分類される。'><sup>2</sup></a></span>やプロトタイプモデル<span id='easy-footnote-3-396' class='easy-footnote-margin-adjust'></span><span class='easy-footnote'><a href='https://taiziii.com/column/396/#easy-footnote-bottom-3-396' title='まず、システムの要件を満たすプロトタイプを作成し、それを顧客に評価してもらい、フィードバックを得ながら修正し、最終的にシステムを完成させる開発モデル。'><sup>3</sup></a></span>を踏襲し、機敏にソフトウェアを開発することを目指しています。<br />
&nbsp;</p>
<h3>アジャイル開発の流れ</h3>
<p>それでは、アジャイル開発が具体的にどのように進んでいくかを説明していきましょう。ここでは、アジャイル開発の代表的なフレームワークであるスクラムを例に、説明していくことにします。</p>
<div style="padding: 10px; margin-bottom: 10px; border: 1px dotted #333333;">
<h4><span style="font-size: 10pt;">スクラムとは</span></h4>
<p><span style="font-size: 10pt;">チームのコミュニケーションを重視して、アジャイル開発を実践する手法です。ラグビーのスクラムに由来しています。プロダクトオーナ、スクラムマスタ、開発チームから成るスクラムチームで稼働します。</span></p>
<p><span style="font-size: 10pt;">・スクラムマスタ: チームを支援する奉仕型のリーダ</span></p>
<p><span style="font-size: 10pt;">・プロダクトオーナ: ROI（開発投資効果）に責任をもち、プロダクトバックログ（製品に必要な機能一覧）を管理する。</span></p>
<p><span style="font-size: 10pt;">スクラムは、スプリントと呼ばれる単位で開発を繰り返します。</span>
</div>
<p>&nbsp;</p>
<h4>1. プロダクトバックログの作成</h4>
<p>開発プロジェクトの最初に、プロダクトバックログを作成します。プロダクトバックログは、プロジェクトに関連する要件、機能、タスク、改善点などのアイテムのリストです。<br />
&nbsp;</p>
<h4>2. スプリントプランニング</h4>
<p>計画のフェーズでは、スプリントの期間を決めます。一般的に、2週間から4週間が目安とされています。また、このフェーズでは、スプリントゴールを設定し、それに従ってスプリントバックログ<span id='easy-footnote-4-396' class='easy-footnote-margin-adjust'></span><span class='easy-footnote'><a href='https://taiziii.com/column/396/#easy-footnote-bottom-4-396' title='開発のための計画を、スプリントごとに実現可能なタスクレベルに詳細化した文書'><sup>4</sup></a></span>を作成します。<br />
&nbsp;</p>
<h4>3. 実行</h4>
<p>次に、選択したタスクに取り組みます。開発チームは、毎日デイリースクラムを行い、進捗の確認や障害や課題を共有しながら、機能の開発を目指します。また、必要に応じて、開発チームとプロダクトオーナーとの間で要件の調整や問題の解決を行います。<br />
&nbsp;</p>
<h4>4. レビュー</h4>
<p>スプリントの終了時に、開発チームはプロダクトオーナーおよびステークホルダーと一緒に、スプリントで達成された成果物をレビューします。プロダクトのデモンストレーションが行われ、フィードバックを受け取ります。フィードバックを受けて、プロダクトバックログを更新し、次のスプリントの計画を調整することがあります。<br />
&nbsp;</p>
<h4>5. レトロスペクティブ</h4>
<p>チームで一連の作業を振り返り、次のスプリントのために改善点を検討する作業です。ブレーンストーミングなどを行い、うまくいった行動とうまくいっていないと考える問題点を洗い出します。</p>
<p>&nbsp;</p>
<p style="font-weight: bold;">アジャイル開発では、2~5を繰り返すことで開発を進めていきます。</p>
<h2>アジャイル開発よく使われる用語</h2>
<h3>バーンダウンチャート</h3>
<p>時間の経過とともに残作業量が減っていく様子を表すチャートです。イテレーションごとに作成します。</p>
<p><img fetchpriority="high" decoding="async" class="alignnone size-medium wp-image-397 lazyload" data-src="https://taiziii.com/wp-content/uploads/2023/08/スクリーンショット-2023-08-09-19.52.42-300x216.png" alt="" width="300" height="216" data-srcset="https://taiziii.com/wp-content/uploads/2023/08/スクリーンショット-2023-08-09-19.52.42-300x216.png 300w, https://taiziii.com/wp-content/uploads/2023/08/スクリーンショット-2023-08-09-19.52.42-1024x738.png 1024w, https://taiziii.com/wp-content/uploads/2023/08/スクリーンショット-2023-08-09-19.52.42-768x553.png 768w, https://taiziii.com/wp-content/uploads/2023/08/スクリーンショット-2023-08-09-19.52.42.png 1102w" sizes="(max-width: 300px) 100vw, 300px" ></p>
<p>残作業を顧客視点で簡潔に表現したものがユーザストーリです。具体的なユーザをペルソナとして定義し、ストーリとなる要件や優先順位を決定します。メンバーはこれに向けて、完全燃焼 (burn down) します。また、残作業量は、メンバ全員が意見を出し合うプランニングポーカという手法で見積もります。<br />
&nbsp;</p>
<h3>継続的デリバリ (CD; Continuous Delivery)</h3>
<p>継続して機能を提供し続けるための取り組みのことです。開発中のみならず、リリース後も顧客のニーズに合わせて仕様変更や機能追加に迅速に対応することを目指します。<br />
&nbsp;</p>
<h3>リーンソフトウェア</h3>
<p>リーンソフトウェアは、以下の七つの原則を用いてアジャイル開発を実践する手法です。<br />
&nbsp;</p>
<div style="padding: 10px; margin-bottom: 10px; border: 1px solid #333333;">
<p style="font-weight: bold;">・ムダをなくす</p>
<p style="font-weight: bold;">・品質を作り込む</p>
<p style="font-weight: bold;">・知識を作り出す</p>
<p style="font-weight: bold;">・決定を遅らせる</p>
<p style="font-weight: bold;">・早く提供する</p>
<p style="font-weight: bold;">・人を尊重する</p>
<p style="font-weight: bold;">・全体を最適化する</p>
</div>
<p>&nbsp;<br />
これらの原則は、トヨタ自動車のリーン生産方式の考え方が元になっています。ムダな作業を無くしても品質に関する作業は減らさない、そのために効率よく作業するための新しい方法を作り出します。また、結論がすぐに出ないことは先送りして作業を進め、遅れることなく製品を提供します。これを実践するためには、メンバーの行動が不可欠であるため人を尊重し、全体を最適化します。<br />
&nbsp;</p>
<h3>XP</h3>
<p>eXtreme Programming の略で、コミュニケーション、シンプル、フィードバック、勇気、尊重という五つの価値に基づきアジャイル開発を実践する手法です。六つの作業方針があります。<br />
&nbsp;</p>
<div style="padding: 10px; margin-bottom: 10px; border: 1px solid #333333;">
<p style="font-weight: bold;">・テスト駆動型開発</p>
<p>はじめにテストを設計し、そのテストをクリアできるようにプログラムを作成します。<br />
&nbsp;</p>
<p style="font-weight: bold;">・ペアプログラミング</p>
<p>2人1組でプログラミングを行い、1人がプログラムを作成し、もう1人がその内容を見ながらレビューを行い、高品質なプログラムを作成します。<br />
&nbsp;</p>
<p style="font-weight: bold;">・リファクタリング</p>
<p>プログラムの実行結果を変えないように、ソースコードを改定します。<br />
&nbsp;</p>
<p style="font-weight: bold;">・ソースコードの共同所有</p>
<p>ソースコードに対して開発チーム全員が責任を負い、ソースコードの修正などは、全員で行います。<br />
&nbsp;</p>
<p style="font-weight: bold;">・継続的インテグレーション (CI; Continuous Integration)</p>
<p>単体テストが終わったらすぐに結合テストを行い、動作が正常かどうかを確認します。<br />
&nbsp;</p>
<p style="font-weight: bold;">・YAGNI (You Aren’t Going to Need It)</p>
<p>「現時点で必要なことだけを行う」という意味で、必要最低限のシンプルな設計を目指します。
</p></div>
<p>&nbsp;</p>
<h3>エンタープライズアジャイル</h3>
<p>アジャイル開発は元々、数名のチームで行う小規模開発向けの手法とされてきましたが、これを大規模に適用したものです。</p>
<h2>まとめ</h2>
<p>本記事では、アジャイル開発の質を高めるための秘訣を紹介しました。ぜひ、本記事の内容を実践し、開発力を高めていきましょう！</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>適切な開発手法は？ ウォーターフォール開発 vs アジャイル開発</title>
		<link>https://taiziii.com/column/303/</link>
		
		<dc:creator><![CDATA[THiNGMAjiG_admin_user_kato]]></dc:creator>
		<pubDate>Thu, 23 Mar 2023 06:45:59 +0000</pubDate>
				<guid isPermaLink="false">https://taiziii.com/?post_type=column&#038;p=303</guid>

					<description><![CDATA[今回は、開発手法に関する内容だね！ この記事を読めば、適切な開発手法がわかりますね！ はじめに 本記事では、ソフトウェアやハードウェアの開発で利用するウォーターフォール開発とアジャイル開発について紹介します。 想定する読 [&#8230;]]]></description>
										<content:encoded><![CDATA[<div class="balloonWrap">
<div class="balloon2-left">
<p>今回は、開発手法に関する内容だね！</p>
</div>
<div class="balloon2-right">
<p>この記事を読めば、適切な開発手法がわかりますね！</p>
</div>
</div>
<div class="intro"></div>
<h2>はじめに</h2>
<p>本記事では、ソフトウェアやハードウェアの開発で利用するウォーターフォール開発とアジャイル開発について紹介します。</p>
<h2>想定する読者</h2>
<p>本記事は、システム開発において開発手法を検討しているプロジェクトリーダーやエンジニアを対象としています。</p>
<h2>ウォーターフォール開発とは</h2>
<p>ウォーターフォール開発とは、初めにプロジェクトの計画やシステムの要件定義・設計を決め、プロジェクトに変更がないという想定の下で、開発を進めていく開発手法です。ウォーターフォール開発では以下の 6 つのフェーズに分けて開発を進めます。</p>
<p style="font-weight: bold;">1. 要件定義</p>
<p style="font-weight: bold;">2. 設計</p>
<p style="font-weight: bold;">3. 実装</p>
<p style="font-weight: bold;">4. テスト</p>
<p style="font-weight: bold;">5. 運用</p>
<p style="font-weight: bold;">6. 保守</p>
<p>ウォーターフォール開発は、各フェーズが連続して行われることから、滝のように下っていく様子から名付けられました。各フェーズは、前のフェーズが完了するまで開始できません。</p>
<h2>アジャイル開発とは</h2>
<p>アジャイル開発とは、ソフトウェア開発プロセスの一種です。このプロセスでは、開発を以下の 4 つのフェーズに分けて進めます。</p>
<p style="font-weight: bold;">1.ユーザーストーリーの作成</p>
<p style="font-weight: bold;">2.スプリント計画の作成</p>
<p style="font-weight: bold;">3.スプリント実行</p>
<p style="font-weight: bold;">4.スプリントレビューとスプリントレトロスペクティブ</p>
<p>アジャイル開発は、各フェーズが短い期間で繰り返されることから、アジャイル(俊敏な)という名前がつけられています。各フェーズは、短い期間で完了するため、変更に柔軟に対応することができます。また、アジャイル開発では、ユーザーストーリーをベースに開発を進めます。ユーザーストーリーとは、ユーザーが求めている機能や要件を簡潔にまとめたものです。ユーザーストーリーをベースに開発することで、ユーザーのニーズをより正確に捉えることができます。</p>
<h2>ウォーターフォール開発のメリットとデメリット</h2>
<p>ウォーターフォール開発の強みは、システムの仕様を含めたプロジェクトの計画を初めに決めることにあります。これにより、開発メンバーは、進捗状況やスケジュールを簡単に把握できるようになります。また、プロジェクトリーダーがプロジェクトの予算や限界、納期を見通すのも容易になるでしょう。</p>
<p>しかし、初めに開発に関する重要な部分をすべて決めてしまうことで問題が起こる場合もあります。例えば、前提状況等が変更した場合には、計画を一から立て直さなくてはなりません。また、開発途中での顧客の要求を取り入れて仕様を変更することも難しくなってしまいます。</p>
<h2>アジャイル開発のメリットとデメリット</h2>
<p>アジャイル開発は、計画段階で厳密な仕様を決めないため、開発途中での仕様変更や追加に対して柔軟に対応することができます。また、システムを機能ごとの小さな単位に分けることで、不具合が発覚した際の対処も小規模なもので済みます。</p>
<p>しかし、計画段階で厳密な仕様を決めないことはデメリットにもなります。アジャイル開発では、開発の方向性がブレやすく、また、開発メンバーがスケジュールや進捗具合を把握するのも難しくなってしまいます</p>
<h2>どちらを採用するべきか</h2>
<p>ウォーターフォール開発とアジャイル開発のどちらを採用するべきかは、どのようなシステムを開発したいかによります。大規模、または途中で仕様変更がなさそうなシステムは、ウォーターフォール開発が向いています。一方、小規模、または途中で仕様変更がありそうなシステムは、アジャイル開発が向いています。また、開発の序盤や終盤はウォータフォール開発を、中盤はアジャイル開発を採用するといったように、工程や時期に分けて2つの開発手法を組み合わせる手法も考えられます。これはハイブリッド開発と呼ばれ、近年注目されている開発手法となっています。</p>
<h2>まとめ</h2>
<p>本記事では、ウォーターフォール開発とアジャイル開発について紹介しました。ウォーターフォール開発は進行を容易に把握できる一方で、仕様変更に弱く、アジャイル開発はその逆でした。実際の開発では、それぞれのメリットとデメリットを考慮したうえで、どちらを採用するべきかやどう組み合わせるかを決めると良いと思います。</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
