幞せの工業生産

私の蚘事は、人生からの䞀連の物語ず、それらからのいく぀かの結論になりたす。 今私を心配しおいる䞻な問題顧客ず開発者を幞せにする方法、そしお利益ずカルマは党䜓です。 具䜓的な最終レシピはありたせん。いく぀かのネガティブな䟋ず共有したい目暙がありたす。

私は2003幎䞻にWebアプリケヌションから開発を続けおおり、その前に4幎間、オムスク州立倧孊で数孊孊郚の1幎目のプログラミングの基瀎を教えおいたした。 珟時点では、私は自分の小さなアりト゜ヌシング䌚瀟の共同所有者の圹割で3幎目になりたした。 私の経隓に぀いお排他的に話す理由は2぀ありたす。比范できる3぀の異なるタむプの䌁業を蚪問したしたが、誰かの経隓を䌝えおも党䜓像がわからないず思いたす。



おそらく誰かのために私はこのようになりたす





実務経隓に぀いお


2003幎の終わりに、䞀方では、教育ず孊習の1぀のタスクでは業界の生掻の党䜓像が埗られない䞀方で、収益の問題が盎立したため、開発の真の実践に本圓に欠けおいるこずに気付きたした。 プログラミング教垫を人生から隔離する問題は、誰もが盎接知っおいたす。 これは、倧孊での研究は絶察に圹に立たず、ただ䜜業を始めなければならないずいうプログラマヌの認識の理由の1぀です。 私はこのトピックに぀いお長い間話すこずができるので、次のように蚀いたす。私はこの意芋に同意せず、議論を埌回しにしたす。 アカデミック教育ず業界のニヌズずのギャップを埋めるために、実際に経隓を積んでから、特定の知識を既に持っおいる倧孊に戻る必芁があるず決めたした。

これは、2009幎以降、オムスク州立倧孊で3〜5幎生向けの「珟代の゜フトりェア開発プラクティス」ずいう特別なコヌスを読んでおり、実際の仕事に必芁なスキルや、圌らは最初の仕事を探しおいたす。 具䜓的には、チヌムワヌク、開発プロセス、ツヌルバヌゞョン管理システム、自動アセンブリ、タスクトラッカヌ、継続的むンテグレヌションです。 高品質のコヌド、合理的なドキュメントずロギング、単䜓テストなどを曞くこずに倚くの泚意が払われたす。 コヌスの䞀環ずしお、孊生はJava、Python、RubyのさたざたなWebフレヌムワヌクを䜿甚しお、2〜3人でチヌムプロゞェクトを実斜したす。

そのため、2003幎にオムスク州立倧孊を蟞め、石油ずガスのパむプラむンの蚭蚈に携わるかなり成功した䌚瀟の゜フトりェア開発郚門に就職し、そこで瀟内䜜業の自動化に携わりたした。

圓時、オムスクでは最倧の玍皎者の䞀人でした。 さらに、内郚自動化甚の゜フトりェア開発のために2぀の倧きな郚門がありたした。 それらの1぀は、倖郚顧客向けの゜フトりェアであるTransneftも開発したした。 そこで私は、人事に焊点を圓おた内郚方針が䜕であるか、そしお䌚瀟を蚭立せずに、支配暩を取埗しお既存の䌚瀟に投資しただけの人々に支配暩を移転するこずで、それがすべお厩壊するこずを知りたした。 ディマルコずリスタヌの「ヒュヌマンファクタヌ」の本を読んだ埌、完党にやる気のない人が蟞め、やめなかった人がただ座っお考えおいるずいう状況に぀いお、涙を流しお笑いたした。私はただばかです、私も行っお終了し、青い炎で燃やしたす。」

2009幎、䌚瀟の基瀎である膚倧な数の優秀な蚭蚈スペシャリストず枬量士の退瀟を背景に、圓時は10人未満であった新生のアりト゜ヌシング䌚瀟で働くずいう申し出を受けたした。

私はそこで受け入れられた3番目の開発者でした。 開発者が3人しかいないこずにすぐに少し䞍安になりたしたが、スタッフには、れネラルディレクタヌずは別に、匁護士、マヌケティング担圓者、人事担圓者、䌚蚈士、プロゞェクトマネヌゞャヌがいたした。 残念なこずに、最終的にこのオフィスの悲しい歎史は、その存圚を通しおのポストの同様の分垃に倚く関連しおいるこずが刀明したした。





最も逞話的なのは、収益性がすでにfo地に立たされおいるずきにリ゜ヌスマネヌゞャヌを雇うこずでした。これにより、毎日無数の質問、私たちがしおいるこず、そしお突然私たちが圢成する30分を別のプロゞェクトに圹立おるこずができなくなりたした。 プログラマヌは、これが䜕に぀ながったのかを説明する必芁はないず思いたす。 これらの察策は無意味であるず経営者に説明するこずに成功したせんでした。

それにもかかわらず、倖囜の顧客ずのコミュニケヌションで非垞に興味深い経隓を埗たのは、友人のミハむル・ポドグルスキヌ kmmbvnr habrayuzer のおかげです。 、その埌、顧客が蚭定したタスクを解決するための1぀たたは別のアプロヌチの適甚性を評䟡するために、非垞に良いアむデアを持っおいたす。

2010幎、オムスクをはるかに超える悪名高い䌚瀟がcrash萜し、倒産したず宣蚀されたした。圓時私たちず䞀緒にいた顧客は、この状況に非垞に萜胆し、圌らず䞀緒に働いおいた開発者にオフィスなしで続行するよう䟝頌したした。 そのため、オムスクでは、この泚文で始たった私の珟圚の小さな䌚瀟を含め、いく぀かのフリヌランス協䌚が誕生したした。私たちは2011幎末たで働いおいたした。

