feature image

2021年4月1日 | 活動紹介

2020年度SysAd班を振り返る【新歓ブログリレー2021 24日目】

この記事は新歓ブログリレー24日目の記事です。

こんにちは、19Bの@temmaです。
普段は、部内サービスの開発・運用をしているSysAd班というところで活動しています。

引き継ぎ

SysAd班は前リーダーである@to-hutohuの主導によって、昨年(2019年)から本格的に"チームらしい"活動を始めました。

2019年度SysAd班を振り返る【新歓ブログリレー2020 23日目】
> この記事は新歓ブログリレー2020 23日目の記事です こんにちは、16の@to-hutohuです。普段はSysAd班として、部内サービスの開発や運用をしています。SysAd班について詳しくは↓をご覧ください。 SysAd班このページではtraPのSysAd班について紹介します。 SysAdとは “System Administrator”の略語で、直訳するとシステム管理人のことです。この言葉から分かるように、SysAd班は主にサークル内での交流や開発を支援するための活動を行なっています。‌‌まずはSysAd班で開発している主なサービスや利用しているアプリケーションについて紹介…
昨年の振り返り記事 - 前提になっているところが多いので先にor並行して読んでね

僕はそこで、「持続可能な運用を目指す」という目標を掲げました。
この目標を達成するために様々な取り組みをしました。
今振り返ってみると「メンバー」「仕組み」「ドキュメント化」の3つに分類できるかなと思いました。

メンバーの育成・仕組み化・ドキュメント化の3本を軸に"チームらしい"活動をスタートし、後期には

より多くの人が貢献できる/したくなる仕組みづくり

をテーマにアウトプットの増加や開発環境の整備に取り組みました。
僕がリーダー補佐として立候補したのも、この時期(9月末頃)ですね。

仕組み化の一環として、SysAd班のリーダーはマネジメントと技術の2リーダー制を採用しています。
昨年はそれぞれ@to-hutohuと@takashi_trapがリーダーとして活動してくれました。

僕は@to-hutohuからマネジメントリーダーを引き継いだわけですが、振り返ってみると

僕の方のリーダーの仕事は「SysAd班としてやらなければいけないことを洗い出し、それを終えなければいけないタイミングまでに終わらせるように最大限努力する」こと

という明確な要件提示に始まり、徐々に仕事を任せるという形で「いかにマネジメントを行うか?」という点に注力して引き継ぎを行ってくれたように感じます。(もちろん、traP内のサービスに関するドメイン知識はちょこちょこ受け継ぐ必要があるわけですが)

そして、2019年度末をもって@to-hutohuが卒業し、名実ともに新体制での活動が始まりました。

新体制

@temmaと@sappi_redをマネジメントリーダー・技術リーダーとして活動を始めた、今年一年のテーマはとにかく 「はずみ車を回し続けること」 でした。

就職活動の佳境と被っていたり、研究をしないといけなかったりで正直めちゃくちゃ大変でしたが、はずみ車を回し始めるぞという強い意志で頑張りました。

少しずつ動き始めたはずみ車でしたが、同時に、ここで手を緩めると止まってしまうのではないかというプレッシャーもありました。

