それぞれのプロダクトでの役割
貴田:lightning と shadow の両方というか全体を見る役割をしてます。lightning チームでは仕様を検討したり決めたりしています。 虎谷:プロダクトオーナーをやっています。このメンバーだと自分だけエンジニアではないです。仕様を決めたり、仕様書を書いたり、あとはユーザーストーリーの優先順位を決めたりしています。 伏見:スクラムマスターをやってます。チームの皆がスムーズに開発できるように手助けするのが役割です。 田中:サーバ周りの開発、特に Scala でのプログラミングをしています。 阿部:サーバもフロントも両方ともやってます。 加藤:Scala でサーバ側の開発をやってます。 夘月:自分は最近入ったんですが、フロントエンドを中心になんやかんやしてます。
開発サイクルの進め方
伏見:スクラムで進めていて、2週間で1スプリントのイテレーションで、最初に計画して、その後開発して、成果をプロダクトオーナーに見てもらって、そのスプリントを振り返るというサイクルで開発を進めています。スプリントの計画時には、プロダクトオーナーと一緒に機能の優先順位や難易度を話し合いつつ、各機能に必要な作業を着手可能な形にまでブレークダウンした後で、各開発メンバーに開発をしていってもらうというスタイルです。全部説明しちゃいました(笑) 一同:さすがスクラムマスター(笑) 伏見:スクラムどうですか皆さん? 阿部:前職はウォーターフォール型の開発だったので、スクラムとかアジャイル開発には色々面倒なことがない、ってイメージもあったんですが、やってみると意外と面倒なことはありますね。 田中:面倒ってわけではないけど、コミュニケーション量が多いので大変です。 伏見:まあ、今年からスクラムはじめた人も多いので、慣れれば大丈夫(笑) 虎谷:でも、ここ最近は結構キレイに回っていると思います。機能がいつリリースされるかがすごく予測しやすくなったので。自分はセールスと開発の間に立っているので、セールスからの「コレいつできるの?」というプレッシャー(笑)に大分答えやすくなったなと。 伏見:lightning チームにもっとプレッシャーをかけてもいいんですよ(笑)自分は適度なストレスがあった方が良い派なので。 貴田:あとは、以前に比べて、開発チームの多くのエンジニアがちゃんと仕様を把握していることが増えたなあと。 加藤:そういう意味だと、阿部さんは仕様の相談とか調整とかをビジネス側と頻繁にされててすごいと思います。 阿部:ありがとうございます(笑)
開発を進める上で嬉しい・楽しい瞬間
貴田:自分は2年前くらいにエンジニアにキャリアチェンジしたんですけど、自分のエンジニアスキルがどんどん上がっているのを感じる時が一番嬉しいです。 虎谷:そういうのだと、自分も仕様書をマークダウンで書いているんですが、エンジニアではないので GitHub にも触ったことなかったんですが、それらに慣れていくのは楽しいです。あとは、何と言っても、皆で相談して決めた仕様が実際に画面にアップされたときは嬉しいですね。実現した!って感じです。 伏見:スクラムマスター奮闘中なんですが、プロダクトオーナーというかビジネス側からよくやってくれているというか、スクラムマスターとして評価された時は嬉しいですね。あとは、色々模索しながら夢中でコードを書いてる時(笑) 田中:自分もやっぱりキレイにコード書けた時は嬉しいですね。あとは、hotfix を出さなきゃいけないとか切羽詰まってる状況で、いい感じに素早く修正できたときは楽しい、というか気持ちいい(笑) 一同:気持ちいい(笑)確かに(笑) 阿部:コーディング上手くいった時も嬉しいですが、新しめの技術とかオプトに来る前はブログとか本で学ぶだけだったことが、実戦で取り組めてると感じた時は、オプト来て良かったなと思いますね。 加藤:自分はまだまだ他の人に助けられることが多いですが、最近はコード書けるになってきたと感じれているのは嬉しいです。 夘月:私はオプティミストなので常に楽しい(笑)ですが、AngularJS から Angular へのリプレースを進められてるのは楽しいですね。
開発を進める上で辛い・悲しい瞬間
虎谷:辛いというか、開発の人達が頑張ってくれてるなかで、事情を知らないセールスに「まだコレできないの?」ってたまに言われるとマジで悔しいですね。スクラムをもっと改善して、言われないようにしていかないと。 伏見:スクラムというと、自分は今年の4月からスクラムマスターやってみて、自分のファシリテーション力の足りなさを痛感した時が何度かあって、その度にうおおおおお!ってなってました(笑) 田中:うーん、自分がコードを書いた機能がお蔵入りしちゃった時は、ちょっと悲しいですね。 貴田:計画の精度は上げていかないといけないにしろ、お蔵入りしちゃうのはある程度は仕方ないと思ってます… ただ、使われなくなった機能のコードを削除している時は辛い(笑) 田中:そうですね(笑)悪影響がなければ、そのままになることもありますが。 阿部:お蔵入りまではいかないまでも、この機能って本当使われてるのかな?と思う時とか、逆に仕様をもうちょっと固めてから開発に入れば良かったなと感じる場合も辛いかもしれません。 加藤:進め方が良くなかったんですが、巨大な Pull Request を投げてリジェクトされた時は流石に辛かったです… 貴田:その件は完全にメンテできないコードになってしまっていたので… 普段、Pull Request 自体がリジェクトされることは殆どないですが、この時ばかりは流石に進め方の見直しをお願いしました。 田中:少なくとも Pull Request は小さく分割したかったですね。それか WIP で都度見てもらいながら進めるとか。 虎谷:自分も仕様書を出す時は、まずは WIP で出すようにしてます。完成してから跳ね返されると辛いので(笑) 夘月:やっぱり AngularJS が辛いので、はやく Angular に更新したいです。伏見さんと少しずつ進めてます。 貴田:Angular に限らず、将来的な開発速度を早めたりとか、ライブラリを安全に使っていくために整えないといけないことは沢山あるんですが、ビジネス的には何か機能が増える訳ではないので、その辺を理解してもらって時間を確保するのは簡単ではないなあ、と感じています。永遠の課題かもしれません…
今後の展望や野望
虎谷:他のプロダクトにはない機能をもっとガンガン付けていきたいですね。特にブランディング向け機能とか。今年正式リリースだったので、リリース後の対応でかなり時間が取られたところがあったかなと。 伏見:ユーザーストーリーをもっとガンガンやっつけていける状態にして、最強のチームを目指したいです!プロダクトチームがプロダクトオーナーにとって最高のパートナーになっている状態というか(笑) 虎谷:すばらしい… 感動的(笑) 一同:(笑) 貴田:でかい機能追加にもっとチャレンジしていきたいですね。マイナーチェンジじゃなくて、明確にできることが増えるやつ。 阿部:そういう開発の方がやりがいがあって楽しいですよね。 虎谷:それにチャレンジできるような企画をビジネス側でももっと考えていきたいですね。