私自身の䌚瀟の組織ず䞊行しお、私はロシアだけでなくペヌロッパでも最倧のアりト゜ヌシング䌚瀟に就職したした。

すべおがありたした倧芏暡な顧客、オムスク暙準による非垞に高い絊䞎、完党な゜ヌシャルパッケヌゞ。 私が働いおいたそのプロゞェクトで-平和で静か、あなたのために急いで、残業なし。 それどころか-自分自身で䜕をすべきかを自分で考えなければならないこずがよくありたした。 この状況は、次の図に最もよく瀺されおいたす。





パラドックスは、非垞に優秀なプログラマヌがかなり倚数いるずいうこずです。 私の意芋では、そのうちの1人はチヌムリヌダヌでしたが、私がこれたで䞀緒に働いた人の䞭で最高のものです。 そしお圌らは去りたせん。圌らは自分の䞻な仕事以倖にやるこずを芋぀けたす。 たずえば、圌らは垞に圌らに頌る初心者に倚くの貎重なアドバむスを䞎えたす。

しかし、以䞋で説明するかなり退屈なプロゞェクトを手に入れたので、そこでの仕事から感じる感芚はたすたす少なくなり、䌚瀟の経営ず自分の雇甚劎働を組み合わせるこずがたすたす困難になりたした。 そのため、2011幎1月にやっず蟞め、最終的に自分の䌚瀟だけを匕き受けるこずにしたした。

䌚瀟には私たちの倚くはいたせん。私ずむワン・ネミチェンコ habrayuzer nem を陀いお、マネヌゞャヌも、倖郚委蚗された䌚蚈士も、人的資源ずリ゜ヌス管理者もいたせん。 もちろんこれには長所ず短所がありたすが、今のずころはこのように生きおいたす。 Ivanず私は、コヌドの䜜成、Webアプリケヌションのアヌキテクチャの蚭蚈、むンタヌンシップの実斜、マネヌゞャヌずしおのプロゞェクトの管理、顧客ずのコミュニケヌションを行っおいたす。 これは次のようなものです倚くのツヌルを備えた写真はありたせんでしたが、残念です。





時々このように





さたざたなタむプのカスタム開発のアむデアを埗るこずができたずいう事実に加えお、私はスタヌトアップのたたり堎に参加したした、アむノァンず私はいく぀かのアむデアに取り組み、実際のコヌドを䜜成するこずに加えお、いく぀かのスタヌトアップを立ち䞊げようずしたした-これはすべお、ナヌザヌを促進および誘臎するこずでもありたすが、珟時点ではリ゜ヌスがありたせん。



問題に぀いお


私のチヌムず私は、モスクワ、ノボシビルスク、゚カテリンブルク、サマラでのさたざたなIT䌚議に定期的に参加しおいたす。 そしお最近、私は開発プロセスぞの䞀般的なアプロヌチ、技術の組み合わせのある皮の応甚などに぀いお話すスピヌカヌに絶えず尋ねたいずいう1぀の質問に苊しみ始めたした。 など「わかりたした、これはすべお玠晎らしいですが、顧客のためにどのような問題を解決したしたか」

codefest-2012マキシムTkachukの講挔者は、レポヌト「ハヌドロックデザむン」 codefest.ru/program/2012-03/hard-rock-designで締めくくった 。 圌のレポヌトがPM + HRセクションに発衚され、そこにいたすべおの開発者が圌の話を聞くようになったのではなく、䞻にマネヌゞャヌずデザむナヌが発衚したのは残念です。 そしお、圌は、もちろん、圌の鐘楌から、デザむナヌがプロゞェクトの䜜業プロセス党䜓に参加し、芁件の初期コレクションから始めお、積極的な立堎を取り、開発された補品の目的ずナヌザヌ消費者の聎衆を深く理解する必芁があるずいう事実に぀いお話したした。 圌は非垞に感情的に話し、問題が苊しんでいるず感じられ、これを理解しおいないデザむナヌに垞に察凊しなければならなかった。 そしお、私はホヌルに座っお、「デザむナヌ」ずいう蚀葉を「開発者」、「テスタヌ」などに粟神的に倉えたした。



実際、私が぀い最近策定した問題は、このように聞こえたすチヌムメンバヌの倧郚分は、顧客ずナヌザヌの問題を掘り䞋げたくないので、管理者ず顧客は、解決する問題の倚くの偎面に぀いおチヌムに通知する必芁があるずは考えおいたせん。

問題の症状は次のずおりです。

●ナヌザヌは、ナヌザヌの誘臎、資金調達、プレれンテヌションなどに関する問題に぀いおチヌムが知る矩務はなく、チヌムの仕事はコヌドを曞くこずであり、他の人々はビゞネス䞊の問題に぀いお頭痛の皮を抱えおいるべきだず顧客は信じおいる;

●プロゞェクトの亀枉の開始時、顧客は実際のチヌムメンバヌを知るよりもCMMIなどの正匏な蚌明曞を取埗するこずに関心があり、倚くの堎合、マネヌゞャヌずアナリストのみず通信するこずを奜みたす。

●開発者は次のように述べおいたす。「コヌドを曞きたいだけです。明確なタスクを䞎えおください。すべおを行いたす。 顧客の問題に぀いお、アナリストずマネヌゞャヌに頭痛を感じさせたす”“䌑暇䞭のテレパス”;

●チヌムは原則に埓っお行動したす。私たちは圌らが求めたずおりに行動し、支払いをしたすが、それは私たちには関係ありたせん。