その場にとどまるためには、全力で走り続けなければならない(It takes all the running you can do, to keep in the same place.
Lewis Carroll, Through the Looking-Glass

3つの軸

メンバー育成

サービスを運用していくためにはメンバーそれぞれが技術力を持つ必要がありました。
そして、その技術力が今後も下の代に引き継がれていく必要があります。

これに対しては、非常に安直ですが講習会を多く開催するという取り組みを行いました。
中でも力を入れたのがQSoCとWebエンジニアになろう講習会です。

知識や技術を受け継いでいくことは、どんな組織においても必要なことだと思います。
特に、運用するサービスの増えてきたSysAd班にとって、メンバー数の問題は常につきまといます。

昨年の取り組みはとても良かったと考えていて、実際、現プロジェクトリーダー10名のうち、私を含めた6名は大学からプログラミングを始めています。

ですが人数的には十分でなく、各プロジェクトリーダーが2~3のプロジェクトを掛け持ちで管理している状況で、個人の負荷が高くなってしまっているのでその点はどうにかしていきたいと考えています。(1年生に引き継いでいるプロジェクトもあるのでそこまで悲観的ではないですが)

QSoC

「traQ Spring of Code」略してQSoCは、「Google Summer of Code」をtraPでもやろうということで、入部した直後のメンバーに部内サービスへのコントリビュートを通してGitHubの使い方やtraQでのコミュニケーションの仕方を学んでもらおうというイベントです。

昨年の課題として、参加者が少ないと言うことがありましたが、やはり手を動かすことに優る学習はないだろうということで、告知を丁寧に行った結果、今年は35名が参加してくれました。
後で述べる1on1面談でもQSoCに対する反応は良く、やってよかったと思います。

もし時間があれば、ぜひ以下のレポートも合わせて読んでみてください。

今年もQSoC終わりました。
こんにちは、SysAd班のtemmaです。今年度は新歓イベントから入部まで全てオンラインで実施されたtraPの新歓ですが、実はその後の講習会などもオンラインで行われています。今回は、入部後の導入として行った取り組みについて紹介します! traQ Spring of Code「traQ Spring of Code」略してQSoCは、「Google Summer of Code」[https://summerofcode.withgoogle.com/]をtraPでもやろうというコンセプトで、traQを中心としたtraPの運用するサービスにコントリビュートしてもらうと言う企画です。…

Webエンジニアになろう講習会

なろう講習会はISUCONやDockerなどの番外編も含めると全13回の講習会で、プログラミングについてほとんど知らない状態から始めて、最終的にはTwitterのクローンサービスを開発するところまでを目標としたものでした。
講習会の時間を合計すると大体45時間くらいです。

前リーダー@to-hutohuの肝入り企画であるこの講習会もQSoCの後に行いました。

前述のQSoCもそうですが、今年はCOVID-19の影響で新歓から講習会まで全てオンラインで行わなければならなかったので、昨年に比べて資料に言葉を尽くすことをメインにいくつか改善を行いました。

昨年はQSoCもなろう講習会もTAが少なく運営が大変そうでしたが、今年はSysAd班のメンバー全体がTAがとして補助してくれたので主催としては大変楽になりました。

これは「なろう講習会を受けた人が来年のなろう講習会を主催するようになる」ということを意味しています。
有り体に言ってしまえば、恩を着せてその見返りとして来年度のなろう講習会をやってもらうということですね。
一度このループが始まってしまえば、講習会受講生がある程度いる限り複数人で講習会運営ができるようになるので安定して技術力の継承ができるようになると考えました。
僕自身、traPへの恩が返しきれないくらいあるのでそれに報いるために頑張ったという次第です。

こんな風にメンバー全体が参加してくれるのも、昨年の運営の苦労があったからだと思っています。
「ご恩と奉公」の文化が根づいてくれたのは、僕にとって、そして何より発起人である@to-hutohuにとって嬉しいことだと感じます。

心理的安全性

チームとして高めあっていく上で、どうしても必要になってくるのがオープンな議論、それを支える心理的安全性だと考えています。

今年は、オンラインで活動することを余儀なくされていたため、この点が非常に不安でした。

QSoCやなろう講習会を開催する中で、常に「質問するやつは偉い」「心理的安全性とは...」「何もしなければ間違えない、なにかすれば間違えるのは普通」といった内容に触れ、心理的安全性という概念を浸透させることに注力しました。

色々心配していたわけですが、新入生が部内SNS「traQ」に馴染むのは、思いの外早く、timesの利用頻度はむしろ20Bのほうが高いぐらいではないでしょうか。
それでも、議論となるとハードルが高いようでしたが、各プロジェクトが定期的な集会を開いてくれたおかげで、プロジェクト内でのコミュニケーションは活発になってきています。

副作用として、GitHubのissueベースでコミュニケーションする文化がついたのは、エンジニアらしくて良いなと思います。

心理的安全性の前提として、ある程度、回数を重ねることによるアイスブレイキングが必要だったというのは反省点な気がしています。

仕組み化

これまでSysAd班内で管理していた内製サービスを、プロジェクトという単位で切り出し、班外からもメンバーを募るようにしました。同時に、各プロジェクトのコードオーナー(プロジェクトリーダー)を明確にしました。

プロジェクトリーダーに意思決定権があることを明確にしたことで、自信と責任をもってプロジェクトが運用され、レビューが積極的に行われるようになったのはとても嬉しいことです。

ドキュメント化

属人性を排除するためにはとにかく情報を共有する必要があります。

昨年は主にSysAd班で管理しているリソース(ドメイン、サーバー、アカウント etc...)をまとめ、作業や障害対応を記録するようになりました。

作業内容をきちんとドキュメント化することによって、手動で行う必要がある定型作業などが誰でも行えるようになり、SysAd班に貢献しやすくなるというメリットを狙ってのことです。

今日時点で運用のレポートが88ページ、障害対応のレポートが21ページになっています。

今日時点では、運用のレポートが126ページ、障害対応のレポートが32ページになっています。

今年度は、主に開発に関するドキュメントの整備を@sappi_red主導で行いました。

開発に関するドキュメントを書く上で、決まったことを書くより"なぜ"決まったのかを重視して書くことに注意しました。サークルの開発ということもあり、決まった仕様でも割とよく変わるので、判断の基準を提供することに重心を置いたわけです。

また、開発ドキュメントの整備と並行して、ユーザー(班員)向けのドキュメント整備も進められました。

インセンティブ・環境

昨年から頭を悩ませていたのが、SysAd班として活動するメリットがあるのか?ということでした。
メンバーの働きに対して、SysAd班として何が返せるのかということを考えなければ、極論"やりがい搾取"のような図式になると考えたわけです。

とは言っても、給料が発生するわけではないし、サークルはある意味やりがいが本懐であるとも言えるので、モチベーションとしては少しでもSysAd班として活動する価値を提供できたら嬉しいというものです。
具体的に、SysAd班の知名度を高めるという方向性は昨年と同様です。

アウトプット

大会

昨年に引き続き、ISUCONやICTSCなどの大会にも積極的に参加しました。
メンバーの頑張りにより、

と言う結果を残すことができました。
他にも、技育展では部内SNS「traQ」のプレゼンをさせていただき、優秀賞を頂きました。
LT会等でも発表させていただけるようになり、traPの認証基盤について話したりと、細かな技術についてお話する機会につながったのは、ありがたいことです。

ブログ

こちらも昨年に引き続き、継続的なアウトプットを心がけました。

SysAd班 - 東京工業大学デジタル創作同好会traP
『デジタル創作同好会traP』は、東京工業大学で活動するデジタル創作・プログラミング系サークルです。ゲーム制作を中心に、アプリ、音楽(DTM)、グラフィック(イラスト、3Dモデル、ドット絵、動画)などのクリエイティブ活動の他、競技プログラミング(競プロ)やCTFも行っています。

また、作業ドキュメントとして溜まってきた技術的知見を"SysAdTechBlog"として公開するようになりました。
1年生が積極的にテクニカルライティングをしてくれるようになったことに、ドキュメント化の文化醸成を感じます。

今後も月2本のペースで出していく予定なので、ぜひ読んでみてください!

DevOpsBOTがエラーを吐くようになった話
どうもこんにちは、20BのSysAd班 [/sysad/]の@hijiki51です。 この記事はSysAdTechBlogの第一回目の記事です?これ以降も月に1~2本、SysAdTechBlogのタグでSysAdの技術を紹介する記事を出す予定なのでお楽しみに! 早速ですが、つい最近traPサービスの管理に使っているDevOpsBotが一時的に機能しなくなるということがありました。今回はDevOpsBotの紹介も兼ねて、そのことを書こうと思います。 DevOpsBotとは?traPで運用している各サービスのデプロイなどをtraQ上から実行できるようにするBotです。 traPti…
ブログを10倍速にした【新歓ブログリレー2021 9日目】
この記事は新歓ブログリレー2021の9日目(3/17)の記事です。また、SysAdTechBlogの第二回目の記事です。 こんにちは、19のSysAd班 [/sysad/]の翠(sappi_red)です。 ブログ、そうです、この今見ているブログです。このブログのレスポンスが返ってくる時間を10分の1にする改善をしました。 技術このブログではGhostというNode.js製のCMSを利用しています。 WordPressからGhostへ乗り換えました??? HAPPY HALLOWEEN! ??? traP鯖管の@kaz[/author/kaz]です。traPメンバー…
traQのメンション・チャンネルリンク機能について【新歓ブログリレー16日目】
こんにちは。20BのSysAd班 [/sysad/]の@reyuです。 この記事は新歓ブログリレー2021の16日目の記事です。そして、SysAdTechBlog [/tag/sysad-tech-blog/]の第3回目の記事です。 3といえばtraQ v3ことtraQ-Sですね。というわけで今回は部内向けのチャットサービスであるtraQについての話です。 traQについてtraQとは、traPで独自に開発・運用している部内向けのチャットサービスです。 詳細については以下の記事などに書かれています。 部内製チャットサービス「traQ」UIのこれまで 【AdC2019 35日目】この…

開発環境

開発への参入障壁を下げることを目的に開発環境の整備を進めました。

自動化

部内Gitホスティングサービスで開発・運用していたほぼ全ての既存サービスをGitHubに移行し、GitHub ActionでテストからDocker imageのビルドまで行うようにしました。

docker-compose upすれば各サービスを手元で動かすことができるので、本質でないところで疲弊する必要がなく、issueやタスクに取り組みやすくなります。

他にもtraQ向けの各種Bot・WebhookをGoogle App ScriptやCloud Functionsに移行し、修正が自動でデプロイされるようになりました。

traPtitech/sysad-webhook-logger
Contribute to traPtitech/sysad-webhook-logger development by creating an account on GitHub.
Cloud Functionの利用例

バックアップ

積極的にミスできる環境を作れたのは良かったと思います。
今後はオブジェクトストレージのバックアップ体制も整える予定です。

昨年はDBの世代バックアップを取るようにしましたが、オブジェクトストレージのバックアップが取れていなかったため、ドライブのアップデートなどがBlockingされていました。
これらを前にすすめるために、今年は、オブジェクトストレージをGCPのCloud Storageに世代バックアップするようにしました。

ここまでで、SysAdで運用されているサービスの、すべてのデータにバックアップが存在するようになったので、安心して開発できるようになりました。

traPtitech/conoha-backup-helper
Contribute to traPtitech/conoha-backup-helper development by creating an account on GitHub.
隔月で実行されるバックアップスクリプト

新しい取り組み

1on1面談

意見の吸い上げを行うために1on1面談を1~1.5時間づつ行い、面談で話した内容をメモにまとめそれぞれの班員に渡しました。

チームの運営に関して、「どうすればもっと積極的に発言してくれるだろうか」「どうすればもっとタスクを取ってくれるようになるだろうか」といった悩みは尽きませんが、実際聞いてみないことには分からないということで面談に至りました。

特に今年は、対面で話をする機会が少なく、さりげない意思表示を拾い上げることが難しい状況だったので1対1と言う状況を作り出すことは効果的だったと思います。特に、興味分野や将来の夢など個人にスポットを当てた質問ができたので、より良いタスクマネジメントを実現するために活かしていければと思います。

今後は、短い面談を定期的に行いたいですね。

週間報告書

開発の過程を残すことでプロジェクト間で活動を共有するとともに、ドキュメントに残らない情報をすくい上げるものとして週間報告を書くようしました。
飛んでいる部分もありますが2019/10/20から1年以上書かれています。

一方、書きっぱなしでフィードバックが行われていなかったため、更新頻度も落ちてきていました。
2021年度は積極的にフィードバックを返す機会にしていければと思います。

開発

運用の話が主になってしまいましたが、もちろん開発も盛んに行っていたので、いくつか紹介します。

traQ-S

部内専用コミュニケーションツールのtraQは、2020年度の4月頭にv2のtraQ-Rからv3のtraQ-Sに移行しました。
UIが一新され、コードベースでも保守性・拡張性を意識した設計になっています。
リリースからの、この一年で2620コミットされており、念願の検索機能も追加されました。
利用しているOSSへ何件かPRを出したりしているので、機会があればブログや技術書として公開できるかも知れません。

爆☆誕 traQ-S【新歓ブログリレー2020 54日目】
この記事はtraP新歓ブログリレー54日目の記事です。 ‌ ‌ こんにちは、@spa (Twitter: @__spaspa__ [https://twitter.com/__spaspa__])です。最近4月を迎えたと思ったらもう5月です。 さて、このたび部内SNSサービス「traQ」の新バージョンである、「traQ-S」をリリースしました!? この新しいtraQでは、UIの全面的な刷新や各種新機能などが目白押しです!早速見ていきましょう!!!!!! traPtitech/traQ_S-UItraQ S - traP Internal Messenger…
traQ - 東京工業大学デジタル創作同好会traP
『デジタル創作同好会traP』は、東京工業大学で活動するデジタル創作・プログラミング系サークルです。ゲーム制作を中心に、アプリ、音楽(DTM)、グラフィック(イラスト、3Dモデル、ドット絵、動画)などのクリエイティブ活動の他、競技プログラミング(競プロ)やCTFも行っています。

knoQ

昨年の4月にリリースされた部内向けイベント管理サービスです。
iCalを配信しているので個人で利用しているカレンダーにも反映できて嬉しいですね。

部内向けイベント管理サービスknoQの紹介~クライアント編~
こんにちは,wasabiです.僕はSysAd班という部内向けのサービスの開発・運用を行っている班に所属しています. こちらはSysAd班で運用中の 部内向けイベント管理サービス knoQ の紹介とクライアントサイドの開発についての記事になります. 目次 * サービス概要 * 使い方 * 開発について サービス概要タイトルにもある通りknoQは部内向けのイベント管理サービスになります. knoQという名前はドアのノックから来ていて@mazreanさん考案です.ロゴは@spaさんに作っていただきました. 感謝~ knoQでは具体的には以下のリストにあるようなことができます. …

traPortal

部員管理を補助するサービスとして、2018年5月から少しずつ増改築が行われていたtraPortalですが、v2ではtraP内で分散してきたサービス群を集約するサービスとして開発することになりました。
昨年の11月にUIを一新したv2がリリースされ、現在も活発に開発が進められています。

部員管理サービス traPortal の紹介
こんにちは 20B の @SSlime [/author/SSlime/] です。この記事はtraP SysAd班(紹介ページ [/sysad/])で運用中の 部員管理サービス traPortal の紹介記事になります。 目次 1. サービスの概要 2. 開発 3. traPortal v2 サービスの概要traPortal はメンバーそれぞれの情報の管理や、招待コードの取得などの traP という組織を管理するような部分を担ったサービスです。具体的には traPortal では現在、以下のことができます。 部員向け 1. 入会手続き 2. 自分のプロフィール・個人情報の…

NeoShowcase

部内PaaSとして部内外で評価の高いShowcaseですが、長らくメンテナが不在であったためレガシー化していました。
NeoShowcaseは、より柔軟でより使いやすいk8sライクな構成のPaaSを目指して開発されてるプロジェクトです。
まだリリースはされていませんが、既存のShowcaseを再現するのに最低限必要な機能は実装されおり、UIの実装も始まりつつあるので今後が楽しみです。

部内製チャットサービス「traQ」とPaaS基盤「Showcase」の障害対応の話【AdC2019 25日目】
この記事は東京工業大学デジタル創作同好会traP アドベントカレンダー2019の25日目の記事です。 -------------------------------------------------------------------------------- とーふとふです。traPのブログで記事を書くのは久しぶりな気がします。 現在私はSysAd班という、WikiやtraQ(部内製チャットサービス)など部内向けのサービスの開発・運用を行っているチームのリーダーをしています。今回のアドベントカレンダーではSysAd班の活動の中から、個人的に面白いなと思った障害とその原因究明、対…
traPtitech/NeoShowcase
Contribute to traPtitech/NeoShowcase development by creating an account on GitHub.

振り返ってみて

ここまで読んでいただいてありがとうございます。
この一年間SysAd班のリーダーとして活動させていただいたわけですが、僕がSysAd班を率いたというよりはリーダーという立場やSysAd班と言う存在に、育ててもらったという感覚が強いです。
このように組織づくりが進む中で、リーダーをできたことを光栄に思っていますし、何より実際に活動してくれたメンバーには感謝しています。

昨年度は「歯車を回し続ける」というテーマで、手探りながらも@to-hutohuさんを真似て活動してきた一年だったので、来年はもう少し自分らしさを出した活動にシフトしていけたらと思っています。

もし少しでも、SysAd班の活動に興味を持った新入生がいましたら、ぜひ新歓のイベントで実際に体験してみてください!

皆様の入部をお待ちしています!!

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

19 生命理工学院

この記事をシェア

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

関連する記事

2021年8月12日
CPCTFを支えたWebshell
mazrean icon mazrean
2021年5月19日
CPCTF2021を実現させたスコアサーバー
xxpoxx icon xxpoxx
2021年3月19日
traPグラフィック班の活動紹介
NABE icon NABE
2021年4月2日
DXライブラリで重力パズルゲームを作る
Macky1_2 icon Macky1_2
2021年7月8日
じゃぱりぱーく・おんらいん
suzushiro icon suzushiro
2021年5月16日
CPCTFを支えたインフラ
mazrean icon mazrean
記事一覧 タグ一覧 Google アナリティクスについて