チヌムの䞀郚、船の䞀郚

むンタヌネットバンキングの凊理は、マネヌゞャヌや副瀟長の明るい頭脳だけでなく、開発者の奜奇心mind盛な頭脳でも、長い間醞造されおきたした。



Ekubyshin Tinkoff Bank Webむンタビュヌ開発郚長は、この倧芏暡プロゞェクトがどのように構築され、機胜したかを共有するこずを決定したした。

準備する


2014幎2月にポヌタルの再蚭蚈に取り組んでいる間、新しいむンタヌネットバンクの今埌の開発に関する噂がオフィスを回りたした。 幎の初めには、補品の品質を損なうこずなく、非垞に倧量の䜜業を行う必芁があり、短時間で行う必芁があるこずは明らかでした。ご存じのように、開発速床は品質の盎接的な敵です。

したがっお、生の補品を生産せず、週末ず倕方に凊理せず、チヌム党䜓を地獄に远いやるには、タスクが策定されるずっず前に開発蚈画を考え出す必芁があり、たた、新しいむンタヌネット銀行がどのようなものであり、どのように高速化するかを理解する必芁がありたした技術甚語での開発。

明らかに、䜜業の䞀郚は、問題の蚘述や蚭蚈の準備のタむミングから完党に独立しおいたす。

次のプロゞェクト、私たちがすでに始められるこず、そしおプロトタむプレベルで今埌の倉曎を䜕気なく芋た埌、圓初考えられおいたよりも倚くの䜜業があるこずが明らかになりたした。

その結果、トレヌニング前の状況は次のようになりたした。

1.アヌキテクチャに取り組み、プロゞェクト党䜓をリヌドするテクニカルリヌドの遞択。
2.チヌムずそのスタッフの遞択。
3.プロゞェクトのアヌキテクチャの研究。
4.テクノロゞヌ、フレヌムワヌク、ツヌルの遞択。
5.蚭蚈なしで機胜するプロトタむプを構築したす。

チヌムは成功の鍵


プロゞェクトの開発ず立ち䞊げを成功させるための最も重芁で決定的な条件は、それに取り組む優秀なチヌムです。

明らかに、新しいむンタヌネットバンキングの開発に加えお、サポヌトおよび開発が必芁なプロゞェクトが他にもあるため、開発者のリ゜ヌスの䞀郚は無料のたたにする必芁がありたした。

経営陣は远加の開発者の採甚を承認したしたが、それなしではチヌムの人員䞍足はありたせんでした。 最初にするこずは、玠晎らしい技術を芋぀けるこずでした。 チヌムの他のすべおのメンバヌをリヌドし、同僚が連携するプロゞェクトのフレヌムワヌクを開発するリヌド。

開発者、特にフロント゚ンドは、銀行で働くこずは面癜くないずいう誀った先入芳を持っおいるため、技術的なリヌダヌ、そしお実際に銀行で技術的に高床な開発者を芋぀けるこずは非垞に困難です。 そのため、NodeJSやAngularJSなどのクヌルなキヌワヌドで満たされた矎しい欠員は遞択にずっお重芁です。たた、有名な「レゞュメポヌタル」の倖で膚倧な数の履歎曞から遞択し、むンタヌネットで怜玢するには、倚くの忍耐ず忍耐が必芁です。 毎日、Tinkoff HR郚門は、開発者を芋぀けるずいう玠晎らしい仕事をし、顧客の気たぐれをすべお実珟したした。

簡単に蚀うず、技術的な先導者を芋぀けるのは非垞に困難であり、平凡な運ず月の䜍盞の䞀臎がなければ䞍可胜でした。 そしお奇跡が起こりたした-私はかなり匷い開発者に興味を持ちたした。

その埌、事態は順調に進み、チヌムのスタッフがかなり䞍足したした。明らかに、応募者の掻動期間ず新しいポヌタルデザむンの立ち䞊げです。 その結果、私たちは非垞に匷力な専門家チヌムを線成するこずができたした。圌らには、英雄的で困難な仕事に感謝しおいたす。

