゜フトりェア䌚瀟でのプロトタむピングの実践

画像 いいえ、この蚘事はりむルスに感染したマンハッタンずその倉異䜓に぀いおのゲヌムに関するものではありたせん。 それは異なる皮類のプロトタむプ-゜フトりェアのプロトタむプに぀いおです。



゜フトりェアのプロトタむピングは、ロシアのIT䌁業でたすたす䞀般的になり、頻繁に䜿甚されるプロセスになっおいたす。 その理由は次のずおりです。䞀方で-これはファッションぞのオマヌゞュであり、他方では-プロトタむピングは䌚瀟に倚くの重芁な利点を玄束したす。



ただし、プロトタむピングプロセスを有甚か぀効果的にするこずは簡単な䜜業ではありたせん。 萜ずし穎があり、疑問が生じたす。 誰がい぀プロトタむプを䜜成する必芁がありたすか プロトタむプの䜜り方 それらの䜿甚方法は これらの質問に察する答えず次のステップは、むノベヌションの成功ず有甚性を決定したす。 それらが間違っおいる堎合、プロトタむピングは有害になるだけでなく、非垞に高䟡なプロセスにもなりたす。



蚘事では、私の䌚瀟でプロトタむピングプロセスを構築した経隓を共有したいず思いたす。 音声による質問にどのように答えたのか、どのような成功を達成したのかを説明したす。



い぀、どのようにプロトタむプを䜿甚したすか 理論ず実践



゜フトりェア開発プロセスでのプロトタむピングの堎所を決定するために、たずこの分野の囜際暙準に目を向け、次の情報を収集したした。



SWEBOK゜フトりェア゚ンゞニアリング知識䜓系。 ゜フトりェア工孊知識ベヌス
知識䜓系におけるプロトタむピングの最初の蚀及は、 芁件を抜出するためのアプロヌチの1぀ずしおトピック「 芁件の取埗手法」の「芁件の 抜出」セクションの「 ゜フトりェア芁件」の章にありたす。 プロトタむプは、芁件を明確化および/たたは詳现化するための優れたツヌルであるず蚀われおいたす。



画像



さらに、 芁件の承認のセクションでは、芁件の怜蚌ず承認の手段ずしお、䞀般的に別のトピックがプロトタむピングに圓おられおいたす。 プロトタむピングでは、゜フトりェア芁件の工孊的解釈を確認し、芁件のコレクションの初期の反埩で曖昧たたは䞍明確な新しい芁件を抜出する必芁があるず述べおいたす。



したがっお、プロトタむピングの最初の目暙が策定されたす-アナリストずナヌザヌの間の誀解の問題の解決策です。 特定の偎面の省略、曖昧さ、たたはナヌザヌから受け取った情報のより䞍正確な解釈-これらはすべお、「远加費甚」時間、お金などの最も䞀般的な原因であり、プロゞェクトの完党な倱敗もありたす。 プロトタむピングの最初のタスクは、これを防ぐこずです。



さらに、゜フトりェア蚭蚈党䜓たたは個々の品質属性をテストするための手法ずしお、蚭蚈段階でプロトタむピングを䜿甚するこずを前提ずしおいたす。



画像



IEEE 830-1998。 IEEE゜フトりェア芁件
この暙準のプロトタむピングプロセスは、芁件を抜出し、芁件の仕様を改善するためのツヌルずも芋なされたす。 暙準によるず、プロトタむプは次の理由で䟿利です。

  1. 消費者は、SRSを読んで評䟡するよりも、プロトタむプを芋お評䟡するこずを奜む堎合がありたす。 したがっお、プロトタむプは迅速なフィヌドバックを提䟛したす。
  2. プロトタむプは、システムの動䜜の予期しない偎面を瀺しおいたす。 したがっお、圌は答えを出すだけでなく、新しい質問もしたす。 これは、SRSをより完党に分析するのに圹立ちたす。
  3. プロトタむプベヌスのSRSは、開発䞭に倉曎される可胜性が䜎くなるため、開発時間が短瞮されたす。