●マネヌゞャヌは、䞻な仕事が臎呜的な退屈であり、酞性になるのを防ぐための特別な察策が必芁であるため、人生から離婚したクリヌチャヌを䜕らかの方法で楜したせる必芁があるクリヌチャヌず芋なしたす。

●開発者自身は䞻な仕事を退屈であるず考えおおり、モチベヌションを維持するために、サヌドパヌティのオヌプン゜ヌスプロゞェクトず小芏暡なスタヌトアップに埓事しおいたす。

●プロゞェクトの開発には膚倧なドキュメントが䌎いたすが、ほずんどの䞀般的な埓業員は補品の兞型的なナヌザヌを説明するこずができず、芋たこずもありたせん。

●さたざたな圹割の代衚者間のコミュニケヌションは、戊堎に䌌おいたす。

●あらゆる圹割の代衚者は、マネヌゞャヌの仕事やチヌム内の他の圹割の代衚者に䞍満があるこずをすぐに瀺すこずができたす。

●たず第䞀に、チヌムの各メンバヌは、他の誰かの責任を策定し、その埌で自分の名前を付けるこずができたす。

●チヌムメンバヌの最初の䞻芁なタスクは、他の人の故障に察する責任を過倧評䟡し、プッシュするこずにより、ある堎所をフラむパンで芆うこずです。



チヌムぞの圱響長期的に

●動機付けは重芁なポむントたで䜎䞋し、誰もタスクを可胜な限り最高にしようずしない。

●決定は「飛行しない」ずいう原則に基づいお行われたす。

●特に深刻な堎合、意思決定にはいく぀かの段階の曞類ぞの眲名が䌎いたす。

●コヌド、アヌキテクチャ、内郚プロセスを改善するむニシアチブは歓迎されたせん;ほずんどの堎合、むニシ゚ヌタヌは「もっず必芁ですか」ずいう質問を受け取りたす。

●最初の機䌚に、最も有望なチヌムメンバヌがプロゞェクトを倉曎したす。

●唯䞀の動機はお金ずキャリアです。十分な期間、チヌムは最も商業的な垂堎アナリスト、たたは安定した絊料ず18:00に垰宅する機䌚以倖に興味がない人々によっお集められたす。



内郚管理ぞの圱響

●タスクの実装を監芖するには特別な手段が必芁です。

●長い間、ほずんどのむニシアチブはチヌムを去りたす。

●期限に間に合わなかった堎合の責任は䞻にマネヌゞャヌにあり、故障を防ぐためにチヌムを動機付けるのはニンゞンずスティックだけで可胜です。



顧客管理ぞの圱響

●顧客は、過倧な期間ずスタッフの離職に察しお繰り返し過払いをしたす。

●補品の品質は玙の䞊でのみ優れおいたす。実際、コヌドずアヌキテクチャはひどいものになる可胜性があるため、顧客は䞍満足な品質を過剰に支払いたす。

●ナヌザヌが自発的に補品を遞択する幅広い人々である堎合、以䞋に説明する理由でナヌザヌ数を枛らすこずができたす。



゚ンドナヌザヌぞの圱響

●出挔者ず盎接接觊するこずはなく、迅速にフィヌドバックを提䟛する胜力もありたせん。

●ニヌズが完党に満たされおいるわけではありたせん;ほずんどの堎合、ナヌザヌは補品が暙準的な䜿甚法ずは皋遠いため、補品を䜿甚するために特別な蚓緎を受ける必芁がありたす。

●新しい機胜を远加するタスクを完了するための手順ず期限は、ナヌザヌのニヌズを満たしおいたせん。



人生の物語


䞊蚘を説明するために、開発者たたはマネヌゞャヌずしお䜜業しなければならなかったいく぀かのプロゞェクトに぀いお説明したす。

そのため、同瀟はトランクパむプラむンの蚭蚈に取り組んでいたす。 ゜フトりェア開発郚門には、゚コロゞヌ郚門向けの小さなプログラムを䜜成するタスクが䞎えられたした。 ゜ヌスデヌタ



郚門に぀いおもう少し





2Dグラフィックスの個別のラむブラリが、3D蚈画で䜜成されたしたOpenGLず、すでにダヌドにあるすべおのもの。 デヌタをメモリに栌玍する独自のcな構造が蚘述されおいたす-リンクリストず盎接アクセスのある構造の䞀皮の組み合わせ、぀たり 配列。 アクセスには、非垞に䜎レベルのアプロヌチが䜿甚されたす。ギブレットだけでなくAPIレベルでも、抜象化は䞀切行われたせん。 入力時にメモリ内のアドレスを受け取り、この開始に関するアドレス蚈算を䜿甚しおすべおのデヌタを取埗するグリッドが曞き蟌たれたす。 1バむト内のどこかにシフトするず、すべおが砎壊されたす。 ほずんどの叙事詩の名前は「myGrid」です。

若い戊闘機に-すなわち 私に-圌らは、ビルダヌの将来のプログラムのコンポヌネントずしおこれらすべおを䜿甚するこずを提案したす。これは、Excelsian蚈算の珟圚の動物園を眮き換えたす。 顧客-45歳以䞊の叔母䞊叞ず玄25人の少女通垞のパフォヌマヌ-関係のない郚分ずみなされる蚈算のカテゎリに専念し、圌らの芳点からは、開発は挞進的です-蚈算は1぀ず぀繰り返され、およそ同じ時間。

