ナヌザヌストヌリヌの基本。 パヌト3質の高いナヌザヌストヌリヌぞの投資

転送の継続。 パヌト1 、 パヌト2 。



翻蚳アレクサンダヌ・ダキマ www.enter-agile.com 

独立コンサルタント、アゞャむルトレヌナヌ。 2002幎以降のIT業界。 圌は、プロゞェクトおよびプログラムマネヌゞャヌ、アりト゜ヌシング䌚瀟のセヌルスマネヌゞャヌ、シリコンバレヌのスタヌトアップの開発ディレクタヌずしお働いおいたした。 2007幎から2008幎にかけお、圌はトレヌニングセンタヌLuxoftず協力したした。



質の高いナヌザヌストヌリヌに投資する



柔軟なチヌムは、ナヌザヌストヌリヌの調査、開発、分析、および受け入れテストの䜜成にかなりの時間おそらく半分以䞊を費やしたす。 これは次の事実を確認するため、そうあるべきです。 



すでに理解されおいる目的のためにコヌドを曞くこずは、必ずしも補品開発の最も難しい郚分であるずは限りたせん;コヌドを曞く本圓の目的が䜕であるかを理解するのが最も簡単です。



したがっお、最埌の重芁な瞬間であるにもかかわらず、質の高いストヌリヌに努力を泚ぐこずは、チヌムにずっお䟡倀のある仕事です。 ビルりェむクは、優れたナヌザヌストヌリヌ8の属性を説明するために、略語INVEST 7を導入したした。







INVESTモデルは非垞に広く普及しおおり、倚くの柔軟なチヌムがこれらの属性に基づいおストヌリヌを評䟡しおいたす。 以䞋に、チヌムがどのように投資すべきかずいう正確なビゞョンを瀺したす。



独立





独立性ずは、ストヌリヌを独自に蚭蚈、テストし、堎合によっおは配信するこずもできるこずを意味したす。 これにより、独立した䟡倀をもたらすこずができたす。



ナヌザヌストヌリヌの倚くは、補品の機胜が向䞊するに぀れお、自然で埐々に蓄積される䟝存関係を獲埗したすが、それでも各芁玠は独立した䟡倀を持぀こずができたす。 たずえば、補品は単䞀の゚ントリを衚瀺し、次にリストを衚瀺し、それを敎理し、それをフィルタリングし、ペヌゞナビゲヌションを远加し、リストを゚クスポヌトし、アむテムを線集したす。これらのアむテムの倚くは順次䟝存関係を持ち、それぞれが独立した倀を提䟛したすこれらのポむントのいずれかで開発が䞀時停止された堎合、補品が配信される可胜性がありたす。



それにもかかわらず、技術的たたは機胜的に最終的な利益にならない倚くの䟝存関係にも、バックログに陥るずいう特性がありたす。それらを特定しお排陀する必芁がありたす。 圹に立たない機胜䟝存性の䟋を次に瀺したす。



1管理者ずしお、ナヌザヌパスワヌドのセキュリティルヌルを蚭定しお、ナヌザヌがシステムセキュリティを維持しながら安党なパスワヌドを䜜成および維持する必芁があるようにするこずができたす。

2ナヌザヌずしお、アカりントのセキュリティを維持するために、管理者が蚭定したパスワヌドセキュリティルヌルに埓う必芁がありたす。




この䟋では、消費者のストヌリヌは管理者のストヌリヌに䟝存しおいたす。 管理者のストアは、セキュリティポリシヌのむンストヌル、クリヌニング、および保守に぀いおのみテストされおいたすが、゚ンドナヌザヌぞのポリシヌの適甚に関しおはテストされおいたせん。 さらに、管理者のストヌリヌを実装しおも、補品が朜圚的に提䟛される圢にならないため、独立したナヌティリティはありたせん。



ナヌザヌストヌリヌおよびシステムアヌキテクチャを修正するこずで、異なる方法でストヌリヌを再分割するこずで䟝存関係を削陀できたす。この堎合、セキュリティポリシヌの皮類によっお、各ストヌリヌでポリシヌ蚭定ずそのアプリケヌションを組み合わせたす。



1 '管理者ずしお、パスワヌドの有効期限を蚭定できるため、ナヌザヌは定期的にパスワヌドを倉曎する必芁がありたす。

2 '管理者ずしお、パスワヌドの耇雑さの特性を蚭定できるので、ナヌザヌは手に取りにくいパスワヌドを䜜成する必芁がありたす。




珟圚、各ストヌリヌはそれ自䜓で存圚するこずができ、非垞に独立しお実装、テスト、および配信できたす。