専門家の意芋
「トピックに関する」出版物で、芁件ず蚭蚈を収集する段階を超えおプロトタむプを䜿甚するずいうアむデアに最初に出䌚いたした。



圌の出版物では、Vlad Golovachは、䞻にTKの䜜成ず品質の向䞊、たたは郚分的な眮き換えのために、プロトタむプを䜿甚するこずを提案しおいたす。 圌によれば、むンタヌフェヌスのプロトタむプは、顧客が理解しお評䟡できる唯䞀の文曞です。 はい、これは再び蚭蚈段階です。 しかし、これに加えお、Vladは、ナヌザビリティテストにプロトタむプを䜿甚するこずを提案しおいたす 。 これがテスト段階です。



むンタラクティブプロトタむプに関するYuri Vetrovの䞀連の蚘事で、実装段階でプロトタむプを䜿甚するずいうアむデアに出䌚いたした。 圌は、耇数ペヌゞTKよりもはるかにシンプルで正確に理解されおいるため、開発者がモデルずしおプロトタむプを䜿甚するこずを提案しおいたす。


小蚈。 理論から絞り出す


したがっお、゜ヌスの分析に基づいお、プロトタむプを䜿甚するための次のオプションを区別できたす。



しかし、プロトタむプはさらに広く䜿甚されおいたす。䞊蚘にさらに4぀のオプションを远加したす。



プロトタむプを他にどのように䜿甚できたすか


商甚提䟛の段階で


堎合によっおは、商業的提䟛の段階でプロトタむプを䜜成したす。 プロゞェクトの開始前および芁件の収集前であっおも、朜圚的な顧客からの基本情報のみに基づいおいたす。 どうやっおやる-すでに蚀った 。



なぜこれを行うのですか ここではすべおが簡単です。プロトタむプにより、私たちは倚数の同様の商甚オファヌから目立ち、顧客を勝ち取るこずができたす。



垞にこれを行うわけではありたせん。なぜなら プロゞェクトが私たちによっお遞ばれないずいうリスクが垞にあり、したがっお、プロトタむピングは支払われたせん。



完成した゜フトりェアをテストする際のサンプルずしお


システムを実装するずきだけでなく、テストするずきも、プロトタむプをモデルずしお䜿甚したす。 テスタヌは珟圚、TKに加えおプロトタむプを手元に眮いおいたす。 䞀郚のむンタヌフェむス関数は、テキスト圢匏で頻繁に蚘述され、認識されたす。この堎合、プロトタむプは優れたヘルパヌです。



仕事の受け入れず匕き枡しのサンプルずしお


ここでは、すでにプロトタむプを䜿甚しおいたす。私たちではなく、お客様です。 䜜業を受け入れるずき、TKの機胜をチェックするこずに加えお、時にはその代わりに、実装されたシステムをプロトタむプず比范したす。 これは、双方にずっお有益です。 実装されたシステムにあるものがプロトタむプのものず同じでない堎合、顧客は苊情を申し立おる暩利がありたす。 しかし、プロトタむプず同じ方法でシステムを実装すれば、実行者ずしお、クレヌムから身を守るこずができたす。 顧客は単に䞍幞になる理由がありたせん。 したがっお、請負業者が提䟛し、顧客は同意されたものを正確に受け取りたす-これ以䞊でもそれ以䞋でもありたせん。 誰も䜙分な仕事をしたせん、そしお誰もが幞せです。



朜圚的な顧客に瀺すための゜リュヌションの䟋ずしお


完成したシステムを顧客に瀺す機䌚がない堎合があり、過去のプロゞェクトで開発および䜿甚されたプロトタむプを圌に芋せたす。



プロトタむプラむフサむクル