箄1か月間、私は正盎にBuilderですべおを行いたした。メガグリッドを介しお入力されたデヌタはメモリ内のメガ構造に萜ちたした。ディスクに保存されるず、バむナリファむルにそのたたドロップされ、ファむルからそのたたメモリに読み蟌たれるず単玔にドロップしたした。 しかし、私は反抗した。 圌女は郚門の長に、このタスクにはデヌタベヌスの䜿甚が公然ず関係しおいるこず、特に必芁なマルチナヌザヌモヌドを考慮しおいるこずを䌝えたした。 別の月の戊いず私は蚱可を埗たした。 圌らはJava + Oracleで䌁業情報システムCISを䜜成しようずしおおり、私はこのCISの䞀郚ずしおシステムを䜜成する機䌚を埗たした。

タスクに突入すればするほど、蚈算は盞互に関連しおいるだけでなく、ほずんどの堎合、それらのデヌタはさたざたな芏範曞や参考曞にあるか、他の郚門の埓業員からのものであるこずに気付きたした。 どんな皮類のシステム生態孊者が本圓に必芁であるかに぀いおの理解があり、それは圌らが説明したものに少し䌌おいたした。 私は圌らの郚眲にこだわっお、䞎えられた蚈算の枠組みをはるかに超えた質問をしたした。その結果、埐々に研究所党䜓の仕組みを掘り䞋げたした。

私は圌らが本圓に求めおいたよりもはるかに倚くのこずを圌らが本圓に必芁ずしおいたが、最初に想定されおいたよりもずっず倚くの時間がかかった。 最初のバヌゞョンでは6か月、残りの郚分では基本的な蚈算、2.5幎で完了したす。 この間、最初の1か月から2か月で目に芋える結果がなかったこずで解雇されそうになりたした正確には芚えおいたせん。たた、郚門長や圓時のITディレクタヌずの関係は、プログラマヌではなくデザむン゚ンゞニアからのものだったため、かなり損なわれたした。

それから私は䞊叞の敷居を匵り始め、自動化のプロセスを開始し、研究ず蚭蚈の党プロセスのモデルを構築しようずしたした。プロゞェクトのデゞタルモデルのレベルで。 CIS郚門もありたしたが、テキストドキュメントの皮類に関心があり、図面は通垞のバむナリファむルず芋なされおいたした。 私にずっお、䞻なものはモデルであり、すべおの図面ずテキスト文曞は、モデルを持っおい぀でも䜜成できる単なるレポヌトでした。

その結果、このグロヌバルなシステムは官僚的および経枈的な理由のために決しお珟れなかったので、蟞めたした。 ちなみに、このプロセスのピヌス単䜍の自動化は他の蚭蚈機関で利甚できたす。IT䌁業の1぀は、それに぀いおの最埌の知識2010幎でカバヌした商甚補品で収益を䞊げおいたす。 内郚でモデルを䜿甚する枬量䜜業枬地孊、地質孊などをカバヌするいく぀かの補品があり、AutoCAD圢匏の図面はレポヌトずしお受信されたす。 しかし、残念ながら、パむプラむンの蚭蚈には継続性がありたせん。



タスクに戻りたしょう。 すべおが正しく行われたようです。ナヌザヌは、期埅以䞊にニヌズに合った補品を受け取りたした。 しかし。 圌らは望んでいたよりもずっず埌でそれを手に入れたした。 圌らにずっおはどうでしたか ルヌチンの時間の倧きな損倱、およびその結果、䜙分な幎の残業。



どのような間違いが行われたか

1.䞊叞の調査およびExcelファむルの調査による芁件の収集。

2.その時点で開発者がほずんど研究しおいなかった開発技術の遞択。これにより、最初のバヌゞョンの登堎が遅れたした。

3.システムの最初のバヌゞョンを即座にメガナニバヌサルにする詊み。

これらすべおの゚ラヌの䞖界的な原因は、私が目暙に倢䞭になりすぎお、顧客の目暙を忘れおいたこずです。 私は新しいテクノロゞヌを研究しながら、優れた普遍的なシステムを䜜りたかったのです。 そしお、顧客は蚈算を実行しお時間通りに垰宅する時間を短瞮したかっただけです。



理想的な球状の珟像剀は真空で䜕をすべきでしたか

1.しばらく郚門を完党に浞すこずによっおビゞネスドメむンを研究するこずから始めお、郚門の普通の埓業員の基本的な面倒な䜜業を実行するたでの内郚からのすべおのプロセスを研究したす。

2. 1週間以内に、最倧2぀、Visual Basicでいく぀かのマクロを蚘述したす。これにより、䞀郚の蚈算結果を他の゜ヌスデヌタずしお䜿甚できるようになりたす。たた、Excelで最も頻繁に䜿甚されるディレクトリをデゞタル化したす。

3.すでに郚分的に満足しおいる顧客を近くに眮いお、実際のシステムを冷静に開発し、すべおのゞャッキヌず䞻芁なリスクをすでに理解したす。これにより、開発プロセスも3分の1以䞊加速したす。

䞀芋したずころ、この䟋は䞊蚘の問題ず症状に適合しおいたせん。 䞀芋したずころ、そうです。 顧客の問題を調査し、可胜な限り最善の方法で問題を解決しようずする開発者が非垞に動機付けられおいたためマクロの初期゚ラヌ、より正確には、それらの䞍圚を陀く。 問題は、呚りにいた他の党員が䌚瀟の党䜓的な状況を改善しようずする動機がたったくなかったこずです。 問題は、私が定期的に聞いた他の誰よりも本圓に必芁なのかどうかです。 そしお、ある時点で、忍耐力が切れたした。



このストヌリヌ党䜓の結論は䜕ですか

1.ナヌザヌは盎接知っおいる必芁がありたす。 そしお、マネヌゞャヌずビゞネスアナリストだけでなく、チヌム党䜓です。

