作業 - みる会図書館


検索対象: アジャイル:ソフトウェアエンジニアリング
206件見つかりました。

1. アジャイル:ソフトウェアエンジニアリング

10.4 ・・興山破 : 、価・、興ソース第工クスプ 0- ラ をい ( VOid 1 ・、一せれ ) 効率的な作業環境 267 おを , 、、月第第の製 0 い・ユーザ - ・・のを : アツング ・ 1 ートのレビュー ~ ・・い ) の第ス第つ一い妥当をレビュー ( ださい の一第靆いリを一を △図 10-8 [ 担当作業 ] ウインドウの最上部には現在進行中の作業項目 ( [ 処理中の作業項目 および変更 ] ) が表示され、その下の各セクションには、まだ開始していない作業 項目 ([AvaiIabIeWorkltems]) と、既に関連付けられたシェルプセットとワーク フローがある未完了の項目 ([Suspended & Shelved wo 「 k ] ) 、さらにレビュー中 の項目 ( [ コードのレビューと要求 ] ) が表示される。 開発者の作業中は、チームエクスプローラーウインドウの [ 担当作業 ] 領域の最 上部に現在アクテイプなタスクが表示されます。この作業項目と、現在開いている コードおよびテストのすべてに、 [ チェックイン (Check (n) ] 、 [ レビューの要求 (Request Review) ] 、 [ 中断およびシェルプ (Suspend & Shelve) ] の 3 つの既定の コマンドが適用されます。ご想像のとおり、 [ チェックイン ] を選択すると、現在の 変更がすべてチェックインされ、この作業項目が現在の変更セットと関連付けられ 解決されるので、アクテイプな項目の一覧から次の項目を選択できるようになりま す ( レビューについては、この後で説明します ) 。 [ 中断およびシェルプ ] を選択す ると、作業中のすべての変更を含んだシェルプセットが自動的に作成され、そのシェ ルプセットが進行中の作業項目と関連付けられ、その作業項目が [ 担当作業 ] の未 完了を示す CSuspended & Shelved work] セクションに移動します。 これにより、別のタスク ( たとえば、優先順位の高いバグや特殊要求のタスク ) に切り替えることになっても、それまで作業していた作業項目のコンテキスト全体 をコード、テスト、および統合開発環境の設定とともに保存することができます。

2. アジャイル:ソフトウェアエンジニアリング

5.3 まとめ 123 ソフトウェア開発では、「良い」アーキテクチャとは保守が容易なアーキテクチャ のことであるとの認識が広く共有されています。良いアーキテクチャは、近い将来 のことを考慮したものですが、決して完璧なものではありません。良いアーキテク チャの一番の目的は、今後の開発と将来のアーキテクチャ上の変更に備え、それに ふさわしい基盤を築くことです。これはつまり、システム内の依存関係が明確にレ イヤー化され、循環的な依存関係がほとんど ( あるいはまったく ) ない状態を意味 します。それに対し、「悪い」アーキテクチャは依存関係が絡み合っていて、明確な レイヤーがありません。この状態はよく「泥団子」と呼ばれます。 この章で説明してきたとおり、 Visual Studio を活用すると、初めて見るコードや 大きなコードベースに取り組む場合でも、依存関係グラフとシーケンス図によって 学習曲線を短縮することができます。既存のコードベース内のバグ修正を行うとき には、これによって適切な修正を行うことができ、問題の症状を解消するだけでなく、 問題の根本原因を究明することが可能になります。 レイヤー図は、システムを構成するある程度大きな要素同士の依存関係を限定す る論理構造を表現します。これを使用することで、アーキテクチャのレイヤー化ルー ルに合致する依存関係だけが実際に適用されるようにします。このように、 Visual Studio は目的とするアーキテクチャの制御を容易にし、好ましくない依存関係をす べて可視化してチームに見えるようにすることで、既存のプラウンフィールドコー ドに存在する問題を各スプリントで段階的に修正していくというプラクティスをサ ポートします。 ビジネスドメインとビジネスプロセスの選択した部分を UML 図として文書化す ると、チーム内でのアイデアの伝達と共同作業に役立ちます。また、拡張メカニズ ムを利用すると、レイヤー図と各種の UML 図をドメイン固有の拡張機能のための プラットフォームとして機能させることができます。 Visual Studio が提供するこれらのモデリング機能とダイアグラム機能は、アジャ イルチームの意思疎通に必要な文書類を作成したり、その文書類をチームの議論と 共同作業の土台として使用したりするために役立ちます。これらの機能は、過剰な 文書作りによる無駄や生産性の低下という罠を回避するためにも役立ちます。 Visual Studio では、これらの図がバージョン管理と作業項目追跡の両方に統合され ています。

3. アジャイル:ソフトウェアエンジニアリング

2.7.2 2.73 42 第 2 章スクラム、アジャイルプラクティスと VisuaI Studi0 たとえば Microsoft が VisuaIStudio を開発するにあたっては、レドモンド、ローリー ハイデラバード、およびいくつかの小規模サイトの間でスクラムオプスクラムを運 営し、スプリントレビューとスプリント計画を調整しています。これらのサイトは 12 のタイムゾーンに散在しています。我々は TFS と大きなスクリーンに加え、ビ デオと画面共有のために Microsoft Lync も使用しています。また、 ーティングと スプリントレビューデモを記録することで、他人の作業を確認するために夜中や明 け方まで起きていなくても済むようにしています。 暗黙知または文書化の必要性 地理的に離れた場所にチームがある場合、全員が 1 か所にまとまっている場合よ りも自然発生的な会話は難しくなり、代わりにインスタントメッセージングとビデ オチャットが活躍することになります。分散した環境では、暗黙知だけに頼ること はできません。また、契約、合意、アーキテクチャ、保守性、または将来の監査に 対する承認を記録するために、内部文書を使用することになります。どのような目 的の文書であれ、文書は読み手のために書くべきであり、目的を達成したらそれ以 上手をかけてはなりません。目的を達成した文書にそれ以上労力をかけても無駄な だけです。可能な場合には、 TFS の作業項目を正式な記録として使用し、それを「唯 ーの正しい情報源」とすることをお勧めします。第 4 章で紹介する Ekobit TeamCompanion などのサードバーティ製品を使用すると、電子メールを TFS の作 業項目に変換して、見やすくて監査にも対応可能な記録を作成できます。 ガバナンスとリスク管理と法令遵守 「ガバナンスとリスク管理と法令遵守 (Governance, Risk Management, and Compliance: GRC) 」は、密接な関係を持っ言葉で、米国でサーベンス・オクスリー 法 (Sarbanes-Oxley Act of 2002 : SOX) が制定されて以来、ひとまとめにして考 えられることが普通になっています。株式公開会社などの規制を受ける企業にとっ て、 GRC ポリシーは IT に関する経営者の説明責任をどうやって果たすかを規定す るものです。 GRC ポリシーの要件により、文書や TFS 作業項目のフィールドおよ び状態に関して、チームが通常記録しているものよりも形式的であることが必要に なる場合があります。

4. アジャイル:ソフトウェアエンジニアリング

5.2 既存のアーキテクチャの調査 119 望ーに ( a は聞 1 ・ x uc Shopping ViewHomePage B 「 0 物に Odu チ addto 厄 ct ( 計に 0 ・ opp イ △図 5-18 4 X 物 追加囚 コビーに ) 鮎つ付け ( 印 照のり付けに ) モデルから解除 ( 0 ) 図から除住 ) 作業項目の生成 ( 0 作業項目ヘリンク ( い・ .. 作第頃目の示 ( Y ).. 作項目の ( ).. プロバティ但 ) bscrib に to 3 productlitE Ctri + C Ctrl+V Shift + Del Alt + Ente 「 、共有ステップ [ 、タスク [ ユーザーストーリー ーあ蘇室事項 ' Visual S ⅳ dio では図中の個々の要素を 1 つまたは複数の作業項目 ( たとえば PBI) にリンクできる。ユーサーはコンテキストメニューから、既存の作業項目にリン クしたり、新しい作業項目を作成したりできる。 ユーサーストーリー 2 x 」作項目の保存ぁ鑾丨 ! ユーザースト丿ー 2 : 地 30 ぉ 1 沼 'I 、取記 eto 山れ stomy 動・ ( t ・ 状態 ( S ) : - - 計画 詳総ー実装ーテストケースすべ ( のルり付万イ丿月 ( 0(T$ete ーれい門 pa 新 T ま滝 1 TO イテレーショこイ T 郵 a 1 1 リスグ 新規作成 ( 助・しリンり先 ( L レ」衫 l-g 彡 M ロ。れ 0 で問く ( 0 ) 、工」 ー作第頂目の第 TitIe 0 d TO 第 Model Link ( 新 m 引 △図 5-19 図内の要素にリンクされている作業項目には、モデルリンクが表示される。リン クをダブルクリックすると、バージョン管理から図が開かれ、リンクされた要素 にフォーカスが置かれる。

5. アジャイル:ソフトウェアエンジニアリング

268 第 10 章継続的フィードバック 割り込み作業が発生した場合は、割り込みのタスクを完了した後に、未完了を示す CSuspended & Shelved Work] セクションにある中断中のタスクを選択し、 [ 再開 ] をクリックするだけで、統合開発環境を以前とまったく同じ状態に戻すことができ ます。 1 色 4 川コードの共同作業 これまでどおり、作業項目は共同作業の土台となるものですが、 Visual Studio 11 では作業の流れが単純化されています。チームエクスプローラーで [ レビューの要求 ] を選択すると ( 図 10-8 を参照 ) 、コードレビュー要求の作業項目が作成され、すべ てのオープン状態の変更を含んだシェルプセットが関連付けられて、指定のレビュー 担当者に割り当てられます。その結果、この作業はチームエクスプローラーの [ コー ドのレビューと要求 (CodeReviews&Requests)] セクションに表示されます。 レビュー要求は、指定されたレビュー担当者のチームエクスプローラー上の [ コー ドのレビューと要求 ] セクションに、受信したコードレビュー要求として表示され ます。このレビュー担当者は、おそらく何らかのアクテイプな作業を中断してレ ビュー要求を開くことになります。チームエクスプローラーには、開発者がレビュー 担当者に向けて書いたコメントが表示されます。コードウインドウには、図 10-9 の ように変更箇所が色付きで隣接行に表示されるか、横並びのウインドウに表示され ます ( どちらの表示にするかは好みで指定できます ) 。レビュー担当者は、このコー ドに注釈コメントを追加することができ、コードレビューを終えたら、もともと行っ ていた作業に速やかに戻ることができます。また、開発者も速やかにレビュー結果 を知ることができます。先述した作業の中断と再開ができるため、開発者がレビュー 済みの項目を開くと、その項目を中断したときと同じように、該当するすべてのシェ ルプセットファイルが適切なソリューション内に表示されます。

6. アジャイル:ソフトウェアエンジニアリング

第 0 村 - ん村 ~ ”な d 9 料 第 5 章アーキテクチャ 112 2 は ShOp ・ 0 、 0 代 V'Su 新′い株震項目成・二 な作第議目アイコンの霧表示 。三新しい作第議目・ うトつゴココ第も 三ま洋は 0 ー 0 n コ DA び・は•ry ・叩物 d 物 み、ー己ョ 02 UML 市 IOR ロ朝ー ト X : 50 物応 onN 試 0 ′ 0 秋・ 0 P h0P ・ 0 歟は。 0 p hop “ me ( 0 ー・事 4- れ ! ナームエ 2- キデクチ 1 , 工クスプ : ーラ - 受ー 3 クラスビュー 4 ソリュ - ションビュー 。ファイルシスデム フア・ 0 しの・択… 物保評された . クエリ 感ファ , みー内 : ー 3 マイソリューション内 7 を第第第 」アーキテクチやェクスプロ - アーキテクチャエクスプローラーでは、システムのアセンブリ、名前空間、型、 およびメソッドを参照、検索、およびフィルタ処理することができる 。こから 各要素をレイヤー図にドラッグアンドドロップして、論理レイヤーに割り当てる ことができる。 このようにして作成したレイヤー図を使って、目的とする構造と現在の構造とを 比較検証し、好ましくない依存関係をすべて洗い出すことができます ( 図 5-11 を参 照 ) 。この検証は VisualStudi 。の統合開発環境内でローカルに実行することも、サー バー側の自動ビルドの一部として実行することもできます。・この結果、目的とす る構造 ( もしあれば ) に従って、許容されない無効な依存関係のリストが得られます。 レイヤー検証を自動ビルドの一部として実行すると、好ましくない依存関係が新た に実装されたときにビルドを「速やかに失敗 (fail fast) 」させることができます。 Visual Studio で検出される他のすべてのエラーと同様、ユーザーはコンテキストメ ニューを使って、検証工ラーから作業項目をすばやく作成することができます。 の作業項目には、進捗を把握するために必要な詳細情報がすべて含まれています。 を ~ 覧第力気を午の第アスい墻自コートトソックス藤 第スキーマの呼関ビューアー、レイヤーエクスプローラー △図 5-10 3 http://blogs.msdn.com/b/camerons/archive/2009/11/25/team-b uild-and-layer-validation. aspx

7. アジャイル:ソフトウェアエンジニアリング

52 33.1 第 3 章プロダクトオーナーシップ リリース計画 プロダクトオーナーはリリース計画を策定して、初期プロダクトバックログを作 するためだけでなく、そのビジョンに基づいてリーダーとチームを再編成するため て加速度的に成長できます。 Micr 。 s 。 ft の各製品部門では、リリースビジョンを作成 混乱ー統一一機能 (forming-storming-norming-performing) 」・というプロセスを経 先順位に従って作業を行い、自由に意見を述べられるようにすれば、チームは「形成ー めの最高の機会です。チームの全員がビジネス価値と顧客価値を明確に理解し、優 リリース計画は、コンテキストを共有し、高い機能性を発揮するチームを作るた 現時点での要件の優先順位付けを行うことにあります。 スビジョン ( リリースの見通し ) を作り出し、最初のスプリントの開始に備えて、 成します。この作業の目的は、あいまいで矛盾も多いインブットから明暸なリリー と同じくらい難しいという認識が広まっている。 Beinhofer 著「 The Origins of Wealth 」を参照。 ⑨実際、エコノミストたちの間では、長期的なビジネス戦略を正確に見通すのは、正確な天候の長期予報 ・ Bruce Tuckman, "Developmental Sequence in Small Groups,' P c ん 0 / og / c B ″〃ⅲ 63 : 6 ( 1965 ) : 384-99. じることもよくあります。こうすれば間違いなし、という答えはないのです。・ 増大、競争上の脅威への取り組みなど、さまざまな側面があり、その間で矛盾が生 客層の育成、既存顧客層でのシェア拡大、ビジネスパートナーの開拓、販売利益の り口から検討することになります。市場投入までの期間、イノベーション、新規顧 ビジネス戦略の検討に役立つレンズは数多くありますが、どれもそれぞれ異なる切 告書のたびにビジネス戦略に必死に取り組むはずはありません。私の経験によると、 ビジネス戦略は難しい課題です。そうでなければ、あれほど多くの会社が年次報 ビジネス価値 プロダクトバックログ、そして適切なチーム編成です。 計画で目指すところは、信頼できるビジョン、実行スプリントを開始できるだけの メントごとに明暸なバックログを作成し、結果の検査と適応を行います。リリース ムボックスを設定してください。 2 ~ 4 週間のインクリメントを使用し、インクリ 実行スプリントにタイムボックスを設定するのと同様に、リリース計画にもタイ ス優先順位の決定と正式な組織構造の決定を行うことができます。 にもリリース計画を利用しています。これにより、相互に情報を共有しながら、リリー

8. アジャイル:ソフトウェアエンジニアリング

6-6 バージョンのすれの防止 163 ・チームごと、機能ごと、または目的ごとに作業を分離する ( フィーチャー別 リリースパージョンを保守用とホットフィックス用に分離する ( リリース別 分岐 ) 分岐 ) 分岐を常にリリース可能で安定した状態に維持し、リスクを最小限に抑えることが 了した PBI は逆方向の統合で「メイン」分岐にマージします。これにより、「メイン」 岐プランの例を図 6-37 に示します。こでは、開発作業は「開発」分岐で行い、完 に影響を与えずに新しいことを試す目的で行うものです。 2 つの分岐を使用する分 実験的な分岐の作成があります。実験的な分岐とは、並行して進んでいる他の作業 作業の分離の例としては、大規模なチームを効率よくサポートするための分岐や、 できます。 チェックイン スプリント 1 チェックイン スプ丿ント終了 のラベノレ 順方向 の統合 スプリント 2 逆方向 メイン 分岐 開発 △図 6-37 逆方向 の統合 逆方向 の統合 チェックイン チェックイン ( ユーサー ストーリー 1 完了 ) チェックイン 競合の 解決 順方向 の統合 解決 競合の ストーリー 2 完了 ) ( ユーサー チェックイン チェックイン の統合 解決 競合の ストーリー 3 完了 ) ( ユーサー チェックイン チェックイン フィーチャー別分岐を行うと、チームは並行して作業を進めていき、完了基準を 満たした時点で変更を統合することができる。 分岐をよく使う状況としてもう 1 つ挙げられるのは、 1 つのソリューションにつ いて複数のリリースパージョンを追跡する場合です。これはたとえば、バージョン 1 をリリースした後に、ます分岐を行ってから、バージョン 2 の作業を始めるとい うやり方です。後でバージョン 1 のバグを修正したり、新しい環境用のサービスリ リースを発行したりする必要が出てきた場合は、バージョン 1 の分岐で作業をすれ ばよいため、バージョン 2 のコードに影響を与えずに済みます。このような分岐の ことをよく「リリース別分岐」と呼びます。分岐プランの例を図 6-38 に示します。

9. アジャイル:ソフトウェアエンジニアリング

第 5 章アーキテクチャ 122 0 騨求 . d 「 X 第を第■■ CS33 CS35 公 CS36 CS34 Visual studio の拡張機能である work ltem Visualizer は、作業項目 ( ユーサース トーリー、タスク、テストケースなど ) 間の関係や作業項目と関連するバージョ ン管理下の変更セットの情報から DGML ファイルを作成し依存関係を可視化する。 △図 5-22 まとめ この章では、アジャイルコンセンサスの下でのアーキテクチャへの取り組み方に ついて説明しました。この章では、各スプリントでの顧客価値の実現を目標として、 各チームがスプリントごとに行う開発アクティビティのことをアーキテクチャと見 なして解説しました。アーキテクチャの設計はきちんと動作するソフトウェアによっ て検証する必要があり、リスクと潜在的な無駄を減らすためには、設計から実装ま での期間をできる限り短くする必要があります。

10. アジャイル:ソフトウェアエンジニアリング

164 第 6 章開発 この 2 つの 「開発」分岐は シーケンシャルな タスクとして 作成されているが、 ひとまとまりの 作業である。 開発 - 1 ! 三 A サービスパック 「メイン」分岐が リリースできる 状態になったら、 「サービス / ヾック」分岐、 「ホットフィックス」分岐、 「 RTM 」分岐を 同時に作成する。 「 RTM 」分岐はリリース 内容の読み取り専用 コピーとなる。 RI (SP) RI (SPO) RI(SPI) R2(SP) 日 2 (SPO) ホットフィックス △図 6-38 これは、開発系のラインにはフィーチャー別分岐、メインのラインにはリリース 別分岐を使用した入念な分岐プランである。詳しくは http://vsarbranchingguide. codeplex.com/ を参照 Visual Studio では、分岐は特別な種類のフォルダーとして扱われ、特別なアイコ ンで表示されます ( 図 6-39 を参照 ) 。通常のフォルダーの機能に加えて、所有者と 説明が割り当てられており、分岐の関係は階層構造で表されます ( 図 6-40 を参照 ) 。 を判断できる。 凵色、リ 0 朝上 田一己 v ぎ、 81 田辷 11 田 [ 」メ「 0 ( e T 0 5 コ 日 5 、・ゴ t 。信に翻 e ( ー △図 6-39 異なるアイコンで表示される。これにより、作業対象の関連する分岐フォルダー TFS のソース管理工クスプローラーでは、分岐は特別な種類のフォルダーとして