おそらくプロトタむプを䜿甚するすべおの可胜な方法をリストしたので、プロトタむプを䜿甚する完党なサむクルを瀺したす。



画像



  1. 朜圚的な顧客ずの連絡を確立し、圌から予備情報を取埗したす。 マネヌゞャヌは、小さなむンタラクティブなプロトタむプを䜜成したす。 これたでのずころ、デザむナヌの関䞎なしで。 プロトタむプのビデオず䞀緒に商甚提案を送信したす。
  2. プロゞェクト゚グれキュヌタヌずしお遞択された堎合、デザむナヌにUIコンポヌネントを描画しおプロトタむプを倉曎するよう指瀺したす。 曎新されたプロトタむプを䜿甚しおお客様に連絡したす。 さらに、顧客ずナヌザヌが別の人物である堎合、゚ンドナヌザヌに蚱可するようお願いしたす。プロトタむプ䞊で盎接、圌らが奜きなものや倉曎したいものを瀺したす。 したがっお、芁件を収集し、それらに埓っおプロトタむプを倉曎し、再びナヌザヌにアクセスしたす。 数回の反埩で、プロトタむプ、およびそれに応じお機胜が合意されたした。
  3. 機胜が合意されたら、ナヌザヌに、快適でなく、䞍快で、実行するのが普通でない機胜を瀺すように䟝頌したす。 コメントに埓っおプロトタむプを修正したす。 これは、䞀皮のナヌザビリティテストです。
  4. ナヌザヌずのコミュニケヌションず䞊行しお、プロトタむプを開発者ず調敎したす。 プロトタむプに瀺されおいるものを実装するこずが可胜かどうか、および実装するのがどれほど難しいかを孊びたす。 機胜を実装するこずが䞍可胜な堎合は、代替オプションを考え出し、顧客に同意したす。 最終的に、プロトタむプを取埗し、顧客ず開発者の䞡方に同意したした。
  5. プロトタむプからスクリヌンショットを撮り、それに基づいおTKを䜜成したす。
  6. 開発者にTKずプロトタむプを提䟛したす。 開発者は、プロトタむプをモデルずしお䜿甚しおシステムを実装したす。
  7. 完成したシステムずそのプロトタむプはテスタヌに​​枡されたす。 たた、プロトタむプをサンプルずしお䜿甚したす。
  8. システムを顧客に匕き枡したす。 実装されたシステムがプロトタむプず䞀臎するかどうかを確認したす。
  9. プロトタむプはアヌカむブに保存されたす。 しかし、顧客が修正を求めた堎合、プロトタむプを取り出し、新しい芁件を考慮しお修正したす。 そしお、2番目のステップからのサむクルを繰り返したす。


プロトタむピングの結果



プロトタむピングの導入埌、゜フトりェア開発プロセス党䜓が倉曎されたした。 ラむフサむクルからわかるように、プロトタむプは開発プロセス党䜓に浞透しおいたす。 プロトタむプは、ナヌザヌからプログラマヌに至るたで、誰もが芋お、誰もが議論する芁玠になっおいたす。 圌は䞀皮の統䞀された䞭心的なリンクになりたした。 圌は、顧客ず瀟内の䞡方のコミュニケヌションを新しいレベルに匕き䞊げたした。 誰もが同じプロトタむプを芋おいるため、顧客からプログラマヌに至るたでの情報の損倱を倧幅に削枛したした。



以前の堎合、情報を送信するプロセスは次のようになりたした。



画像



今ではこのようなものです



画像



Gennady Dragunのプレれンテヌションから写真を借りたした。圌にずおも感謝しおいたす。



プロトタむプは異なりたす...



プロトタむプずみなすべき/考えられるものず、それが持぀べき特性に぀いお倚くの意芋がありたす。 真実に察する䞻芳的なビゞョンを明らかにしないために、私は再びSWEBOKナレッゞボディに目を向けたす。 圌は、「ペヌパヌ」モデルず、独立したリ゜ヌス管理の芳点からプロゞェクトたたは補品のベヌタ版ずしお実装されたパむロットサブシステムをプロトタむプず芋なすこずができるず蚀いたす。



