この記事は 2024年 夏のブログリレー 21日目のものです
他の記事を見たい方は こちら↑ のリンクをクリック!
こんにちは、ぷぐまです
このブログリレーでの登場は (予定では) 4 回目です
今回は今年リリースされたばかりの traPortfolio 開発の裏話です
traPortfolio は以下のリンクからアクセスできます!
ぜひぜひご覧ください!
traPortfolio とは?
traPortfolio は、部員が traP での活動を残し、外部にアピールするための ポートフォリオ作成ツール です
traP には幅広い分野の様々な部員がおり、活動の幅も広いです
これらの活動の実績を集約し、また手軽に公開できる場として整備されました
詳しい仕様については以下の記事を見てね!!!
リリースまでの流れ
このプロジェクトは、部内にある最も古い記録が 2019 年にあるかなり長いプロジェクトです
そこからリリースまでに約 5 年を要したワケですが、それはまぁ、紆余曲折がありました
といっても、僕は後ろ 2 年しか参加していないので全体を知るわけではありませんが……()
ただ、自分が活動してきた中でどのような課題に直面し、それをどのように乗り越えたのかについて綴っていきます
着目した問題点
僕は 2023 年度の前期にこのプロジェクトに所属しました
このときに Good First Issue をこなしながら、何度かサービスの方針決め集会にも参加しました
ここで感じたこのプロジェクトの当時の問題点を思い出して書き出してみます
当時は先輩ばかりのプロジェクトで全然言えなかったことですが、今なら時効でしょう!!!()
ただ、一年程度前の話も含むので記憶があやふやな部分があることも予めご承知おきください
サービスの方向性を見失い始めていたこと
最初に集会に参加したときに感じたのはこれでした
サービスの方向性を決めるにあたって全員の意見を聞いていたような記憶があるんですが、みんな遠慮しているように感じました
当時は、traPortfolio を外部向けに公開するページとしてどのような立ち位置とするかの調整に難航していました
同じような役割をもつサービスとして、traP にはすでに trap.jp 以下のブログを含むサークル紹介ページがあります
これとの棲み分けをどうやるのか、はたまたこのサービス自体を新生公式サイトとして作り、大改造を行うのか
このような部分で traPortfolio は話し合いのたびに開発規模が膨張と縮小を繰り返すこととなってしまいました
メンバーの士気が落ちていたこと
これは上に書いたこととも関連します
サービス自体がどれほど大きな規模になるか不透明で、リリースまでの日程が分からなかった状態
いつ手戻りが発生するか分からない状態のプロジェクトに全力を割くのは難しいです
なんたって、人間は怠惰な生き物です
なるべく不必要なことはやりたくありません
また、他の人が動いていない状態で自分だけが動くのもムダなような気がして気後れしてしまいます
僕も当時は別のプロジェクトと掛け持ちをしていたのもあって、なかなか時間を割けていませんでした
リリースまでにやったこと
これらの問題点を踏まえ、2023 年度の冬くらいからどうすればよいかを考えていました
そんなとき、一つの転機が訪れます
それは、当時フロントエンドのリーダーだった めふもさん(@mehm8128) が後任として声をかけてくれたことです
めふもさんとしては 2024 年度は学士 4 年となり忙しくもなってくる時期です
そのような状態で複数のプロジェクトでフロントエンドリーダーを務めていためふもさんから、1 つはリーダーを引き継ぎたいとは前々から思っていました
…というか、これは勝手な考えですが、1 つくらいは引き継いで役に立ちたいという思いがありました
そういうこともあって、少し前からフロントエンドのリーダーを引き継ぎたいということを部内でも言及していました
…と、こんな感じで 2024 年 4 月にフロントエンドのリーダーになりました
ここからはリリースに向けて以下のようなことに取り組んでいきました
6 月にリリースすると部内で宣言する
僕としても少し厳しめのスケジュールだという自覚はありました
ただ、厳しいからといって甘えているといつまで経ってもリリースできません
ここは一つ、覚悟を決めて言質を取られに行きました
案の定言質を取られましたが、この辺りから traPortfolio チームの雰囲気がちょっと変わったような気がしています
v1 の仕様のたたき台を作る
ここでは、プロジェクト停滞の最大の要因だった方向性が定まっていないのを解決させようとしました
かなり独断で決めてしまいましたが、ここで特に注意したことを以下に示します
可能な限り小さなサービスとすること
このようにしたのは、リリースを早期決着させたかったからです
大きな目標を掲げてしまうと、そこまでには計画がうまく遂行できずに変更が生じることもあるでしょう
しかし、ここは思い切りました
実装コストの重い機能は v1 リリースでは見送ることとしました
僕としても完全な状態でリリースしたいとは思っていましたが、同時に自分の力を過信してはいけないとも思っていました
多くの機能を実装するには多くのメンバーに長い時間をかけて作業をしてもらう必要があります
また、前提として仕様をまとめる自分自身が各機能の詳細や関係性を把握したうえで、メンバーに的確なお願いをすることも必要です
果たして、初めてリーダーをする自分にこのようなことができるでしょうか?
自分はできないと思いました
こういうこともあって、熱が冷めないうちにリリースまで持くため、一部機能の縮小を決断しました
1 つの文書としてまとめること
開発中に困ってしまいがちなのは、先に決めた内容のメモがどこにあるかということだと思います
逐次で話し合いの記録を残すのは難しく、完璧に行うのはほぼ不可能です
そこで、たたき台への意見は自分が示した資料に直接書き込んでもらうことにしました
ここで意見に対する返答も行います
これは多くの機能を有するサービスでは不可能なことかもしれません
しかし、必要最小限の機能に抑えて小回りを効かせた traPortfolio にはぴったりだったと思っています
部内で traPortfolio を宣伝する
これは、自分たちのやっている活動に役に立つ場面があるのを実感してもらうことを目的としています
traP には既に 10 ほどの内製サービスがあり、これらの運用ではすでにいる利用者相手に追加機能の提供や既存機能の改善を行います
しかし、リリース前の traPortfolio にはユーザーはいません
考えてみれば当たり前のことですが、これだけで制作側の心境は大きく変わると思います
本当に今の状態で開発を進めても利用者はできるのだろうか、数年でサービスを閉じることになってしまわないだろうか
このような不安を少しでも低減するため、部内での広報を積極的に行いました
半分お祭り状態のように traPortfolio を盛り上げることで、リリース後に利用者がついている状態を想像しやすくなります
利用者となりうる人たちのために 開発をするというモチベーションにつながると考えました
新規メンバーを多数呼び込み、育成をする
リリースへ向けて開発を積極的に行う空気を作り出すため、新規メンバーも大々的に募集しました
そうしたところ、4月には 23B が 1 人、6月には 8 人もの部員が新規加入を希望してくれました (様々な事情から、最終的に新規加入は 5 人になりました)
この新規所属希望人数は、部内で最大のサービス traQ を除いたサービスでは群を抜いています
いくつかの講習会で講師を務め、後進の育成に力を入れている僕の熱意が伝わったのだろうと考えていますが、このようなやる気ある新規メンバーによって、より一層開発が活発になりました
メンバーのやってくれたことをなるべく早くサービスに反映する
自分がプロジェクトにおいて労力をかけ、やっとの思いでできたことがなかなか反映されなかったらどう思うでしょうか?
せっかくの自分の努力をムダにされたと感じてしまうかもしれません
スピード感を持って対応することで、メンバーにとっても今自分がプロジェクトの役に立っていると実感してもらいやすくなります
メンバーにお願いするとき、必ず理由を付け加える
企画者 (ディレクターやプランナー) は自分の中で制作物の完成像が見えているでしょう
しかし、初めからメンバーに企画者と同じ完成像が見えているわけではありません
そんな状態で完成像という 前提条件 を必要とするお願いをしても、それが何のためなのかピンとこないでしょう
サービスの全体像を企画書として共有するだけでなく、そのお願いによって全体像のうちのどの部分に寄与するのかを伝えるようにしました
リリース予定日から逆算したスケジュールを示し、それに基づいて先陣を切って行動する
一つ上で示したのとやりたいことは同じです
リリース日という抽象的な目標に対して、それをどのように達成するのかを具体化します
項目が非常に多く、初めはびっくりしてしまうかもしれません
ただ、作業の進捗を投稿の編集によって反映することにより、リリースが近いことを確かに感じ取ってもらいやすくなると考えました
リリース!!!
…と言いたいところなんですが、ここで僕が体調を崩してしまったことによりリリースが延期されてしまいました…
しかし、ここまででいつでもリリースできる状態にはしていたため、7月のリリースは円滑に行うことができました
ふりかえり
ここまでを振り返ってみると、僕がやっていたことは全て「具体化」の一言に集約できると思います
ぼんやりとした方向性を明確にし、見込まれる利用者をはっきり体感できるようにし、リリースまでの予定管理も明らかにし、なぜやるのかという理由も具体化する
このような方法で僕は traPortfolio をリリースしました!
かなり長く完全自己満の記事になってしまいましたが、ここまでお付き合いくださってありがとうございました
明日は…
明日は @potato167 さんです!
お楽しみに!