ja ja ja ja ja ja ja ja ja en ja ja ja ja ja ja ja ja ja ja ja en ja ja zh ja ja ja ja ja ja ja ja ja ja ja ja zh ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja zh ja ja ja en ja ja en ja ja vi ja sv eu ja en en hu ja ja en en pl ja ja jbo hbs_lat en ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja
OSS開発支援サービス事例:SpeeeさんのWebapp Revieee - 2017-05-17 - ククログ
Webapp Revieeは開発支援ツールです。GitHubにpull requestを作るとそのpull requestをレビューするためのWebアプリケーションを自動で用意します。pull request毎に手元に動作確認用の環境を用意する必要がないのでレビューが捗ります。詳細はSpeeeさんのWebapp Revieeeの解説記事を参照してください。来週火曜日(5月23日)開催のSpeee Cafe Meetup #07でもWebapp Revieeeの話があるので、興味のある方はこちらのイベントに参加してみてください。私も参加してOSS Gateの紹介をする予定です。
今回は私の説明をベースに私たちのイメージを固めました。
大事にすることを共有した後は支援方法を決めました。次の2つで支援することになりました。
Webapp Revieeeのpull requestのレビュー(随時・オンライン)
月に1度のふりかえり(オフライン)
pull requestのレビューは、一般的な目的であるコードや設計の品質向上もそうですが、それだけでなく、OSSとして開発するならこういうことを考えて開発するといいですよ、ということを具体的な事例付きで紹介することも狙って実施しました。
月に1度のふりかえりは、この1ヶ月で得られたことをより定着させることと見つかっている課題に早めに対策を実施することを狙って実施しました。
支援した結果、支援した側の私からはすごくよい時間になったと感じているので、私視点でどう感じたかをまとめます。
Webapp Revieee開発中に利用しているOSSを改良した。
「OSSのエコシステムに参加する」の実践。
これにより開発スケジュールが遅れるということなかった。
補足:バランスをとれたという事実を体験できたことがよかった。ケースによっては遅れてしまうような進め方になってしまうこともあるだろうけど、バランスをとれることもあることを知っていれば、「OSSのエコシステムに参加しながら開発を進めるにはするにはどうしたらよいか?」を考えていけるはず。
Webapp RevieeeをOSSとして開発することで開発者(天野さんと森岡さん)の開発力があがった。
要因1:いろいろな人から見られる可能性を考慮することがよいプレッシャーとなりよいコード・コミットにつながった。
補足:最初は「こんなコミットメッセージで十分?もっと書いた方よい?」などと迷っていた部分もあったが、何度か具体的に「今回のコミットはこのコミットメッセージで十分!」などと一緒に確認していったことで自信につながった。
補足:「ちゃんとレビューする人」として私がレビューしていたので「見られている感」を維持できたのもよいプレッシャーにつながった。
要因2:私のレビューにより、よいコード・よい設計・よいコミットの基準が言語化され開発しやすくなった。
補足:単に「いいですね!」とか「なんかもやっとしますね…」だけを伝えるだけでなく、「○○で△△なのでいいですね!」とか「××なケースでこうなるのでもやっとするんですよねぇ…」というように具体的になにがよいか、なにがもやっとするかを説明した。
補足:実際の私のコメント内容はクローズされたpull requestのやりとりを参照。
要因3:よいコード・よいコミットを意識して開発しても開発速度は落ちないことがわかった。
補足:落ちそうなイメージがあるが、実際にやってそんなことはないと経験できたことがよかった。落ちないので今後も継続していける。
私のコードレビューのやり方からよいところを学び、業務の開発に活かせた。
よいところ1:よいところをよいと明言する。
補足:よいところは問題がないのでコメントしない、ではなく、よいと認識してもらって強化する。
よいところ2:言葉での説明だけでなく具体的なコードもつける。
補足:意図が伝わりやすくなる。
よいところ3:「もやっと」したことも伝える。
補足:「もやっと」は使いやすいフレーズだそう。私はあまり意識せずに「もやっと」を使っていたので、ふりかえりのときにこの話を聞いて「そうだったの!?」とびっくりした。
↑を業務での開発でのレビュー時に実践したところ、開発メンバーがよいコード・よいコミットを書くようになってきたとのこと。
この「OSSを開発することで業務の開発もよくなる」状態はSpeeeさんが目指している状態の1つだと思うので、すごくよかった。
OSSを新規に開発してリリースする、という一連の流れを体験したことで、自分たちでOSSを開発することの流れがわかった。
言葉での説明ではなんとなくしかわかっていなかったとのこと。
体験したことでぐっと敷居がさがったとのこと。
補足:「体験することで敷居がさがる」はOSS Gateワークショップで実践している知見だったのに、「OSSを新規に開発してリリースする」ときにも効くとは気づいていなかったので勉強になった。
月に1回オフラインのふりかえりを設定したのは私にとってもすごくよかったです。Webapp Revieeeを開発していたおふたり(天野さんと森岡さん)からすごくよいフィードバックをもらえました。ふたりとも自分がどう考えているか、どう感じているか、これからどうしたらよさそうかをすごくよく話してくれるので、すごくやりやすかったですし、話を聞いて気づいたことがたくさんありました。ありがとうございました。
OSS開発支援サービスの事例として2017年1月から4月に支援したSpeeeさんの事例を紹介しました。私はすごくよい時間になったと思っているので、私視点でどこがよかったかをまとめました。Speeeさんにとってもよい時間になったことを期待しています。
今回の支援中に開発していたWebapp RevieeeはOSSとして公開されています。詳細はSpeeeさんのWebapp Revieeeの解説記事を参照してください。来週火曜日(5月23日)開催のSpeee Cafe Meetup #07でもWebapp Revieeeの話があるので、興味のある方はこちらのイベントに参加してみてください。
今後もOSS開発支援をしていきたいので、「自分たちも支援して欲しい!」と思った人はご相談ください。「支援して欲しいけど自分たちはまだ力不足な気が…」と思った人はOSS Gateを見てみてください。
現在クリアコードではソフトウェア開発者を募集しています! フリーソフトウェア開発での開発の仕方をベースに、成果や知識を公開し共有しながら業務に携われます。
redmine.tokyo第12回勉強会:GroongaでRedmineを高速全文検索 #redmineT
DataScience.rb ワークショップ 〜ここまでできる Rubyでデータサイエンス〜:RubyもApache Arrowでデータ処理言語の仲間入り #datasciencerb
Apache Arrow
milter manager
ククログの記事はCC BY-SA 4.0とGFDLのデュアルライセンスで自由に利用できます。
クリアコードはプログラミングが楽しいソフトウェア開発者を1名募集しています。
クリアコードは「クリアコードをいい感じにする人」を1名募集しています。
クリアコードはフリーソフトウェア開発で培った技術力を提供しています。特にMozilla製品(Mozilla FirefoxとMozilla Thunderbird)とRubyとGroonga(全文検索)に関連した開発を得意としています。