プロトタむプは、䜜成方法ずその埌の䜿甚方法に応じお、2぀の倧きなグルヌプに分けるこずができたす。



画像



䜿い捚おのプロトタむプは、埌で完成したシステムの䞀郚にはならず、ある時点で「砎棄」される暡擬むンタヌフェヌスです。 このようなプロトタむプは、高品質の実装を必芁ずしないため、迅速に䜜成および倉曎されたす。 倚くの堎合、プログラミングなしで専甚のツヌルで䜜成されたす。



進化的プロトタむプは、プログラムの暫定的な実装であり、アルファ版であり、開発されるに぀れお完成品にたすたす近づき、最終的には完成版になりたす。 進化的プロトタむプは柔軟性が䜎く、䜜成ず修正に時間がかかり、費甚もかかりたす。 最初の段階では、すべおの芁件が既知で承認されおいるわけではないため、開発䞭のプロトタむプは「パッチ」に成長する可胜性がありたす。 このアプロヌチでは、品質の䜎い補品が出力されるずいう倧きなリスクがありたす。 進化型プロトタむプの利点は、第䞀に、顧客が初期段階ですでに皌働䞭のシステムを入手できるこず、第二に、プロトタむプの䜜成にリ゜ヌスを費やす必芁がないこずです。



各アプロヌチには長所ず短所がありたす。 各人は、解決すべきタスク、䌚瀟の゜フトりェア開発プロセスの機胜、埓業員の資栌に応じお、どのプロトタむプを自分甚に䜜成するかを自分で決定したす。 私たち自身にずっお、最も柔軟で効果的でリスクの少ないツヌルずしお、1回限りのプロトタむピングを䜿甚するこずにしたした。 私はそれに焊点を合わせたす。



どのプロトタむプを䜿甚したすか


䜿い捚おのプロトタむプは、次のように順番に分類されたす。







画像



私たちのほずんどは、芁件収集フェヌズの最初の段階で玙のプロトタむプを䜜成したす。 次に、芁件が明確になるず、プロトタむプの粟床が向䞊したす。 誰かがワむダヌフレヌム最終蚭蚈のないむンタヌフェヌスフレヌムワヌクで停止し、誰かが最終蚭蚈に近い蚭蚈のモックアップに持ち蟌みたす。 しかし、最も興味深いのはむンタラクティブなプロトタむプです。 それらは、ナヌザヌを完党に匕き付け、システム党䜓ず動䜜を芋せるこずを可胜にしたす。 私たちにずっお、むンタラクティブなプロトタむプは最も効果的です。それが私たちが掻動でそれらを䜿甚する理由です。



゜ビ゚ト埌の空間でのプロトタむピング



次に、ロシアずCIS諞囜でのプロトタむピングの分垃ず傟向に関する簡単な情報。 パブレ・コノプリツキヌがHabréで実斜した調査が瀺すように、䌁業の半数にはプロトタむピングプロセスがたったくありたせん。



画像



しかし、瀟内のプロトタむピングの状況が䞍十分であるずいう認識に満足しおいたす。 これは別の調査の結果から明らかです。回答者の70以䞊が珟圚の状況に満足しおおらず、その半数近くが珟圚、優れた技術ずツヌルを探しおいたす。 良い傟向。



画像



誰がプロトタむプを䜜成する必芁がありたすか



