私の中のアジリティ
こんにちは。L坊です。
今回は、最近私の頭の中をよく横切るアジリティという言葉について書きます。
現在参画しているシステム開発チームで私が求められていることは、誰よりも早く、すぐに使用可能なソフトウェアを開発することです。机上で設計図を書いて、そのイメージをメンバー間で整合して、綿密にクラス設計やスケーリング仕様を検討する……。もちろんそれが本来求められるソフトウェア開発の姿かとは思いますが、何か作りたいものがある場合、まずは皆それぞれ頭の中で想像します。すると必ず、こんな言葉が出てくるのです。
「これ、簡単でいいから動くものが見てみたいな」
「なんて無茶を言うんだ……」と思うかもしれませんが、「想像するより動かしてみたほうがイメージしやすい」というのは誰しも知っていることです。
もしすぐに、今のイメージを形にできたらどうでしょう?皆でモノを見ながら触りながら、もっと先のことを話すことができます。皆の頭の中や設計書の中のイメージではなく、私たちが使う現実のソフトウェアに近づくのです。
ではいかにして、まるで魔法のように、いきなり動くものを作るのでしょうか。長い前置きでしたが、それこそが今回のテーマです。
ただ少し動かすためだけに必要な機能だけを作る。しかし、その後の本格的な開発で利用できるように再利用可能な形で作る。そんな都合よくモノづくりができるのか?それこそが私の中のアジリティです。
フレームワークや実装パターンの選定、使い捨てにならないコンポーネント分割……。昔はやや教条主義的な面があった私ですが、実務経験を積むことでやっと、「魔法」は色々な理論と「現場の現実」を土台にして存在しているんだなと体で理解できるようになってきました。
この人また仕事の話してる!と思われるかもしれませんが、はい、すみません、今回は全部お仕事の話でした。
そう言えば……どうやら、そろそろ入社して 10 年になるようです。びっくりです。これからもより良い魔法使いになるべく、頑張っていきます。
(優れた技術者のことをウィザードと呼ぶことがありますね)