チーム開発は現代のプロジェクトには欠かせない要素です。
しかし、チームとして機能することは容易ではありません。
多くの人がメンバー同士のコミュニケーションや役割分担に悩み、思うように成果を上げられない経験をしているのではないでしょうか。
この講演ではそんな悩みを解消し、グループから真のチームへと成長するために必要な要素を、私が実際に手掛けてきたチームビルディングの経験からお話しします。
特に生産性の高いチームがどのようにコミュニティを形成し、互いに協力し合う環境を作り出しているのか、その具体的な戦略とアプローチを紹介します。
参加者はチーム開発の課題を乗り越え、理想的なチームを築くための実践的な手法と、即実践できる知見を持ち帰ることができるでしょう。
ネットワークコンテンツ研究会 Nekko Cloud Teamでは,複数のメンバーの自宅をリージョンとしたマルチリージョンプライベートクラウド Nekko Cloudを開発しています.
Nekko Cloud Teamでは,Nekko Cloudを作る・使う学生エンジニアが,楽しみながらクラウド関連技術を勉強しています.
今回はNekko CloudのIaaS基盤と,それを支えるネットワークと各リージョンのサーバーについて紹介します.
また,開発の経緯や,開発中に起きたトラブルや,今後の開発計画をお伝えします.
・ネットワークコンテンツ研究会の紹介
・マルチリージョンプライベートクラウド Nekko Cloud
・IaaS基盤
・リージョン
・ネットワーク
・今後の開発計画
東京科学大学(10月1日に東京工業大学・東京医科歯科大学から改称予定)のデジタル創作同好会 traP は、来年で設立から 10 年を迎え、所属部員は8月現在で約 700 名という国内最大規模のサークルとなっています。traP の活動範囲はゲーム・Web 制作にとどまらず、競技プログラミングからデジタル音楽製作まで多岐に渡ります。
巨大なサークルゆえ複雑になっている traP が分野ごとに分離せずに1つのサークルとして活動できている要因の一つに、内製のコミュニケーションサービスを基盤とした様々なサービスの存在があるのは間違いありません。
本セッションでは traP を支えるサービスや人、仕組み・運営体制など、大規模なサークルの舞台裏をご紹介いたします。
我々ネッコ研では、複数のメンバーが所有する自宅サーバーをVPNで繋ぎ、その上にプライベートクラウドを構築するプロジェクト「Nekko Cloud」を進めています。
一般のクラウドにおいて認証認可は避けて通れない要素ですが、安全性や利便性を求めるとAWSのIAMのように仕様が膨大になってしまい、設計が難しくなります。
しかしながら、Nekko Cloudは1サークル内で提供されるサービスですので、順序立てて考えれば要件を絞ることができます。
最終的に我々は、DiscordのOAuthでのみログインできる自作メンバーポータルにOIDC Providerの機能を付けることで、認可したサービスにのみ認証情報を"プロキシ"する形のフローを採用しました。
本セッションでは、我々がどのように状況を整理し、何を主目的として定めたのか、そして設計した認証認可基盤計画の全貌をお伝えします。
ハッカソンなどで開発したプロダクトをチームで運用するためには、お金や時間など、さまざまな課題が伴います。そのため、長期運用を見送って開発を終了することも少なくありません。しかし、運用をしないと決断した場合でも、メンバーそれぞれが成長を続けるためにできることは多くあります。たとえば、プロダクトで使った技術やサービスを個人開発に活かす、技術について発表したりブログで共有する、などが考えられます。
本セッションでは、開発後にプロダクトの運用を見送る選択をした場合でも、メンバーが成長を続けるために取れるアクションについて話します。チーム開発で得た技術的な知見を発表やアウトプット、さまざまな場面で得た知識を応用する活動をすることで自己成長につなげ、新たな挑戦への足がかりとするためのヒントを共有する場にできればと思います。
学生のチーム開発では、リソース不足が常に大きな課題となります。
特にモバイルアプリ開発では、iOSとAndroidの両方を別々に開発する必要があり、チームにさらなる負担がかかります。
このセッションでは、Flutterを活用して、いかに少人数で効率的にiOSとAndroidのアプリを同時に開発できるかについてお話しします。
私が以前所属していたプロジェクトでは、実際にリソース不足などに立ち向かうため、iOS/Androidで開発していたアプリをFlutterに置き換えたことがあります。
その際に直面した課題や、移行にあたって考慮したことなど、具体的な事例を交えながらお伝えします。
学生チームが抱えるリソースの問題を解決する一助となれば幸いです。
学生エンジニアサークルの創立者は大抵優秀で、一部のメンバーからは神ように崇められているところもあります。今回は、そんな神からサークルを引き継ぎ、運用していくことの難しさと努力したことについて話します。
自らエンジニアサークルを作るような方は、技術力、行動力、求心力のどれをとっても学年、学部一クラスで、大抵エンジニアを目指す人なら聞いたことあるようなデカい企業に就職します。
そんな人からサークルを引き継ぐと、一年前の実績に追いつくことすら死力を尽くしてなんとかなるかどうかというレベルでした。その過程で、サークルを大きくしつつ、個々人の熱量も維持するために大切だと感じた、今後引き継いでいく人や興味のある人に知ってほしい、
・自分には無い求心力を補う方法
・追ってしまう先輩の幻影と打ち消し方
・大変な思いをしてもサークル運営に参画し続けるべき理由を主に話します!
私の所属するNekko Cloud Teamでは、VPNでメンバーの自宅サーバを接続し、プライベートクラウドを構築しています。
ProxmoxでIaaS環境を運用しているのですが、手作業でVMを作成する工程は冗長であり、時間のかかる面倒な作業でした。
そこで、我々は「VMを作成する工程」をトイルとし、VM用プロビジョニングツール「Terrakko」を作成しました。
今回は、Terrakkoプロジェクトを通して、Nekko Cloud TeamにPlatform Engineeringという考え方をもたらす過程を紹介します。
アジェンダ:
マルチリージョンプライベートクラウド Nekko Cloud
Nekko Cloud IaaS基盤の開発における課題
サークル内のトイルと向き合う方法
Infrastructure as Codeという選択
プロビジョニングツール Terrakko
学園祭アプリの開発はたくさんのステークホルダーがおり、様々な予想外なことが発生します。
他企画チームの遅れ、コラボ企業との認識の差異、アプリのリジェクト...
そうして、立てたスケジュールは予想外にガラガラと崩れていきます...
今回、早稲田大学の学園祭である理工展において、アプリ開発のチーフを務めていた経験から、実際の開発スケジュールと遅れに直結する様々な事例、そしてその対処法をお話しします。
どういうスケジュールにすればいいかわからない、また、想定外の問題が起きた時不安だ、という方々のお力になれれば幸いです。
チーム開発を進める上でチームメイトの選定、適切な技術の選定、コードのルールが必要である。
役割をどう振るのか、話し合える人なのか、共同開発をする上でこの技術スタックで行うことが適切なのか?ということ。また、好き勝手にコードを書かせてはいけない。ディレクトリ構成を決めたり、lintを設定することでコードの整合性を保つ必要がある。またgitの使い方にルールを持たせることでgitでのトラブルを防ぐことができる。ハッカソンやプロジェクトなどでPM兼エンジニアを行った私だから話すことができる共同開発をストレスなく楽しく行う上でのチーム構成や進め方、技術選定、ルール決めについてお話しします。