完全忠実なトレーシングとAlwaysOn Profilingを活用して、アプリケーションのパフォーマンスを向上
スタートアップにおける「CTO」の役割は各社それぞれだ。経営や組織づくりに長けた人もいれば、「天才エンジニア」として技術的に大きな貢献をする人もいる。 とはいえ、スピーディな成長を求められるスタートアップにおいて、その存在が非常に重要であることは言うまでもない。 「ノンデスクワーカーの才能を解き放つ」というミッションのもと、「現場から紙をなくす」現場DXプラットフォーム「カミナシ」を展開する株式会社カミナシ。 2016年に創業し、2020年に現在のプロダクトをローンチ後、その翌年にはシリーズAで総額約11億円の資金調達を実施するなど、順調に成長を続けてきた同社。しかし一方で、組織の技術的トップであるCTOは、創業以来ずっと不在だったのだという。 CEOの諸岡 裕人さんは「CxOは僕の代わりに社長ができる人、という考えがあり、CTOに関しては探し続けているうちに5年が経っていた」と話す。しか
変化の激しい現代におけるシステム開発では、できるだけ早くプロダクトを世の中に出してフィードバックをもらい、またプロダクトを磨く…というリーンな開発サイクルを高速で回すことが重要だ。 しかし、このトレードオフとして生まれるのが、システム開発における「技術的負債」だ。 ラクスル株式会社では、2017年に「Raksul Platform Project」を立ち上げ。「触れば誰でも怪我をする」PHP40万行、JavaScript10万行という規模の巨大なアプリケーションが抱えた技術的負債の返済に着手した。 その目的は、既存ラクスルの解体。一枚岩のシステムを機能ごとに小分けすることで、それぞれ独立したチームがアジャイル(俊敏)に顧客へと価値を届けられる状態を目指した。 結果として、技術的負債を大きく返済することに成功。創業当初から描いてきた「印刷産業を変えるプラットフォームになる」ための事業の多角化
ソフトウェア開発に関わる人であれば、一度は「技術的負債」(「コード負債」と呼ばれることもあります)という言葉を聞いたことがあるのではないでしょうか。 技術的負債とは、ソフトウェア開発において「スピード」を優先したことで引き起こされる、目に見えないコストのことを指します。 開発スピードとコードの品質、この両者はいわばトレードオフの関係にあります。スピードを優先することで、実は目に見えない技術的な負債が発生しており、それが将来的な開発効率やビジネスの成長に影響する可能性があるのです。 「早くリリースする」ということは、いわば時間の「前借り」をしているということを意味します。通常の「負債」と同じように、現時点での便益を得られる分、後でそれを返済する必要がある…ということですね。 しかし、現代の変化が非常に速い世の中においては、早くプロダクトを世の中に出してフィードバックをもらい、素早くプロダクト
レガシーコードをうまく手なずけて、もう一歩成熟させるにはどうすればいいのでしょう?この投稿では、大規模なレガシーウェブアプリケーションと格闘してきた私が学んだことを紹介します。レガシーコードをうまく手なずけて 、もう一歩成熟させるにはどうすればいいのでしょう?この投稿では、大規模なレガシーウェブアプリケーションと格闘してきた私が学んだことを紹介します。 レガシーコードはリファクタリングで救出可能 耳寄りなお知らせがあります! リスたちは毎年何千本もの木を植えてくれています 。まあ自分たちが隠したドングリのありかを忘れてしまった結果ですけどね。そしてもうひとつ。 あなたのプロジェクトも救出できる のです。 ボスから任されたプロジェクトが どんなに醜い泥まみれのレガシーコードだったとしても 、そこには 必ず 道があります。道は曲がりくねっていて、木陰にはモンスターが待ち構えていることでしょう。
プロジェクトが進行するにつれて増える『負債』 長いプロジェクトに携わっていると、技術的負債をいつ返すのかが課題になってきます。 リファクタリングはいつの時点でやるのか、これは長いプロジェクトを運用していく上で問題になっていきますが、今回は負債の種類を整理し、それぞれどう対応をしていけばよいかを考えていきたいと思います。 私達の開発では常に時間が足りない 最近読んだ、「アジャイルサムライ」という本には下記のようなことが書いてありました。 (開発における)3つの真実 プロジェクト開始時点にすべての要求をあつめることは出来ない 集めたところで要求はどれも必ずと言っていいほど変わる やるべきことはいつだって与えられた時間と資金よりも多い 以上のことからわかるように、私達の開発には時間が無いということが常だということがわかります。実際、技術的負債が多いプロジェクトほどこの傾向が強いのではないでしょう
「技術的負債」をコントロールする定量評価手法への期待 からの続きです。 ソフトウェアサービス企業における技術責任者の最も重要な仕事のひとつが、エンジニアリングの効率化です。そのためには、サービスの初期開発コストだけでなく、運用コストを織り込んだ上で正しい技術的判断を行っていく必要があります。 「技術的負債」という言葉は、この運用コスト最適化の重要性を指摘する上で、とてもキャッチーなフレーズだと考えられます。しかし、「技術的負債」を産まないように、あるいは負債を早めに返していこうとすると、開発工数が大きくなってしまうという問題もあります。 初期開発コストと運用コストのバランス注1を、どのようにとっていけば良いのでしょう? 同等の機能を提供する「ソフトA」と「ソフトB」を考えてみます。ソフトAは、初期開発工数が6だが、2年目以降の維持工数が毎年4かかるとします注2。ソフトBは、初期開発工数が1
JAWS DAYS 2014のImmutable Infrastructure(以下、II)に関するトラックに呼ばれたので、話をしてきました。Immutable Infrastructure時代のConfiguration Management Toolの要件およびその実装についてや最近のImmutable Infrastructureに関する議論(Orchestration編)というエントリを書いていたからということでしょう。 ただ、最近は首都大学東京ビジネススクール不合格記に書いたように、経営学関連の学習をずっと行っていて、すっかりそのような話題から離れてしまっていた、ありていにいえば特に興味を持たなくなってしまっていたので、進学していたら研究テーマのひとつにしていたであろう件について、だいぶ生煮えではあるけれども最近またそうした話題でネットが盛り上がっていたりもしたので、以下スライド
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く