アヌキテクチャなど


テクニカルリヌドを芋぀けたら、アヌキテクチャを研究し、䜿甚するテクノロゞヌずツヌルの分析を開始したす。

最も困難なこずは、できるだけ倚くのタスクをできるだけ早くリリヌスしたいマネヌゞャヌに、珟圚のプロゞェクトをサポヌトするためにスプリントから1人たたは2人の開発者を取埗し、「プロゞェクトアヌキテクチャ」ず呌ばれる䞍明瞭な魔法で䜜業を開始する必芁があるこずを蚌明するこずです。起動されたす。

段階的にこれを行うこずができたした。最初は各開発者の50だけを匕き出し、それから既にアルファ男性を「SO NECESSARY」ず蚀い、必芁な開発者を100匕き出したした。

そしお、私たちは䜕をしたしたか そしお、以䞋に぀いお。

さたざたなフレヌムワヌク、それらの機胜ず機胜、あらゆる皮類のホリバヌずdoリストに含たれるゲヌムの分析に1〜2週間を費やしたした。 BackboneJS、EmberJSを䜿甚しお私たちの経隓を分析し、新しいプロゞェクトを芋぀け出し、倚くの理由でそれらが適切でないこずを認識したした。 BEMたたはSMACSS、LESSたたはStylusなど、より優れおいるず考えられるさたざたなコレクタヌでプレむしたした。 䞀般に、圌らは実質的に䜕も吊定したせんでしたが、同時にあたり時間がないので、圌らは深く行かないようにしたした。

すべおの怜玢の埌、AngularJSに決めたした。倚くの利点がありたした。

1.双方向のデヌタバむンディング。
2.「ボックス化」゜リュヌションで既補の束サヌビス、キャッシング、䟝存性泚入、ルヌティング、ディレクティブずフィルタヌの非垞に䟿利な構文。
3.新しい開発者を非垞に適切か぀迅速に採甚できる新しい興味深いフレヌムワヌク。
4.新しいフレヌムワヌクのプロゞェクトにおける開発者の関心。
5.かなり迅速か぀簡単な入力。これは私たちにずっお非垞に重芁でした。

AngularJSは耇雑たたは理解できないずは思われず、開発者が慣れるのに必芁なものはすべお公匏Webサむトにあり、それから詊行錯誀を繰り返したした。
このすべおを行っおいる間に、新しいむンタヌネットバンキングの非垞に遠いプロトタむプが間に合いたした。

次に、リヌダヌは新しいプロゞェクトのプラットフォヌムの開発を開始したした。

䜜業のこの郚分は以䞋で構成されおいたした。

1.モゞュヌルのアヌキテクチャの研究初期化、レンダリング、構成。
2.ペヌゞのルヌティングずレンダリング。
3.テストスタンドぞのプロゞェクトの組み立おず展開。
4.キャッシュおよび怜蚌機胜を備えたAPIを䜿甚するサヌビスをリク゚ストしたす。

同時に、圌らは秘密のプロゞェクトプラットフォヌムを準備するためにNodeJS + Express + MongoDBを詊し始めたした。

その結果、次のテクノロゞヌスタックが埗られたす。

1. AngularJS
2. RequireJS
3. BEMただし、呜名のみ、bemtoolsなし
4.少ない
5.ガルプ

新しいIBの堎合、nginxがindex.htmlにアセンブリずすべおの静的を提䟛するだけで十分であり、他のすべおはブラりザの肩に残りたす。

出力は、AngularJS Bootstrapのようなプラットフォヌムであり、その䞊でSPAアプリケヌションを構築できたす。 誰が知っおいるか、GitHubにコヌドを投皿するかもしれたせん。

そしお、これが最初のデザむンです


プロトタむプの準備が完了したら、原則ずしお、蚭蚈が到着したした。

次は すぐに完成しお完成したコヌドを取埗するには いや 今では、ロヌンチず開発の蚈画、ガントチャヌトYou-Know-Who向けを䜜成し、新しいむンタヌネットバンクを䜜成するず、蚭蚈ず機胜だけでなく、技術的にも完党に新しいものになるこずを蚌明する必芁がありたした。

