読み込み中...
こんにちは。もちもちずきんです。
今日は私がよくやっている「LT駆動開発」について書こうと思います。
※「LT駆動開発」で検索すると同名の勉強会さんが出てきますが、それとは異なるお話です。
私は、仕事でもITエンジニアをしていますが、元々は趣味がアプリ開発やサーバー構築でこの業界に入りました。そうしたこともあり、繋がりや知見を求め勉強会やカンファレンスイベントに積極的に参加しています。
例えば、毎月中野のPleasanterLoungeにて開催されているNakano Tech Loungeもくもく<会や、東海道地域のLinuxコミュニティの東海道らぐ、FediverseのLinuxコミュニティであるFediverse Linux Users Group、全国各地で開催されているオープンソースカンファレンスなどに日常的に参加していたり、開催していたりします。
そうしたイベントでよく開催されているのが 「LT(ライトニングトーク)」 です。
ライトニングトーク(英: Lightning Talks; LT)とはカンファレンスやフォーラムなどで行われる短いプレゼンテーションのこと。イベントで「ライトニングトーク」と明示される場合は、それより長いプレゼンテーションも開催される。様々な形式があるが、持ち時間が5分という制約が広く共有されている。
Wikipediaより
そうした、イベントでよく行われているLTを自分が主催するときのマインドと私のLTを利用した開発の進め方について、今回は書いていこうと思います。
「LT駆動開発」という言葉は明確に存在せず、私の造語です。「テスト駆動開発(TDD)」や「デザイン駆動開発」、「AI駆動開発」などの〇〇駆動開発を文字ってそう呼んでいます。
意味としては、イベントや勉強会で開催されるLT枠での発表を目指して開発や設計を行い、そこで成果や失敗を発表するという開発のやり方のことを指しています。
辞書風にするとこうでしょうか
開発の途中や完成前であっても、LT形式での共有を『駆動するゴール』と位置づけ、それに向けて開発を進める手法
開催されている勉強会やイベントによって制約や規則などはあると思いますが、LTというのは「5分や10分という短い制限の中で、自分の成果や考えを凝縮して『誰かに共有する』こと。」という側面を多くの会で持っていると思います。
勉強会などでLTをみていると、他人のすごい成果や高い技術力に圧倒され、自分はLTなんてできないとLTの発表をハードルに思っている人も多いのではないでしょうか?
確かに、どの勉強会もコミュニティなので批判的な内容は避けるなど、空気を読む必要はあると思います。
ですが、私はブログやセミナー、ポスター発表などと違い、多くの自由参加のLT会というは 失敗や未完成、後悔や放置なども知見として発表できる 点が特徴だと思っています。(もちろん、開催されるLT会によってルールや制限、要件があると思いますので、そちらは遵守してください。)
多くの開発手法というのは完成目標やトリガーを明確化し、それを目指してタスクを 完了させること を目的としていると思います。ですが、LT駆動開発は開発作業の完了 ではなく、目標として定めたLT発表の機会がゴールです。つまり、5分間みんなの前で喋ると、未完であれ、失敗であれ、停滞であれ、成果とすることができます。
完成度が低いから…、私のはレベルが低いから…と考える人もいるかもしれませんが、プロジェクトの遂行というのはうまくいかないことの方が多いと思います。
うまくいかなかったときに自分はどう考えたのか、これからどうすればいいと思ったのか、何が悪かったのか、それらを考え、発表することは意外に多くの人の学びになるものです。
勉強会というのはリアル開催のものは特に、LTだけではなく、交流や質疑などが飛び交う時間があると思います。
LTというのは自分が誰かに技術を単に「教える」場所ではなく、自分の会得したことや考えたこと、作ったものを「共有する」場であると思っています。
自信がないものは「これでいいんでしょうか?」や「これの使い方が正しいかわからない」というのも交流や研鑽のタネに繋がり、自身の知見になり、誰かの知見になるのではないかと思っています。
言い換えればLT駆動開発は開発を成果ではなく、過程として楽しむための開発手法であると言えるのかもしれません。
私は、サーバー構築の経験がほぼなかった2017年にMastodonサーバーであるYづドンを構築し、Fediverseに参加したところから勉強会やカンファレンスのコミュニティを知り、参加し、今に至ります。
初めて行なったLTはオープンソースカンファレンス名古屋2018の懇親会中に行われたLT大会でした。タイトルは「DBを飛ばした話」。サーバーの知識がなかった頃に自分のMastodonサーバーのデータベースを間違えて消してしまった話をしました。
今振り返ると命知らずというか、よくこんな発表をしたなと思うのですが、その発表を見ていた周りの人はそうした自分がネタにした失敗を笑い、励まし、アドバイスをくれました。そこから自分は現在まで趣味・職業エンジニアとして続け、曲がりなりにも成長できていると思っています。
今、自分もコミュニティの参加者やときには運営を行う立場として、そうした失敗談や挫折というのを大切にしようと思っています。
参考程度に私の最近のLT駆動開発・OSC駆動開発を紹介します。
東海道らぐ藤沢宿 2026年4月オフな集まり(2026/04/11(土))
いきなりニッチなネタ&開発以外のネタで恐縮ですが、MobioNXという30年前のコンピューターの画面修復を試みるという発表です。
古いマシンをシンクライアントにするLinuxディストリビューションであるopencoconのプロジェクトの一環で行なっているマシンの物理的保守の試みを東海道らぐおよび、オープンソースカンファレンス香川を目標に行なっています。
スライドにもありますが、失敗事例として1台貴重なマシンを破壊してしまっています。
オープンソースカンファレンス2025 Tokyo/Spring
オープンソースカンファレンス2026 Tokyo/Spring
こちらはMastodonやMisskeyのアカウントでプロフィール帳を作ることができるというアプリケーションですが、こちらもOSCを目標点として開発・リリースを行なっています。
これはプロジェクトが完成した例にはなりますが、周りのコミュニティの人のアイデアに支えられながら、機能の追加や削減が行われ、OSCの会期中にリリースが行われました。
ここまで、LT駆動開発の話をしてきましたが、気をつけることもいくつかあると思います。たくさんありますが、主に私が気をつけているものは以下です。
主にセキュリティリスクなどにつながる側面だと思います。突貫工事はITの現場では行われることがありますが、LTを目的にするがためにセキュリティ観点や、設計が抜け落ちるというのは本末転倒です。
LT駆動開発は未完や失敗を許容します。 これは失敗してでも完成に近づけるのではなく、「思ったよりもセキュリティの対応に時間がかかった」「簡単にできると思ったけど設計観点が多すぎて訳わからなくなった」というような、知見の共有と会得を目的にするという意味です。
LT発表というのは、発表機会と発表場所、聴者と発表者という多くの組織や人があってこそ成り立つものです。その対象への敬意というのは常に忘れないようにしています。
LTは開発の目的ではなく、あくまで開発を推進するための「手段(道具)」です。LTをタイミングとして目標にしても、無理にLTにする必要はありません。個々人や場面、コミュニティによって開発スタイルは合う合わないがあると思います。その場面にあった開発手法を無理なく選んでいきましょう。
自分の気持ちを追い込んだり、組織や個人を傷つけてまでLTとして発表するのは個人的には本末転倒だと思っています。
LT駆動開発で、小さくても、未完成でも、失敗でも、「共有」することで開発を楽しんでみませんか?
私が運営に参加している
はそうしたLTを歓迎しています。
コメント