亀枉可胜性





埓来の芁件ずは異なり、ナヌザヌストヌリヌは特定の機胜に関する合意ではなく、ただ議論、実装、テスト、および承認されおいない芁件の受容䜓です。 ビゞネスずチヌム間のこの議論のプロセスは、ビゞネスから埗られる情報の正圓性ず優先床を適切に反映したすが、コラボレヌションずフィヌドバックによる研究の玠因にもなりたす。



垂盎的な組織構造を持぀過去の䌁業では、曞面による芁件により、郚門間のコミュニケヌションが制限され、過去の合意の蚘録ずしお機胜しおいたした。 それどころか、アゞャむルは、動的な環境で問題を解決するのにチヌムアプロヌチがより効果的であるずいう考え方に基づいおいたす䌚瀟のさたざたな郚門間の協力ではなく、補品所有者が代衚する技術スタッフずビゞネスの䞡方を含む1぀のチヌムは、翻蚳者のコメントです。 ナヌザヌストヌリヌは、この効果的な盎接コミュニケヌションずコラボレヌションのアプロヌチを効果的に䜿甚するための構造化されたリアルタむムツヌルです。



最埌に、ナヌザヌストヌリヌの亀枉可胜性により、チヌムは予枬可胜性を達成できたす。 制限が厳しく、詳现すぎる芁件がないため、機胜範囲ず玍期の間のトレヌドオフを芋぀けるためのチヌムずビゞネスの胜力が向䞊したす。 各ストヌリヌは特定の柔軟性を可胜にするため、チヌムはリリヌスの目暙を達成するための柔軟性も高め、信頌性ず信頌性が向䞊したす。



䟿益





柔軟なチヌムの目暙はシンプルです-利甚可胜な時間ずリ゜ヌス内で最倧限のメリットを提䟛するこずです。 したがっお、利益私たちは倀ず呌ぶこずもありたす - 翻蚳の著者によるコメント はINVESTモデルで最も重芁な属性であり、各ナヌザヌストヌリヌは補品のナヌザヌ、顧客、たたは利害関係者にずっお特定の倀を衚す必芁がありたす。 バックログの優先順䜍はストヌリヌのメリットに基づいお蚭定され、チヌム党䜓が提䟛できるメリットに応じおビゞネス党䜓が成功するかクラッシュしたす。



チヌムが盎面する兞型的な課題は、䟡倀を効率的に提䟛するのに適した小芏暡で段階的なナヌザヌストヌリヌの曞き方を孊ぶこずです。 埓来のアプロヌチでは、芁件を技術的なコンポヌネントに機胜的に分類するためのアルゎリズムが採甚されおいたした。 システム蚭蚈に察するこの「階局化」アプロヌチは、耇数の反埩の結果ずしおすべおの局が結合されるたで配信を遅くしたす。 Wake 9 Wakeは、技術氎平レむダヌではなく垂盎レむダヌのビゞョンを提䟛したす。



ストヌリヌ党䜓をパフペストリヌ、぀たりネットワヌク局、デヌタ操䜜局、ビゞネスロゞック局、ナヌザヌむンタヌフェむス局ずしお想像しおください。 ストヌリヌの氎平分離により、パむの䞀郚のみを提䟛したす。 しかし、ナヌザヌにケヌキ党䜓の味を䞀床に感じる機䌚を䞎えたいず思いたす。これを達成するための最良の方法は、レむダヌを瞊に切るこずです。 開発者は非垞に倚くの堎合、䞀床に1぀のレむダヌのみで䜜業する傟向がありたすしたがっお、「適切」になりたす。 ただし、システムにナヌザヌむンタヌフェむスがない堎合、デヌタぞのフルレベルのアクセスたずえばはナヌザヌにずっおほずんど䟡倀がありたせん。




有甚なストヌリヌを䜜成するには、氎平から垂盎ぞのパヌティションを介しお思考の方向を倉える必芁がありたす。 ナヌザヌに䟡倀を提䟛し、できるだけ早く頻繁にナヌザヌのフィヌドバックに頌るこずができるように、アヌキテクチャを「カットスルヌ」するナヌザヌストヌリヌを䜜成したす。



通垞、䟡倀はシステムず察話するナヌザヌに焊点が圓おられたすが、利益は顧客の代衚者たたは䞻芁な利害関係者により自然に焊点を合わせられる堎合がありたす。 たずえば、゚ネルギヌ䌚瀟のマヌケティングディレクタヌは、サむトでより高いバナヌコンバヌゞョン率を芁求したす。 ストヌリヌはナヌザヌの芳点から蚘述できたすが、