銀行セクタヌは非垞に攻撃的で速い垂堎であり、激しい競争に盎面しお、すべおをかなり迅速に行う必芁がありたす。 そしお、ここで決定的な圹割は時間によっお果たされたす-補品がい぀、どのような圢で垂堎にリリヌスされるか。

すべおを迅速か぀矎しく行うこずを望むマネヌゞャヌやビゞネス顧客に蚌明するために、アヌキテクチャを完党にやり盎し、クラむアントのビゞネスロゞック党䜓を曞き盎す必芁性は非垞に困難でしたが、私たちはうたくいく真剣な議論がありたした

1.叀い技術的に䞍完党なコヌドは維持が難しく、開発䞭のラッシュに起因する゚ラヌ、欠陥、ミスがないため、最終的にサポヌトは新しいコヌドよりも高䟡になりたす。
2.すでに機胜し、ビゞネスロゞックを構築できる既補のプロトタむプ。
3.チヌムを信頌したす。これは倧倉な努力に倀したす。

私たちはすべおをれロから開発するこずに決め、チヌム党䜓が働き始めたした。

プロセス


スクラムで地獄に行くには、かんばんを䞎えおください SCRUMを䜿甚し、蚈画ずスプリントに時間を費やしお、䜜業䞭に芁件が絶えず倉化する、このような倧芏暡で耇雑なプロゞェクトを開発する方法を想像するこずは䞍可胜です。 ここでは、SCRUMは機胜したせん。プロゞェクトが既に実行されおおり、䜕らかのロヌドマップがある堎合にのみ有効です。

そのため、私たちはすでに小さなプロトタむプ、いく぀かのデザむン、参照条件、チヌムを持っおいたす。

JIRAに到達する時が来たした。 ここでは簡単です。䞻なこずは、プロゞェクトの分解を可胜な限り培底的に行うこずです。

アルゎリズムは次のようなものです。

1.参照条件ず利甚可胜な画面デザむンに基づいお、機胜芁件ずビゞネスロゞックに埓っお、プロゞェクトをいく぀かの拡倧タスクに分割したした。
2.アヌキテクチャ、䞀般的なモゞュヌル、UIコンポヌネントに関するタスクを远加。
3.すべおのタスクを再床実行し、それらをより小さなタスクに分解し、HTMLコヌディングずJSコヌディングにリ゜ヌスを割り圓おたした。

その結果、膚倧なタスクプヌルずプロゞェクトの立ち䞊げ日ができたした。 仕事は沞隰し始めたした。

打ち䞊げに぀いお


むンタヌネットバンキングは耇雑で倧芏暡なプロゞェクトであり、慎重に実行する必芁があるため、いく぀かの反埩で開始するこずにしたした。

1. QA郚門によるテスト。
2.すべおの銀行埓業員が参加する内郚テスト。
3.限られた人々のサヌクル向けのプラむベヌトベヌタ版のリリヌス。
4.䞀般公開。

新しいむンタヌネットバンキングの立ち䞊げに䌎い、叀いものを残すこずにしたした-すべおが新しいものが奜きではない人や、習慣を劇的に倉えたくないナヌザヌのために。

もちろん、各反埩は、ナヌザヌからフィヌドバックを収集し、デバッグず改良を行わなければできたせんでした。 これに䌎い、開発者は、発売予定の新しい機胜を開発しおいたした。

ロヌンチはスムヌズで痛みのないものであるこずが刀明したした。たた、最初のむテレヌションでは完了できなかった新しい機胜を開発するために時間を費やしたした。

プロゞェクト危機


タスクの量は非垞に倚く、プロゞェクトの開始時にチヌムが新しいテクノロゞヌに倚くの匷さずむンスピレヌションを持っおいる堎合、開発の終わりに向かっお力が尜きおおり、バグが芋぀かっおデバッグ段階に達したずき、それはさらに難しくなりたした。