2.機胜芁件およびむンタヌフェむス芁件を䜜成するプロセスでは、チヌム党䜓が最倧限に参加する必芁がありたす。

これらの条件が存圚するこずで、チヌムは創造的である機䌚を埗るこずができ、ナヌザヌずそのタスクを個人的に知るこずで、これらの問題を最適に解決できたす。 ナヌザヌが抜象的で非人栌的であるずき、誰も圌の魂を圌の補品に入れたせん。

しかし、実際のナヌザヌにアクセスできない堎合はどうすればよいでしょうか ラバヌナヌザヌを持぀こずができたす。 もちろん冗談です。 このため、ナヌザヌのポヌトレヌトを開発するための特別なプラクティスが開発されたした。 チヌムは、名前、幎霢、職業、習慣、さらには補品を䜿甚する際に生じる恐れ、およびこの補品が圌らにもたらす恩恵を持぀人物の本圓の肖像を䜜成したす。 ゲヌムの瞬間、ゞョヌク、内郚ミヌムがありたす。 緎習はScrumtrek AgileCampトレヌニングでかなりよく珟れたす。



ナヌザヌずのミヌティングず特定のニヌズの調査に぀いおは、さらに2぀のケヌスを挙げたす。 ぀い最近、私たちは顧客のオフィスに座っお、将来のシステムのラむブナヌザヌずチャットする機䌚がありたした。 そしお、むンタヌフェヌスの女の子デザむナヌはこのフレヌズを数回繰り返したした。「ああ、たあ、このようなナヌザヌず話すのはなんおクヌルなんだ」 通垞、それが誰であり、最終的にどのように補品を䜿甚するかはわかりたせん。」

実際、顧客の経営陣ず連絡を取りながら、考えられるすべおのセクションの図ず芁玄デヌタを衚瀺でき、ナヌザヌが珟圚䜜業しおいる倧きなExcelを倚少思い出させる超普遍的な分析システムの䜜成を提案したした。チャヌトテヌブル付き。 たたたたモスクワに飛んで、すでに決たった芁件に぀いお話し合い、合意に眲名するために集たりたした。 2぀の問題がありたした私たちの偎では、タむミングの明確な理解の欠劂、いく぀かの普遍的なものは評䟡するのがより困難であるため、芁件はより曖昧であり、ナヌザヌむンタヌフェヌスを開発するチヌムの偎では、ほずんどのナヌザヌはこの普遍的なむンタヌフェヌスを必芁ずせず、理解しないずいう感じです

圓初から、゚ンドナヌザヌを招埅し、ステッカヌずマヌカヌを付けお黒板に立ち、ストヌリヌマッピングを実行するこずを提案しおいたしたもう䞀床、ScrumtrekのAgileCampを参照したす。 これはうたくいきたせんでしたが、それでもナヌザヌを招埅し、各ナヌザヌず話をしお、圌の䞻なゞャッキヌずシステムの䜿甚に察する期埅を理解しようずしたした。 その結果、超汎甚性は浅く、最も重芁な機胜の80をカバヌするいく぀かの透明なゞャスキヌを受け取りたした。 これにより、䜜業プロトタむプをより迅速にリリヌスするこずが可胜になり、既にビゞネスに利益をもたらしたす。

最近、他の顧客でも同様の話がありたした。 圌は優れたプログラマヌであり、ある時点からテクニカルディレクタヌになりたした。 したがっお、圌は実際にはビゞネスタスクではなく、特定のアヌキテクチャ゜リュヌションを提案したした。 圌は再び、すべおを行う超普遍的で超モゞュラヌなシステムを私たちから埗ようずしたした。 実際に具䜓的なケヌスを匕き出すこずはできず、゚ンドナヌザヌにも提瀺されたせんでした。

半幎前、圌はオムスクにいたした。私たちは半日、無駄のないキャンバスの䜜成ずストヌリヌマッピングを行いたした。 その結果、最初のプロトタむプに特定のケヌスを遞択し、最初の数回の反埩ですべおがほが完璧に進むように芋えたした。 しかし、ある時点で、組織、ゞオロケヌションなどのディレクトリを䜜成するために、ストヌリヌマッピングのヒントさえもなかった予期しない芁求が突然到着したした。 チヌムは理由を尋ねたせんでした-そしお、顧客はそれを説明する必芁があるずは考えたせんでした。 さらに2週間埌、顧客が緊急の重芁なむベントに盎面しおいるこずが明らかになりたした。そのためには、準備する補品が必芁でした。 時間内にシステムをデヌタで満たすためにナヌザヌを事前に配眮したかったのですが、事前に譊告しおいなかったため、システムはナヌザヌが珟時点で必芁なuscaseを正確に凊理する準備ができおいたせんでした。



これらの2぀のストヌリヌからの結論は䜕ですか

1.ナヌザヌを盎接知るだけでなく、ナヌザヌのニヌズの80をカバヌし、そもそも実珟すべきシステムを䜿甚するための最も重芁なオプションに関する情報を取埗する必芁もありたす。

2.顧客偎の技術管理の圱響を可胜な限り制限するこずをお勧めしたす。補品の目暙を最倧限に理解するために、ビゞネスおよび゚ンドナヌザヌの人々ずのコミュニケヌションを䞻匵したす。

3.スケゞュヌルされたデモンストレヌションやその他の重芁なむベントのタむミングに぀いおは、自分で考えない堎合があるため、顧客に質問する必芁がありたす。補品が展瀺に䜿甚されるむベントの日付は、゚ンドナヌザヌによるアルファテストのために1週間たたは2週間前に眮かれる必芁がある堎合があるこずを理解するこずが重芁です。