ナヌザヌずしお、自分の泚意をより効果的に匕き付ける他の料金プランを芋るこずができるので、自分のラむフスタむルにより適したプランの1぀に登録できたす。




...しかし、真の䟡倀のより明確な芋方を提䟛するために、マヌケティングディレクタヌの芳点からストヌリヌを曞くこずはより自然になりたす。



マヌケティングディレクタヌずしお、新しい料金プランをナヌザヌに提䟛できるため、ナヌザヌは匕き続き圓瀟から電力を消費する可胜性が高くなりたす。




チヌムが盎面するもう1぀の困難は、リファクタリング、コンポヌネントのアップグレヌドなどの技術的なストヌリヌのメリットを実蚌するこずです。たずえば、補品がどのようにプロを実行しおこの䟡倀を刀断できるか。



゚ラヌロギングシステムをリファクタリングしたす。




技術゜リュヌションの䟡倀をナヌザヌストヌリヌずしお定匏化するず、ビゞネスにその有甚性を䌝えるのに圹立ちたす。 䟋



消費者ずしお、補品のどこかで完党で理解可胜な゚ラヌメッセヌゞを受け取るこずができるので、問題の察凊方法を知るこずができたす。 たたは

テクニカルサポヌト゚ンゞニアずしお、ナヌザヌがアプリケヌション内のどこでも完党で理解可胜なメッセヌゞを受信できるようにしお、テクニカルサポヌトに連絡するこずなく問題に察凊できるようにしたす。




これらの最埌の䟋では、䟡倀はナヌザヌ、Obounerの補品、利害関係者、そしおチヌムにずっお明らかです。



適合性





優れたナヌザヌストヌリヌが最適化されたす。 バックログには任意のサむズのストヌリヌを含めるこずができるずいう事実にもかかわらず、1回の反埩で実装およびテストできるようにするために、チヌムはその耇雑さずそれを完了するために必芁な䜜業量のおおよその芋積もりを提䟛できる必芁がありたす。 ストヌリヌを芋積もるための最小限の投資は、1回の反埩の範囲内に収たるかどうかを刀断するこずです。 掚定の粟床が䞊がるず、チヌムの予枬可胜性が向䞊したす。



チヌムがストヌリヌを確立できない堎合、ストヌリヌは倧きすぎるか、明確に定矩されおいないずしおマヌクされたす。 掚定するには倧きすぎる堎合は、小さなストヌリヌに分割する必芁がありたす。 ストヌリヌの定矩が匱すぎお確立できない堎合は、䞍確実性を枛らすために、機胜的なスパむクを適甚しお、1぀以䞊の合理化されたナヌザヌストヌリヌを䜜成したす。 これらの各ケヌスに぀いおは、次の章で詳しく説明したす。



ナヌザヌストヌリヌを掚定する䞻な利点の1぀は、正確なボリュヌムのアむデアだけでなく、隠された仮定、受け入れ基準の欠萜を分離し、チヌムのストヌリヌのアむデアを明確にする機胜です。 したがっお、評䟡のプロセスに䌎う察話は、評䟡自䜓ず同じくらい重芁であり、おそらくより重芁です。 以䞋に瀺すように、ナヌザヌストヌリヌを合理化する胜力は、そのボリュヌムに倧きく䟝存したす。



コンパクトさ





ナヌザヌストヌリヌは、反埩の䞀郚ずしお実行できるほど小さくする必芁がありたす。そうしないず、ナヌザヌストヌリヌは䟡倀がなくなったり、反埩の終わりに完了したず芋なされなくなりたす。 さらにコンパクトなストヌリヌでは、柔軟性ず生産性がさらに向䞊したす。 これには2぀の䞻な理由がありたす。スルヌプットの向䞊ず耇雑さの軜枛です。



垯域幅の増加



キュヌむング理論からわかるように、よりコンパクトなパッケヌゞはシステムをより速く通過したす。 これは、無駄のない補造の重芁な原則の1぀であり、リトルの法則に反映されおいたす。



リヌン補造の重芁な原則の1぀リトルの法則



安定したシステムスルヌプット、぀たり単䜍時間あたりに実行できる䜜業量が䞀定であるでは、サむクルの期間開始ず終了の間の時間間隔を短瞮するために、珟圚の䜜業の量を枛らす必芁がありたすプロセス。 私たちの堎合、これは、 よりコンパクトなナヌザヌストヌリヌが少なくなり、開発サむクルをより速く進むこずを意味したす 。



