三流プログラマが脱三流するために書くブログ

PHP, オブジェクト指向プログラミング, デザインパターン, リファクタリング, DDD, 関数プログラミング, etc.

20. 趣味のチーム開発をやっている

OKRという目標管理のフレームワークを実装したウェブアプリケーションを趣味でつくっています。

OKR とは

seleck.cc

いまつくっているのはこれ↓↓

github.com

プロジェクト自体はだいぶ前からあって、最初は個人で始めて、次第に元同僚とか、勉強会で知り合ったひとたちとかが参加したりして、参加人数だけでいうとけっこうな大所帯になってきました。

個人的に、

を求めて始めたプロジェクトでした。

メンバーは増えてきているものの、私以外はほとんど活動(コミット)してなくて、私自身も最近仕事が忙しかったこともあり、放置気味になってました。

みんなたぶんどうやって参加したらいいか分からなかったんではないかと思います。私がリードするというわけではなく、放置プレイ状態だったので、タスクの割り当てとかもう少しやったらよかったな、とそこら辺は申し訳なかったです。

先日、わりと最近加入したメンバーが、見かねてマネジメントを引き受けてくださって、開発フローの整備とか、機能の洗い出しとか始まったので、ようやく軌道に乗りそうかな、という感触が出てきたので、ブログエントリー起こしておこうと思います。

4つの目的について

ビジネスの制約を受けない自由な開発

制約があるから面白い、という類いのことはビジネスにおけるソフトウェア開発に任せて、ここでは、やりたいことをやりたいようにやる、というモットーでやりたいです。間違えたと思ったらイチからつくり直す覚悟で、積極的に新しい技術なんかも取り入れていきたいです。

Laravel の実験的な開発

仕事でも Laravel 使ってはいますが、最新のバージョンに追従できていなかったり、そもそも必要じゃない機能は使ってなかったりするので、ここでは、無理矢理にでも(笑)新しい機能を試していきたいです(Scout, Echo あたりは未経験なので)。

ドメイン駆動設計の実践的な開発

つまみ食い的にドメイン駆動設計を既存のプロジェクトに適用してきてはいるんですが、本格的に、というか、ユビキタス言語を定義して、モデルと実装を連動させて、とかまではやってない(どっちかっていうとそれらが本質だとは思うんですが)ので、ここでは、Laravel の良さを消さない程度に、設計・実装をドメイン駆動でやってみたいと思っています。

OKR を実装した OSSウェブアプリケーション

自分が使いたいものをつくるのが、まぁ、いちばんモチベーション保てるだろ、ということで、何がいいかなーと考えたときにパッと浮かんだのがこれでした。 自分でも使いたいし、いいものができれば、他のひとにも使ってもらいたい。

中長期的な目標

メンバーはみんな仕事も忙しいひとたちだし、そんなにがっつり時間が取れるわけでもないので、牛歩の歩みで進んでいくんだろうなぁとは思っていますが、月に一度はみんなで集まって、今後の方向性やら、UI の方針やらをディスカッションしようってことになったので、何人がアクティブで居続けられるかによりますが、メンバー全員が、なんらかのタスクを担って、少しずつでも前に進み続けるプロジェクトにできればなぁと思っています。

GitHub のコミット数が月に5つはほしいところ。

おわりに

多くのソフトウェアエンジニアが余暇にコードを書いていて、OSSに貢献するのもありですし(これもOSSですが)、有志で集まって何かつくるというのもありですし、もちろん個人でプロジェクト立ち上げてもいいですし、色んな楽しみ方ができるといいなぁと常々思っていて、そうした場を提供できたらと思います。

というわけで、興味のある方はTwitterやコメント欄でご連絡ください。