蚭蚈研究所のすぐ埌、私は愚かな倒産した小さなアりト゜ヌシング䌚瀟で働きたした。そこではマネヌゞャヌず私が共同で最初の仕事をしたした。このシステムは、監芖カメラからのビデオストリヌムを2぀のモヌドオンラむンず録画でストリヌミングしお蚘録し、カメラの蚭定を構成するWeb管理パネル、録画したビデオのストレヌゞシステム、むベントに関するさたざたな通知の2぀の郚分で構成されたした。



マネヌゞャヌは、ビデオ録画ずストリヌミングずいう倧きな技術的リスクがあるこずを知っおいたした。開発者が1か月以内にメむンカメラの圢匏を調査し、ビデオストリヌムを蚘録する可胜性を顧客に瀺すために消化しやすいものを曞く時間がないずいう深刻な懞念がありたした。したがっお、圌は私がすぐに顧客の目をがやけさせるために䜿甚できる管理パネルをリベットし、コメントず垌望に倢䞭になり、しばらくの間ビデオを忘れお、2番目の開発者に操䜜する時間を䞎えるこずを望んでいたした。

ただし、これらの考慮事項はすべおマネヌゞャヌの心の䞭にありたした。開発者は期限を芋お-3か月-特に心配しおいたせんでした。私たちは実際にはお客様ず個人的にコミュニケヌションを取りたせんでした;マネヌゞャヌはこれに埓事しおいたした。情報はすでに泚文の圢で私たちに届きたしたが、私たちはそれを䞻匵し、いく぀かの堎所でそれを独自の方法で行い、マネヌゞャヌが蚭定した期限を遅らせたした。私たちは確実に完党な期限もちろんプラスたたはマむナスを満たしたす。しかし、私ず2人目の開発者の䞡方が顧客をあたり気にせずに目暙を远求したため、玄束された月の埌、䜜業システムはありたせんでした。したがっお、私は2぀の鳥を1぀の石で殺すための新しいフレヌムワヌクを開発するこずにしたした。マネヌゞャヌはこの問題を止めたせんでしたが、圌は私が研究の締め切りに間に合う時間がないず疑っおいたした。

その結果、顧客の目にはマネヌゞャヌず䌚瀟党䜓の暩限が倧きく揺れ、コミュニケヌションの䞭断が始たり、最初の金融トランシェは延期されたした。

問題は、適切な開発プロセスの欠劂であるず蚀えたす。それはスクラムであり、幞犏が来るでしょう。ただし、ここでのポむントは、プロセス自䜓たたはその䞍圚ではなく、受け入れ基準を䜿甚しお説明されたスコヌプを繰り返したしたが、事実は、お客様の問題を䞀緒に解決しなかったこずです。玍期の倉曎により顧客が倱った利益に぀いお頭痛の皮は絶察にありたせんでした。

環境保護䞻矩者ずの以前の経隓を考えるず、私は絶察に刺激を受けお、マネヌゞャヌではなく顧客である方向に向かっお考えたす。マネヌゞャヌはテストするプロトタむプを立ち䞊げるよりも、フラむパンでロむンを芆うこずに興味があるので、障害のある商業利甚も可胜です。しかし-圌は適切にファむルしなかったし、私は十分な奜奇心を瀺したせんでした。圓時の技術的特城を備えた新しいフレヌムワヌクは、私にもっず興味を持ちたした。圌の遞択も最終的には倱敗し、研究は容認できないほど長い時間がかかった。このタスクでは、動的蚀語の1぀ずDjangoやRailsなどのフレヌムワヌクを遞択できたす。



この物語からの結論は䜕ですか

1.チヌムは、顧客のビゞネスのすべおのリスクず問題を認識しおいる必芁がありたす圌がなぜそれを立ち䞊げるべきなのか、たさにその時に、どのような機胜がプロトタむプに適しおいるのか。

2.チヌムは、自瀟の動機を認識しおいる必芁がありたす評刀、ポヌトフォリオ、たたは経枈的幞犏のためのプロゞェクトの重芁性。

3.技術的な゜リュヌションを議論しお遞択するずき、たず技術的な管理はビゞネス䞊の問題に導かれ、顧客に察しお新しいフレヌムワヌクを実践するこずは非人道的であるこずを開発者に説明する必芁がありたす。それにもかかわらず、開発者が新しいこずを孊ぶこずに興味を倱わないように、新しいテクノロゞヌを適甚する機䌚を䞎える必芁がありたすが、内郚プロゞェクトやオヌプン゜ヌス開発のための時間を䞎える必芁がありたす。

これにより、開発者は顧客ずマネヌゞャヌの䞡方を率盎に無芖するこずができなくなるずいう事実に぀ながりたす。ポヌトフォリオ内のプロゞェクトは、䌁業ず特定の開発者の䞡方の財務状況の改善の可胜性は蚀うたでもなく、誇りの理由です。



小さなアりト゜ヌシング䌚瀟の砎産の2週間前に、私は倧芏暡なアりト゜ヌシング䌚瀟の支店で働きに行きたした。

面癜かったです。垂内の非垞に尊敬されおいる䌚瀟のニヌズに察しお自分のスキルをチェックするために、私は奜奇心からちょうど面接に来たした。そしお、むンタビュアヌに完党に魅了されたした。私たちは圌ずさたざたな技術的な問題に぀いお非垞にうたく話をしたした。圌はずおもクヌルで、圌から倚くを孊べるこずに気付きたした。結局のずころ、圌はヘッドハンタヌが積極的に誘惑し始めるのに十分なほど高く評䟡しおくれたした。最終決定は、私のむンタビュアヌが私が参加する開発チヌムのチヌムリヌダヌになるずいう事実に圱響されたした。

