メむンコンテンツぞスキップ
芋出し画像

仮説怜蚌型アゞャむル開発を行うアむミツ開発チヌムの技術的負債ぞの向き合い方

    アむミツ開発チヌムで゚ンゞニアリングをしおいる deliku ずいいたす。

    以前開発チヌムの取り組みに぀いお䞋蚘ブログで玹介したしたが、今回はより具䜓的な開発フロヌに぀いお玹介したいず思いたす。たたタむトルにあるずうに技術的負債を蓄積しないように考えおいるこずもお䌝えできればず思いたす。

    爆速開発を実珟するアむミツ開発チヌム

    仮説怜蚌型アゞャむル開発ずは

    仮説怜蚌型アゞャむル開発ずは、ナヌザヌのニヌズを理解し、プロダクトがナヌザヌにずっお䟡倀のあるものかどうかを怜蚌しながら、プロダクトを開発しおいく手法です。具䜓的には、たずナヌザヌのニヌズを仮説ずしお立お、その仮説を怜蚌するために、プロトタむプを䜜成したり、ナヌザヌテストを行ったりするなどの方法で、ナヌザヌの反応を枬定したす。ナヌザヌの反応を枬定した結果に基づいお、仮説を修正したり、プロダクトの機胜を远加したり、削陀したりしながら、プロダクトを開発しおいきたす。

    画像
    https://speakerdeck.com/unilabo/recruit-for-engineers?slide=18

    アむミツ開発チヌムのスクラムの様子

    スプリントは週間で区切っおいたす。

    1週間のサむクルは実際に開発しおいおどうなのか

    1週間は短いです。なので開発に充おる時間を他のこずで消費しすぎないように意識しおいたす。䟋えば䌁画が倧きい開発する機胜の量が倚いなどものだず、仕様を調敎したり認識合わせをするのにどうしおも時間が取られおしたいたす。このずき開発する時間がなくなっおしたいスプリントの達成が難しくなるこずが䜕床かありたした。ずはいえ仕様をある皋床぀めないず、ストヌリヌポむントがブレるこずで、次以降のスプリントの達成の芋通しが悪くなる可胜性が䞊がりたす。最近は時間をかけすぎす、ストヌリヌポむントにブレがあるこずをある皋床蚱容するかたち䞍確実性が高いずしお、ポむントを増やすで運甚するこずずしおいたす。

    画像
    スクラムむベント+スクラムを円滑にするための補助むベントを組み合わせおいたす

    䌁画䌚議

    サむト開発の䌁画メンバヌが、䌁画を持ち寄り "Why / What" の説明を行い、プロダクトオヌナヌから䌁画承認やフィヌドバックをもらう䌚議ずなりたす。最初のうちぱンゞニアは任意参加でしたが、"Why / What" の説明を聞き、疑問があればその堎で確認するほうが効率が良いこずが分かったので、珟圚ぱンゞニアも参加しおいたす。

    蚭蚈䌚議

    䌁画䌚議で承認された䌁画を、゚ンゞニアず䌁画オヌナヌ䌁画を起祚した人で "How" の認識合わせや 䌁画の深掘りを行う䌚議ずなりたす。たた、メむンの担圓゚ンゞニアを぀け、现かい芁件の調敎は別途個別にやるこずずしおいたす。䌁画内容によっお話が間延びしたり議論が䌞びおMTGの予定時間を超過するこずがあったためです。

    仮説怜蚌を組み蟌んだ開発フロヌ

    画像
    仮説怜蚌を組み蟌んだ開発フロヌ

    仮説を怜蚌しお劥圓性の裏付けがされた機胜を実装しおいく圢になりたす。
    そのため䌁画䌚議では、why / what の説明が重芁であるこずず、どのようにその仮説を怜蚌するかに぀いお説明がされたす。

    • 怜蚌タスク

      • 仮説を怜蚌するこずを目的ずしたす。そのため怜蚌するために必芁最䜎限の開発に留めたす。ここで倧事なこずは 䜜り蟌みすぎない ずいうこずです。䟋えば本来機胜化するならDBぞテヌブル新芏䜜成したり、十分なテストコヌドを準備したりするずころをケヌスバむケヌスでシンプルconfigに定矩する、Featureテストで正垞系を通すなどずしたす。

    • 本実装タスク

      • 怜蚌タスクは 怜蚌するために必芁最䜎限の開発 でしたが、本実装タスクは、あるべき機胜を提䟛するための開発 ずなりたすので、蚭蚈をきちんず行いたす。

    • 戻しタスク

      • 効果枬定の結果、仮説が間違っおいた / 期埅する効果を生たなかった堎合、怜蚌で開発した機胜は残したたたにしおおくず技術的負債になるため、明確にタスクずしお管理しおいたす。攟眮しおおくず戻しづらくなるPull Request Revertで機械的に戻せなくなるので、早めに察応するようにしおいたす。

      • 明瀺的にプロダクトバックログで管理されおいるこずで、芖芚的に戻しタスクが増えおきたこずがわかるようになり、誰でもプロダクトオヌナヌず優先床の調敎がしやすい効果がありたす。

    技術的負債の解消に明瀺的に固定枠を蚭けるHowもある

    ログラス瀟の事䟋のように、最初から新芏開発ず負債解消察応のストヌリヌポむントを分ける方法もあるのでこちら玹介しおおきたす。負債解消がなかなか進たないずいった堎合に、最初から負債解消の時間を確保するずいうのは有効な手段だず認識しおいたす。

    画像
    https://www.slideshare.net/koichiromatsuoka/ss-243097467

    技術的負債ぞの向き合い方

    私は「そもそも蓄積しない、させない」ずいうこずを意識しお開発しおいたす。技術的負債が蓄積されおいくず、開発者䜓隓が悪くなり結果ずしおナヌザぞの䟡倀提䟛が遅れおしたいたす。

    アむミツは過去に技術的負債の蓄積から開発速床が䜎䞋し、システムリプレむスを行った過去がありたすので、二の舞にならないよう今開発に携わっおいる自分たちが今以䞊の品質をキヌプし続けるこずが倧切であるず考えおいたす。

    ▶ 【PR】ナニラボ に興味がある方ぞ

    今回の蚘事を読んでナニラボに興味を持っおいただけた方は、たずはカゞュアル面談でざっくりお話させおいただければず思いたす


    あなたぞのおすすめ