feature image

2024年9月8日 | 作品紹介

traPortfolio リリースまでに意識したこと

この記事は 2024年 夏のブログリレー 21日目のものです
他の記事を見たい方は こちら↑ のリンクをクリック!

こんにちは、ぷぐまです
このブログリレーでの登場は (予定では) 4 回目です

今回は今年リリースされたばかりの traPortfolio 開発の裏話です

traPortfolio は以下のリンクからアクセスできます!
ぜひぜひご覧ください!

https://portfolio.trap.jp

traPortfolio
東京工業大学デジタル創作同好会traPに所属する各部員の活動内容をまとめたポートフォリオサービスです。

traPortfolio とは?

traPortfolio は、部員が traP での活動を残し、外部にアピールするための ポートフォリオ作成ツール です
traP には幅広い分野の様々な部員がおり、活動の幅も広いです
これらの活動の実績を集約し、また手軽に公開できる場として整備されました

詳しい仕様については以下の記事を見てね!!!

https://trap.jp/post/2262/

部員の活動紹介サービス traPortfolio をリリースしました
こんにちは、SysAd班 traPortfolioチームです。 今回新たにSysAd班で traP部員用ポートフォリオサービス traPortfolio をリリースしたので、その紹介記事になります。 サービス概要 traPortfolioは、traPに所属する各部員の活動内容をまとめたポートフォリオサービスです。 部員は、外部向けサイトとは別に用意された部員用ダッシュボードで自身のプロフィールや大会出場履歴などの情報を入力します。1からポートフォリオをデザインする手間が省け、traP部員としての実績を外部に公開することができます。 こちらのリンクからアクセスすることができます。 traPortfolio東京工業大学デジタル創作同好会traPに所属する各部員の活動内容をまとめたポートフォリオサービスです。traPortfolio また、GitHubのリポジトリも公開しています。 公開ページ https://github.com/traPtitech/traPortfolio-UI ダッシュボード https://github.com/traPtitec

リリースまでの流れ

このプロジェクトは、部内にある最も古い記録が 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 さんです!
お楽しみに!

Pugma icon
この記事を書いた人
Pugma

23B / 普段はWebアプリケーション全般を幅広く / 競技プログラミングもたまにつまみ食い

この記事をシェア

このエントリーをはてなブックマークに追加
共有

関連する記事

2023年11月21日
School Breakin' Tag -新感覚おにごっこ-
s9 icon s9
2024年9月20日
2024年 1-Monthonを開催しました!!
Synori icon Synori
2024年9月17日
1か月でゲームを作った #BlueLINE
Komichi icon Komichi
2023年12月11日
DIGI-CON HACKATHON 2023『Mikage』
toshi00 icon toshi00
2024年8月21日
【最新版 / 入門】JUCEを使ってVSTプラグインを作ろう!!!!【WebView UI】
kashiwade icon kashiwade
2022年4月7日
traPグラフィック班の活動紹介
annin icon annin
記事一覧 タグ一覧 Google アナリティクスについて 特定商取引法に基づく表記