開発者向けの自動コードレビューサービス「SideCI」を運営するアクトキャットが今日、「負債カンバン」という新機能をリリースした。カンバンといえば、トヨタのカンバン方式としてビジネスパーソンなら知っているだろうし、「技術負債」という言葉はエンジニアなら良く知っていることだろう。その両方をくっつけたのは面白い。以下がその画面例だ。
ソースコードを書いてプロダクトを育てていくとき、常にコードを理想的な状態を保てるとは限らない。特にスピード優先でプロダクトの有効性を検証するようなフェーズでは、読みづらさやコードの保守性といった品質を犠牲にしててでも、まず動くものを作るのことを優先することがある。どんなに品質の良いソースコードを書いたとしても、そのプロダクトに市場やユーザーがないと分かれば意味がないからだ。だからソースコードの品質が低いところには目をつぶって、まずは突っ走ってみよう。スタートアップ企業なら、そうなることが多いのではないだろうか。
複雑すぎたり、冗長だったりして読みづらいコードを、機能や性能を落とさずにより良く修正することを「リファクタリング」と呼ぶ。多くのソフトウェア・エンジニアはリファクタリングを日々息を吸うようにやっているだろうが、スピード命のスタートアップでは、そんな細かいことにかまっていられるか、という突き進むべきタイミングもあると思う。企業の借り入れやスタートアップの増資ににて、いつか返済することが必要なものだが、スピードを得るために前借りするようなものだ。
そうやって後回しにされたリファクタリングするべき「ダメなコード」を「技術的負債」と呼ぶ。余裕があればリファクタリングするべきと分かっているが、つい後回しになる。コスト的に正当化できないときもある。とくに技術的負債という概念に馴染みが薄い非エンジニアの管理職や経営者にしてみれば、その必要性は分かりづらい。当のエンジニアチームも、技術的負債を抱えすぎると、いずれ開発速度が落ちることを知りつつも負債を抱えたまま走りがちだ。
SideCIが新たに提供する「負債カンバン」は、こうした技術的負債のうち明らからに手を付けるべきコードを示してくれる新機能だという。開発したアクトキャットの角幸一郎CEOによれば、これまでの同社でのヒアリングから「スタートアップは概ね、コードの綺麗さを可視化するサービスを使うとA~EランクのうちEランクのファイルが多い。大手Web企業ともなると数百、数千ファイルあって、どこから手を付けて良いか分からない状態」になっているという。ソースコードの品質を判定するサービスはいろいろあるが、「スタートアップ向けで、負債を抱えながら突っ走るチーム向けというプロダクトはないのではないか」と角CEOは話している。
SideCIの負債カンバンが実際にどの程度意味のある指標(ROIなど)を示してくれるのか、それは未知数だが、今後のエンジン開発次第では興味深い分野が広がる可能性があるのではいだろうか。SideCI自体はPHP、JavaScript、Python、Go、Java、Scala、Swiftに対応しているが、今回の新機能はRubyから開始。順次対応していく。
アクトキャットは2016年3月にベンチャーユナイテッドとYJキャピタルから数千万円規模の資金を調達している。SideCIのローンチは2014年4月で、現在約3600の組織・個人が登録している。海外からのアクセス比率は2割。2016年4月に有償の正式版をリリースし、現在課金顧客は30社程度という。