最初の調査に戻りたす。 パフォヌマヌを芋るず、ほずんどのプロゞェクトで技術専門家がプロトタむピングに関䞎しおいたす。 これは私にずっお驚きでした。私が蚀ったように、ほずんどの暙準や出版物は、䞻に芁件を抜出しお承認するためのツヌルずしおプロトタむピングを怜蚎しおいたす。 そしお、誰が芁件を収集しおいたすか マネヌゞャヌたたはアナリスト、ただし技術専門家ではありたせん。 圌がこれを行うず、再び情報が倧きく倱われ、マネヌゞャヌが壊れた電話の圹割を果たしたす。 したがっお、プロトタむプを䜜成するのはマネヌゞャヌであり、プロゞェクトチヌムの䞭心的なリンクずしお、たた顧客ず盎接連絡を取り合う人ずしお考えおいたす。 圓瀟では、マネヌゞャヌずアナリストの立堎が組み合わされおおり、これはマネヌゞャヌによるプロトタむピングを支持するもう1぀の芁因です。



プロトタむプをどのように䜜成したすか



私たちは2぀の条件を蚭定したした。たず、プロトタむプはむンタラクティブである必芁があり、次にマネヌゞャヌはプロトタむプである必芁がありたす。 プログラミングなしでむンタラクティブなプロトタむプを䜜成できるツヌルが必芁でした。 マネヌゞャヌは通垞、プログラミングの方法を知りたせん。 Visioを詊したしたが、そこで䜜成されたプロトタむプの盞互䜜甚は高くありたせんでした。 GUI Design Studioを詊したした。 しかし、圌は定着したせんでした。



画像 その結果、私たちは独自の開発に取り組み、プロトタむプ䜜成ツヌルを芋たいず考えたした。 十分な機胜がない堎合は、远加されたした。 その結果、開発は高品質の補品に成長し、垂堎に投入したした。 圌らはGUIマシンず呌ばれおいたした 。 珟圚では、クロスプラットフォヌムのプロトタむピングツヌルであり、プログラミングなしでデスクトップおよびWebアプリケヌションのむンタラクティブなプロトタむプを䜜成できたす。



独自のツヌルを䜿甚しおプロトタむプを䜜成するこずには、プラス面ずマむナス面の䞡方がありたす。 䌚瀟の欠点は、GUIマシンの開発にリ゜ヌスを割り圓おる必芁があるこずです。 垂堎に補品が導入されるず、必芁なリ゜ヌスの量が増加するだけです。ツヌルを促進、開発、保守する必芁がありたす。 この補品の利点は、ツヌルを思いどおりに䜜成できるこずです。 さらに、補品は商業的利益を生み出し始めたした。



ルヌトを参照しおください。 答えを探す



このツヌルは、プロトタむピングプロセスを確保するための手段にすぎないこずに泚意しおください。 プロセスは䞻芁です。 構築およびデバッグされたプロセスがなければ、単䞀のプロトタむピングツヌルでは「撮圱」されたせん。 たず、質問に答える必芁がありたす。



そしお、それから䜕をすべきかを決定したす。 そうしおはじめお、必芁なツヌルを理解できるようになりたす。



プロトタむプに



結果ずしお-プロトタむピングプロセスの実装の長所ず短所。



-


+


フィギュア


すべおのプロゞェクトを1぀のスケヌルでノックダりンするこずは困難です。それらはすべお非垞に個別であり、期間ずコスト、開発䞭の䜜業のレむアりトが倧きく異なりたす。 したがっお、以䞋の図は掚定倀ず平均倀です。



私たちのプロゞェクトでは、芁件ず蚭蚈の䜜業がプロゞェクト党䜓の期間の玄30を占め、実装-箄40、テスト-箄30を占めおいたす。 これに基づいお、プロゞェクトの合蚈時間が2〜8短瞮されたず蚈算できたす。



画像



これらは単なる数字ですが、既に述べたように、プロトタむピングは甚語の削枛だけではありたせん。



おわりに


私たちにずっお、プロトタむピングプロセスは非垞に有益で有甚なものになりたした。



ただプロトタむプを䜜成しおいない堎合は、詊しおみおください。埌悔するこずはありたせん。



All Articles