私は正盎に支店長ずマネヌゞャヌに自分の小さなチヌムがあるこずを譊告したした。それは䞊行しお察凊し、同意を埗おチヌムに参加し始めたした。 45人のプロゞェクトチヌムのうち、開発者の3分の1に満たない人は、私を少し驚かせたした。この堎合、アヌキテクト、プロゞェクトマネヌゞャヌ、プログラムマネヌゞャヌなど、各チヌムには独自のリヌダヌがいたす。

プロゞェクトは長い肝臓であるこずが刀明したした。 Fortranで30幎間存圚しおいたしたが、2000-2001幎に曞き盎され、Java + OracleのWebプロゞェクトになりたした。同時に、むンタヌフェヌスの倖芳は完党に維持されたした。ナヌザヌが慣れおいるからではなく、システムの本質ずデヌタ入力甚のこれらすべおの画面の意味を完党に理解しおいる開発者は䞀人もいないからです。瀟内にプロゞェクトが存圚する間に、100人以䞊の開発者がプロ​​ゞェクトを眮き換えたした。私が知らないテスタヌずアナリストの数です。その結果、私が入瀟したチヌムには、システムを完党に理解する人は䞀人もいたせんでした。わかりにくい甚語を喜んで私に济びせたアナリストでさえ、ナヌザヌの目暙ずニヌズに関する質問のほずんどに答えるこずができたせんでした。

このすべおが、パッチを適甚する方法によっお開発が行われたずいう事実に぀ながりたした。アナリストやテスタヌに​​よっお䜜成されたシステム䞊のドキュメントは、倚くの堎合、コヌドの珟圚の状態に察応しおいたせんでした。いく぀かのナヌザヌストヌリヌによるず、顧客ず開発チヌムは同じ機胜の2぀の異なる写真を持っおいたした。

䞊蚘の私が発した症状のほずんどを芳察したのは、このプロゞェクトでした。ビゞネスドメむンを理解したいずいう私の願いは、䞍可解でした。結局のずころ、小さなタスクを実行するこずは、それが関係しおいないず思われるずいう事実を掘り䞋げるこずなく、はるかに簡単です。私を悩たせたのは、䜿いやすさの芳点から、このシステムが今たで芋た䞭で最悪の䟋だずいうこずでした。それを䜿甚するナヌザヌトレヌニングの時間は膚倧でした。ナヌザヌは膚倧な数の有効なパラメヌタヌ倀ずそれらの組み合わせを芚えるこずを䜙儀なくされたした。システムはヒントを䞎えず、巚倧なフォヌム怜蚌でさえ「゚ラヌ」ずいうメッセヌゞだけを衚瀺するこずが倚く、入力されたデヌタをすべお消去しおペヌゞをオヌバヌロヌドした埌、䞍運なナヌザヌが入力を䜙儀なくされたためですもう䞀床。

同時に、䞻にプロゞェクトに携わった人々は技術的に非垞に有胜であり、䜿甚枈みおよび関連技術の膚倧な数の埮劙さに粟通しおいた。それにもかかわらず、倚くの人の目には憧れがありたした。垂のほが最高の開発者を集めた䌚瀟は、これらのリ゜ヌスを非垞に奇劙に凊分したした。小さな開発チヌムず文字通り1-2人のテスタヌが定数モヌドで残業したプロゞェクトがありたしたが、テストのためにコヌドが䞎えられたずきに䜕をすべきかわからず、次の反埩がただ始たっおいなかったので、隅々たでさたよいたした。しかし、䌚議のプログラムマネヌゞャヌは、緊急に必芁な人に配絊するのではなく、人々を遠ざけるために最善を尜くしたした。瀟内に座っおいる倚くの開発者が、フリヌランスで皌ぎ、1日の倧半をそれに費やしたした。

その結果、数人のかなり積極的な埓業員が退職し、最終的には郜垂の動的に発展する䌁業で指導的地䜍に就いたか、退職したした。前の䌚瀟でアむデアを実装する準備はできおいたしたが、これらのむニシアチブは経営陣の泚意を匕くこずなく残されたした。なぜなら、高床な管理では、゚ンドナヌザヌの問題、さらには開発チヌムの内郚問題さえも芋えなくなったからです。



私にずっおは、次の結論を出したした。この堎合、倧きな階局構造で完党に快適に感じる人が非垞に倚いため、この堎合は非垞に物議を醞しおいたす。

1.このような構造では、責任を負わず、「安定性」を重芖する倚くの人々が重芁になりたす。これは、チェッカヌを䜿甚しお新しいプロゞェクトをすばやくブレむンストヌミングする必芁があるたれな瞬間に、このタむプのアクティビティの準備ができおいないずいう事実に぀ながりたす。したがっお、そのような䌁業にもたらされるプロゞェクトは、すでに開発䞭のプロゞェクトず同じくらい退屈で長期にわたるものです。

2.それにもかかわらず、異なるタむプのプロゞェクトが挏れた堎合、最初はすべおが楜しくお面癜いように芋えたす。ほずんどの堎合、そこにいる開発者は、他のプロゞェクトから逃れた新しく到着した埓業員たたは情熱家です。しかし、垞に廊䞋でチャットしたり、キッチンでお茶をしたりする他のプロゞェクトの半眠りのチヌムの近く、たたは明らかに営業時間䞭に釣りに行く人は、私が非垞に玠早く疑問に思いたす-なぜ倚くの人々がほずんど無料で支払われおいるのか自由時間がたくさんありたす。これにより、モチベヌションがかなり早く䜎䞋したす。さらに、絊䞎ず昇進の芋蟌みだけが人々を保持し始めたす。ただし、倚くの人は最終的にスタヌトアップ、小芏暡だが楜しいチヌム、たたはフリヌランスに行きたす。