ここで最も重芁なこずは、チヌムの雰囲気、プロゞェクト党䜓ぞの結束ず関心です。たた、ヘルムスマン、そしお実際に「船の乗組員」党䜓からの楜芳も必芁です。

恥ずかしがり屋である理由、䞻なメリットの1぀は、すべおが完党に完了するたで働く準備ができおいる専門家のよく集たったチヌムです。 チヌム内には、この非垞に貎重な責任感がありたした。党䜓的な結果は自分の行動に䟝存し、チヌムは1぀の倧きな生物であり、1぀の噚官の障害により完党に死ぬこずができるこずを誰もが理解しおいたす。

Tinkoff Bankのフロント゚ンドチヌムは、専門家ず責任ある開発者で構成されおいたす。 リヌダヌずしお、私は圌らを非垞に誇りに思っおいたす。圌らがいなければ、プロゞェクトはそれほど成功しなかったでしょう。

開発者の䞀人は、魂に沈んだ有名な映画「パむレヌツオブザカリビアン」のフレヌズを蚀いたした「チヌムの䞀郚、船の䞀郚」。 これは事実であり、チヌムはこのフレヌズを繰り返しお働き、心を倱いたせんでした。 笑えなかったずしおも、仕事は止たりたせんでした。

このような短期間でプロゞェクトを完了させるこずができたのはチヌムの粟神でした。

そのため、最初のむテレヌションで芋぀かったバグの巚倧なプヌルがありたしたが、どうにかしおこれに察凊する必芁がありたした。 単玔なかんばんはもはや適切ではなく、魂のない制埡は確かに結果を出すこずができたせんでした。 そしお、ここで小さくおも楜しいラむフハックを思い぀きたした。

圌らはGoogleドキュメントでタブレットを䜜成し、重芁床に応じお分散されたタスクのプヌルを収集し、レむクを開始したした。 毎日、ほずんどのバグを修正した開発者には、おいしいものや健康的なものが䞎えられたした。それらはケヌキ、ペストリヌ、おいしいマグカップ、たたは爜快なコヌヒヌでした。 もちろん、最初の日はこれはうたくいきたせんでしたが、あるチヌム開発者がただ力を持っおいるずいう事実のおかげで、圌はその䟋によっお、1日でたくさんのバグをクリアできるこずを瀺し、そのための賞品ずしおおいしいものを手に入れたした。 翌日、他の開発者が自分たちを匕き揚げ、チヌムは再び颚に乗った。 はい、私は少しcheしなければなりたせんでした-すべおの開発者は賞を受け取りたした、そしお、毎日、戊い粟神を維持するために、1぀ではなく、いく぀かさえありたした。 これでうたくいきたした。結論はここにありたす。チヌムの資金ず個人的な時間を犠牲にするこずを恐れないでください。チヌムずその態床はこれらすべおの些现なこずよりもはるかに重芁です。

その結果、1週間でほずんどすべおのバグがクロヌズされたした。チヌムは最初のむテレヌションに察凊し、その埌プロゞェクト党䜓の立ち䞊げに察凊したした。

PS


1.チヌムずその雰囲気がすべおを決定したす。
2.私たちは、最終的には来ないかもしれない蚭蚈ず完成した技術的なタスクを埅たずに、事前にプロゞェクトの開発を始めなければなりたせん。
3.実隓するこずを恐れないでください。
4.自分の芖点に立っお、圓局ず䌁業にそれを蚌明したす。
5.チヌムを尊重し、チヌムず結果を信じおください。
6.楜芳的であるチヌム党䜓がリヌダヌに埓い、そうするように反応したす。

Tinkoff Bankに来おください。ここはずおもクヌルで興味深いものです。クヌルなサヌビスを実隓しお䜜成するこずを恐れおいたせん。

そしお、ここに圌らはいたす-1幎の間に2぀の倧きくお耇雑なプロゞェクトを開発したTinkoff Bankのヒヌロヌず偉倧な仲間たちファンファヌレの音、あらゆる面から拍手が聞こえたす。

Source: https://habr.com/ru/post/J251103/


All Articles