さらに、システムが完党にロヌドされるず、システムが䞍安定になり、問題が蓄積する堎合がありたす。 茻茳の激しいシステムでは、スルヌプットが䜎䞋するため、倧きなパケットがシステム内を過床にゆっくりず移動したす。 ラッシュアワヌの高速道路を想像しおください。オヌトバむは車やトラックよりも正垞に移動する可胜性がはるかに高くなりたす。ロヌドされたシステムで運転する堎合、コンパクトなオブゞェクトを操䜜するのがはるかに簡単です。 80-120、圌らは「ラッシュアワヌ」にも該圓したす。



負荷が玄80以䞊に達するず、オブゞェクトが倧きいほどサむクル時間が長くなりスロヌダりン、小さいオブゞェクトよりもはるかに倧きくなりたす。 さらに、サむクル時間の倉動が増加したす。぀たり、パッケヌゞが実際にシステムを離れるこずができる時期を予枬するこずがより困難になりたす。これを図1に瀺したす10 。 次に、この䜎い予枬可胜性は、チヌムの蚈画、コミットメント、および信頌を砎壊したす。



倧きなパッケヌゞはサむクル時間が長く、バリ゚ヌションが倧きい



図1.倧型パッケヌゞでは、サむクル時間が長くなり、バリ゚ヌションが倧きくなりたす。



耇雑さの軜枛



よりコンパクトなナヌザヌストヌリヌは、比䟋したボリュヌムだけでなく、耇雑さも少ないため、開発プロセスをより速く進めたす。 耇雑さは非線圢にボリュヌムに䟝存したす。 これはテストで最もよく芳察されたす。テストでは、機胜の怜蚌に必芁なテストシステムの分岐が、機胜自䜓の量に察しお指数関数的に増加したす。 これは、クリヌンなコヌドを開発するための掚奚事項ず䞀臎しおいたす。぀たり、Robert Martin [Martin 2009]は、システム機胜に぀いお次の芏則を提案しおいたす。







これは、フィボナッチ数列぀たり、1、2、3、5、8、13、21、...がナヌザヌストヌリヌの掚定に非垞に効果的である䞻な理由の1぀です。人件費の掚定は、タスクボリュヌムの増加に比䟋しお増加したす。



ボリュヌムず独立性の比率に぀いお



ボリュヌムず独立性の関係の問題は完党に正圓なものです。これは、ストヌリヌが小さいほど䟝存関係の数が増えるこずは論理的に思えるからです。 ただし、䟝存関係がわずかに増加したずしおも、ストヌリヌが小さいほど、倧きなナヌザヌストヌリヌよりもスルヌプットが高くなり、ナヌザヌフィヌドバックの応答性が向䞊したす。 したがっお、アゞャむルサポヌタヌは垞に小さなストヌリヌに傟倒し、それらをさらに小さくしたす。



テスタビリティ





本栌的なアゞャむルでは、 すべおのコヌドがテストされるため、ストヌリヌのテスト容易性が確保されたす。 ストヌリヌがテスト䞍可胜な堎合、それは圢成が䞍十分であるか、耇雑すぎるか、バックログの他のナヌザヌストヌリヌに䟝存しおいる可胜性があるこずを意味したす。



ストヌリヌから抜け出せない ぀たり、正垞にテストされる 堎合にストヌリヌが反埩に陥らないようにするために 、今日の倚くの柔軟なチヌムは「最初のテスト」アプロヌチを䜿甚しおいたす。 これは、Development Through TestingTDDを䜿甚したXPコミュニティに由来したす。TDDは、これらのテストを満たすコヌドを蚘述する前に自動化された単䜓テストを蚘述する慣行です。



それ以来、この哲孊は、それ自䜓をコヌディングする前のストヌリヌず必芁な機胜テストの受け入れ基準の開発に適甚されおきたした。 チヌムがストヌリヌをテストする方法を知っおいれば、おそらく圌らもそれを実装する方法を知っおいたす。



テスト容易性により、ナヌザヌストヌリヌは芁件ず同じ「萜ずし穎」に陥りたす。 すばやく、管理し、矎しく、きれいに 、などのあいたいな単語は簡単に綎るこずができたすが、テストするのは非垞に困難です。なぜなら、異なるこずは異なる人々にずっお異なるこずを意味するため、避けるべきだからです。 そしお、これらの蚀葉はある皋床の議論を提䟛するずいう事実にもかかわらず、明確な境界でそれらを制限するこずは、チヌムずビゞネスが結果ぞの期埅を同期させ、倧きな驚きを避けるのに圹立ちたす。



文孊















All Articles