3.いく぀かのレベルの管理階局を持たない小さなチヌムのプログラマヌ人口の1人あたりの幞犏の割合は、はるかに高くなっおいたす。個人的には、このようなチヌムにはもっず感銘を受けたした。燃えるような目を持぀人々の間でいるこずがはるかにいいです。したがっお、䞊蚘の皮類のチヌムずプロゞェクトを1぀の䌁業内で組み合わせるこずはお勧めしたせん。

4.小芏暡チヌムでの顧客の芁望に察する反応率が高くなり、顧客の幞犏床が向䞊したす。すべおの顧客がただ「チャンスを埗る」準備ができおいるわけではなく、小さいながらも誇りに思うアりト゜ヌサヌを雇いたす。しかし、それらは私たちの幞せのためです。



幞せの愛の匏


私ずパヌトナヌにずっお、それは次のコンポヌネントで構成されおいたす。

•ナヌザヌが非垞に重芁な問題を解決できるように䞻に蚭蚈された補品を開発し、利益を䞊げるこずは副䜜甚です。理想的には、補品は䜙暇に無料でやりたいず思うほど興味深いものでなければなりたせん。したがっお、お金のためにそれに取り組む胜力は、チヌムにずっお本圓の幞犏です。理想的には、補品はあなた自身のものです。

•小芏暡ですが、非垞に高いレベルのスキルチヌムで、䜙分な人がいないだけです。各愛奜家ず䌝道者は、メむンの仕事に加えお、積極的に自己啓発に埓事し、教育ブログを維持し、興味深いオヌプン゜ヌスプロゞェクトに貢献し、たたは自分で䜜りたす。

•チヌムは顧客のビゞネスや゚ンドナヌザヌの問題を掘り䞋げ、圌らが圌らず同じ蚀語を話し、ビゞネス䟡倀の芳点から補品を芋るこずができるようにし、すべおのプロセスず技術的゜リュヌションをビゞネス/ナヌザヌのニヌズに適合させたす。

•顧客は非垞に適切であるため、技術およびプロセス゜リュヌションの遞択においおチヌムを信頌し、指定された予算内でビゞネスニヌズを満たす方法を決定できるようにしたす。

•さたざたなテストの展開や実行などの倚数の日垞的な操䜜が非垞に自動化されおいるため、チヌムは脳のアプリケヌションを必芁ずする本圓に興味深く耇雑な䜜業に十分な時間を割くこずができたす。

•チヌムには、犬に関する仮説をテストする時間がありたす。プロトタむプを䜜成し、開発の各段階の終わりにデブリヌフィングを行い、成功したか倱敗した決定の経隓を瀟内および瀟倖のチヌムず、たずえば䌚議で亀換したす。比范分析ず最終的に最も成功したものの遞択の可胜性を備えたいく぀かの゜リュヌションの䞊行開発を行うこずが可胜である堎合-これは䞀般的におずぎ話です。



「ありがずう、キャップ」スタむルの玠敵なコレクション実際、私たちにずっおこれはただ理想であり、私たちは党力を尜くしお努力しおいたす。私はここで究極の真実を装うわけではありたせん。利益に関しお、蚀及された項目のいずれも持たない倚くの成功した䌁業がありたす。たたは、それらの1぀たたは2぀のビット。しかし、私は利益を最倧化するこずではなく、たったく異なるこずに぀いお話しおいるこずを匷調したいず思いたす。これは䞻に哲孊的な瞬間です。お金だけでは本圓に必芁ありたせん。無人島のお金の袋は圹に立たない。人は幞犏感を必芁ずしたすが、それは決しおお金そのものではありたせん。

実際、䌚議ずこの蚘事での私のスピヌチの目的は、ビゞネスず開発チヌムの間の盞互䜜甚の偎面、この盞互䜜甚における誀解ず䞍信の問題の関連性を同僚ず議論するこずです。したがっお、たず第䞀に、読者に質問する準備ができおいたす-私が話しおいたこずはあなたに関連しおいたすかこれらのトピックをより詳现に議論したいですか



質問は怠idleではありたせん。私たちは、ここ数幎出垭した䌚議ずは少し異なる原則に基づいお䌚議を開催したす。特に、゚カテリンブルクのdump.it、ノボシビルスクのコヌドフェスト、モスクワのdevconf、アゞャむルデむズ、アゞャむルキャンプ。䌚議は9月29日に予定されおいたす。

アむデアは、レポヌトをチヌムの専門分野開発者、テスタヌ、デザむナヌ、マネヌゞャヌに埓っおではなく、䜿甚されおいるテクノロゞヌに埓っおではなくセクションに分割するこずです。各セクションの耇合斜蚭の特定のケヌスを怜蚎し、ビゞネスタスクのタむプに応じおセクションで人々を結び付けたいず思いたす。䌁業、銀行、その他の倧䌁業で働く人々は、投資ラりンドを埗るため、たたは仮説をテストし、KPIを枬定するためにプロトタむプを迅速に䜜成する必芁がある限られた予算の新興䌁業を聞くこずに興味がありたせん。開発プロセスを敎理し、解決する問題のニヌズに基づいお技術的゜リュヌションを遞択するためのアプロヌチを共有しおもらいたいず思いたす。

読んでくれお時間を割いおくれたみんなに感謝したす。このトピックに関するトリッキヌな質問やアドバむスがあれば嬉しいです。



All Articles