2020-09-30

PyCon JP 2020 システムチーム振り返り【スケジュール編#2】

はじめに

皆さんこんにちは。PyCon JP 2020システムチームの振り返りブログ第2弾です。今年のシステムチームの活動の裏側について紹介しちゃいます。前回のブログの続きになりますので、もしよければ前回のブログもご覧ください。

前回のブログはこちら
PyCon JP 2020 システムチーム振り返り【スケジュール編#1】

スケジュール編#2

2020/6 - 7
この期間で本番サイト実装の実装、公開を行いました。当初は6月15日公開の予定でしたがトラブルが発生し、最終的にWebサイトの初回公開は7月7日となりました。このあたりの技術的な話は別の投稿で、、、
デザインチームとシステムチームともに進捗が遅れている認識があったため、必要であれば毎週進捗確認のミーティングを実施してカバーしてました。デザインのやり取りはAdobe XDを使用することでだいぶコミュニケーションの齟齬が無くなりスムーズに進めることができました。

【ワンポイント】
メンバー全員がボランティアということであまり頻繁に打ち合わせを設定することは控えてました。ですがスケジュールがピンチということで、毎週の進捗、認識合わせの打ち合わせを実施したのですが結果的には成功だったと思っています。必要であればその場でのコミュニケーション、各週の進捗打ち合わせをすることも大切だと学びました。

2020/8初旬-本番まで
この時期には具体的なコンテンツの内容が確定し始める段階でした。スポンサー情報や行動規範の内容、キーノートの情報などを本番に反映しはじめ、そろそろセッションの内容も確定し実装を進める段階でした。タイムテーブルページの実装工数がかなり多かったため、タイムテーブルページは2段階で公開する方針となりました。

1段階目はsessionizeの埋め込みタイムテーブルを表示し、並行して本番用のタイムテーブルを実装するように進めました。


2段階目の公開で本番用のタイムテーブルに差し替えました。


実はsessionize埋め込みタイムテーブルと本番用のタイムテーブルを別々のパスで作成していたため、以前のパス(/session/)でアクセスすると前のタイムテーブルが見えてしまう、という状態でした。既にいろいろな記事等でタイムテーブルのリンクを記載していたため、現状のサイトでは本番用のタイムテーブル(/timetable/)にリダイレクトするように変更してます。;(´◦ω◦`):

2020/8/28-29 イベント本番
イベント本番で不具合が発覚することを想定し、システムチームのメンバーは常に対応できるようにしていました。実はTwitterで要望頂いていたセッションモーダルをESCキーで閉じるようにする修正は当日修正して当日デプロイしてました(ง •̀ω•́)ง✧


また、スピーカの方がアップロードされた資料は、スピーカの発表終了後数時間後にWebサイトに反映していたことをご存じでしょうか?当日に本番デプロイを何度も何度も実施していたので、システムチームとしてはヒヤヒヤしっぱなしでしたΣ(; ゚Д゚)ウハッ


【ワンポイント】
不具合修正、資料のアップロードなど本番時のWebサイトの修正が結構ありました。詳細は別記事でまとめる予定ですが、ビルド、デプロイ回りをできるだけ自動化することで、本番時の修正もスムーズに実施できたと思います。

2020/9 イベント終了後
スピーカーの方の発表資料の更新と、YouTubeの動画URLの修正作業を実施しました。当日のYouTube Liveは長時間の一つの動画でしたが、セッションごとに分割した動画へのリンクに修正したものへ修正してます。皆さんぜひ見てくださいね。


最後に

振り返ってみると1年近く活動してましたね。当初からスケジュールはしっかりしようとはしてましたが、初めてのことも多く結果的にWebサイトの公開も遅れてしまいました。PyCon JP 2021の開催はまだ確定ではありませんが、今年の知見を活かしてもっとより良いイベントにできるように頑張りたいと思います。(๑•̀ㅂ•́)و✧

PyCon JP 2020 全体振り返り会を開催しました

皆さん、こんにちは。
PyCon JP 2020 コンテンツチームリーダーの二木です。

PyCon JP 2020から1ヶ月過ぎますね。
9/24(木)にスタッフ最後の活動として、全体振り返りを行いました。

 

なぜ全体振り返りをやったか

全体振り返りの目的は

  • 2021以降のイベントをよりよいものにする
  • 2021以降のスタッフ活動をより効率的に行えるようにする

です。
事前に各チームで振り返り(KPT)を行い、全体に共有する事項を持ち寄る形式で行いました。 

 

話題になった事項

  • 定例mtgの曜日固定
  • タスク管理ツール
    • JIRAがやや使いづらかった
    • JIRAの運用ルールの問題かも
  • 外注について
  • タスクが見えにくかった、取りに行きにくかった
  • スポンサーからのフィードバック
  • ナレッジベース作成 

 

終わりに

振り返り会は、各自の課題感を共有する機会になりました。
よかったところは維持し、「課題かな」というところはちょっとでもカイゼン案を試して、2021以降につなげていきたいですね。

2020スタッフ全体で集まる活動としてはいったん一区切りとなります。
この後は残りの個別タスクをチームごと・個人ごとに進めることになります(会計処理等まだ残作業があります)。
また、有志でナレッジベースの作成を進める予定です。
作業会をconnpassで募集すると思うので、今後のPyCon JPに興味がある方はぜひご参加ください!

PyCon JP 2020 スタッフの皆さん、本当にお疲れさまでした!!👏👏👏

※2020年9月30日現在、2021以降のPyCon JPについては未定です。2021に関する情報については、Blog等でお知らせする予定です。


P.S. 記念撮影!

PyCon JP 2020 振り返り会 参加者の写真
 

ヒヨコづくし!🐣🐣🐣🐣🐣🐣🐣🐣
PyCon JP 2020スタッフ内では、Snap Cameraの「Easter Baby Chick」が爆発的な人気を誇っています。
ヒヨコに囲まれた会議はほっこりしますね🤗

Snap Cameraの「Search Lens」に以下のURLを入力すると皆さんも使えますよ。
https://www.snapchat.com/unlock/?type=SNAPCODE&uuid=69692d3b759942e894f7ce97d16f5138&metadata=01

それでは!

2020-09-28

PyCon JP Association運営会議 #41 を開催しました

鈴木たかのり@一般社団法人PyCon JP Association副代表理事です。

PyCon JP Associationは2、3カ月に1回理事が集まって運営会議を行っています。第41回は9月25日(金)に開催されました。

運営会議の参加者

理事とオブザーバーのみなさんでオンライン上で、一般社団法人PyCon JP Associationが主催、支援するイベントなどについて議論しました。

運営会議の議事録はすべて公開されており、第41回の議事録は以下のURLで参照できます。

主な内容は以下のとおりです。

  • PyCon JP 2020の開催報告
  • PyCon JP 2021の座長について
  • APAC支援としてPyCon JP 2020のまとめビデオを作成した件
  • PyCon JP Associationロゴのレギュレーションについて
  • リアルイベントができない中での、2020年の活動について

次回運営会議は11月25日(水)に開催します。PyCon JP Associationの活動に興味がある方、Python関連のイベントなどについて相談、意見がある方など、オブザーバー参加をお待ちしています。以下のURLから参加登録して、お気軽にご参加ください。

2020-09-26

10月10日、PyCon mini Hiroshima 2020 オンラインを開催します!

PyCon mini Hiroshima 2020 座長の西本です。

去年に続いて、という感じとはいろいろ違いますが、今年の PyCon mini Hiroshima はテーマ「つながろう Python」ということでオンライン開催します。

  • 日時:10月10日(土曜)14時~17時
  • 開催方法: Zoom ミーティング



定員は80人ですが現在すでに約50人のお申込みをいただいています。

参加登録は下記からお願いします。参加無料です。

connpass イベント

スケジュール(タイムテーブル)を公開しています。

以下は今年のイベントのポイントです。

(1)凝縮してお届けします!

多くの人にフル参加していただきやすいように、開催時間を14時から17時の3時間としました。

17件のお申込みの中から採択した講演(20分)4件、LT(5分)4件をお届けします。

講演タイトル

  • HTTP/2とASGI Webサーバの関係 - Hypercornを例に
  • Pythonとベイズ統計
  • データサイエンスのためのリーダブルコードのススメ
  • Python / OpenData / Colab

LTタイトル

  • Stay home, but connect global Python users!
  • Pythonで始める、Blenderアドオン制作入門
  • Pythonで挑む計算社会科学
  • Pythonで始める自作キーボード入門

(2)基調講演は寺田学さん

寺田学さんの基調講演のタイトルは「PyCon JP が生まれて10年、コミュニティのつながりとPython 〜PyCon JP誕生からコミュニティの重要性・多様化〜」です。

Python をはじめとするOSS関係コミュニティで幅広くご活躍されている寺田さんに「聞きたかったこと、全部盛り」のご講演をお願いしてしまいました。ご期待ください。

(3)事前にアイスブレイクしましょう!

お申込みされた参加者、講演者の皆様に、事前に自己紹介や交流をしていただける PyCon Hiroshima Slack をご用意しています。

(Slack 参加方法はお申込みされた方だけにお知らせします)

Slack でいただいたご質問に、イベント当日の「Pythonお悩み相談室」コーナーでお答えすることも予定しています。

ぜひお早めにご参加いただき、事前にたっぷりアイスブレイクして、当日めいっぱいお楽しみいただければ幸いです。

(4)他にも活動しています!

connpass では運営ミーティング(にぎやかし枠もあります)や気軽にご参加いただける定期的な勉強会「すごい広島 with Python」をお知らせしています。

connpass pycon-hiroshima グループをご参照ください。

以上、皆様のご参加をお待ちしております。

2020-09-22

PyCon JP 2020 チュートリアル振り返りインタビュー【Slack Bot編】

チュートリアル振り返りインタビュー【Slack Bot編】

みなさん、こんにちは。
PyCon JP 2020チュートリアルSlack Bot編担当のあっきーです。皆さんはもうチュートリアルの動画を視聴されましたか?今回のチュートリアルの作成にご協力頂いた3名の方に、チュートリアルの見どころや苦労したところなどをインタビューさせて頂きました(*^▽^*)
既に視聴頂いた方も、これから視聴頂く方も、また別の視点で楽しめる内容となっていると思いますので、こちらの記事もぜひ一読ください。

チュートリアルの概要はこちら(リンク)
PyCon JP 2020 Tutorial

チュートリアルで使用したドキュメントはこちら(リンク)
PyCon JP 2020 チュートリアル Pythonの開発エコシステムを学ぼう Slack Bot編 ドキュメント

当日のアーカイブはこちら(リンク)
PyCon JP 2020 Tutorial Slack Bot編


インタビュー内容

Q. はじめに自己紹介をお願いします

佐野さん
佐野と申します。自動車機械部品設計事務所でインフラエンジニアやソフトウェア開発をしています。また、米農家もしてます。Python駿河、Unagi.py、PyCon mini Shizuokaの運営をしております。

中西さん
中西と申します。Unagi.pyと機械学習浜名湖というグループの共同運営をしており、PyCon mini Shizuokaでも実行委員を務めさせていただきました。

中井さん
中井と申します。Python駿河、Unagi.py、PyCon mini Shizuokaの運営をしてます。PyCon JPは今回が初めての参加です。

Q. 今回のチュートリアルのコンセプトがあれば教えて下さい

佐野さん
タイトルが「Pythonの開発エコシステムを学ぼう Slack Bot編」となっていることからわかる通り、Pythonの開発における技術要素を幅広く扱っています。ターゲットとしては初学者の方をメインに考えていました。
初学者の時はそもそも開発の流れを理解することが難しいと感じています。例えば開発環境のデファクトスタンダードは何か、そもそもどのような流れで開発をすればいいのか。こういったことは調べれば検索できますが、断片的な結果でしか検索できないことが多く、開発エコシステムを理解するのはなかなか大変だと思っています。
今回のチュートリアルを通して、「開発環境の整備」、「開発する」、「テストコードを書く」、「ドキュメントを作成する」この一連の開発エコシステムを学ぶことができると思っております。

Q. 今回のチュートリアルのこだわりポイントを教えて下さい

佐野さん
自分だったらこうするだろうな、このツールを使うだろうな、という自分の中でのベストプラクティスをまとめました。また、基礎的な内容に加えて最新のツールの内容も積極的に説明の中に含めています。

中西さん
開発の部分だけではなくエコシステムを網羅できている部分が良かったと思っています。コードを書く部分と同じくらい、テストを書く部分、ドキュメントを作成する部分に時間を割いています。

中井さん
今回のチュートリアルは、開発エコシステムを学ぶという壮大な目標を掲げていますが、一方で、Slack Bot の作成と運用を体験してもらうことで、実用的な成果物も取得できるようになっています。

佐野さん
どのようなアプリケーションを作るのかを考えた際に、最新のトレンドのチャットツールの内容を入れたいという思いがありました。エコシステムだけだと地味な印象なので、キャッチーな要素を入れることで、身近な内容でエコシステムを学ぶことができるコンテンツになったのではと思っています。

Q. 開発環境の説明、bot作成、テストを書く、ドキュメントを書く、という流れに何か意図はありますか?

佐野さん
今回は初学者の方をターゲットにしたので、例えばTDD(テスト駆動開発)の様にテストから書き始める、ということは考えていませんでした。まず要件定義を実施して、要件に合うように開発をする。今後の変更に耐えることができるためテストコードを作り、ドキュメントも作成する、という流れの方が初学者は理解しやすいと思っていました。

中西さん
確かに、初学者の方にいきなりテストから入るのはなかなか難易度が高いかもしれないですね。

Q. そういえば、画面内に文字起こしが表示されていましたが、何か意図があるのでしょうか?

佐野さん
個人的な動機で実施してみたかったので、表示してました。以前、シビックテックのイベント「Code for Japan Summit」に去年参加した際に、すべてのセッションでトークの文字起こしがされていたのを見て、自分も試してみようと思いました。そのイベントではアクセシビリティに非常に配慮された内容のカンファレンスでした。
世の中には様々な人がいるので、今回のチュートリアルの音声をライブで聞くことができない人もいるかもしれない。そのような方に機会損失をしてほしくない、という思いで実験的に導入してみました。

Q. テストコードを書く、ドキュメントを作成する、という内容を含められた思いについてお聞きしたいです

佐野さん
テストコードを書く、ドキュメントを作成するということは業務でプログラムを作成する場合に絶対に必要になる知識だと思っています。テストは品質を保証する手段として、ドキュメントはプログラムの仕様書としての役割があると思っています。テストコードの役割としては、既存のコードを修正する際に、既存の振る舞いを破壊していないかを確認するために必要だと思います。
テストやドキュメントを書いておくのは半年後の自分のために絶対に必要だと思っています。自分も何度も助けられたので、ぜひ体験してほしかったです。また、普段からも意識してほしいと思ったので内容に入れました。

中西さん
後から見返して困ることはいっぱいありますよね。
誰もが一度は経験していることだと思います。

中井さん
テストコードを書く、ドキュメントを書くのは必要だと思いますが、佐野さんの中でのベストプラクティスを教えてもらえるのは非常に良かったと思っています。特にドキュメントの自動生成は本当に便利だと思いました。

佐野さん
テストコードを書く、ドキュメントを書くという作業は現在ではなく、未来に対してどうするのかという行為。実施することに絶対に意味はあると思っています。

Q. 普段Markdownを書くことが多いのですが、reStructuredTextのメリットなどあれば教えてほしいです

佐野さん
Markdownは方言がありそれぞれの方言で書き方が変わったりすることがありますよね。reStructuredTextの場合は方言がないため、書き方に揺れが起きることがないです。また、Markdownと違い豊富な機能があります。sphinxの場合は、モジュールを使うことでさらに便利に使うことができます。

中西さん
構造化されたドキュメントを生成する場合は、reStructuredTextの方が書きやすいと思っています。Markdownは例えばA4サイズ1枚の文書の場合等は便利だと思いますが、複数ページになるような文書の場合はMarkdownだと厳しいと思います。

中井さん
私も同じ認識です。Markdownは1画面で収まるような文書の場合に適していると思います。reStructuredTextはどちらかというと複数ページに渡る文書に適した構文がそろっている印象です。
Pythonのドキュメントを作成する場合に、reStructuredText+sphinxの組み合わせが適していると思っていますし、本当に便利です。autodoc拡張機能を使うと自動でドキュメントを作成する部分が本当に便利で、参加者に実感してほしかったです。

Q. 時間的制約で今回の内容には入れられなかったが、本当は入れたかった、という要素があれば教えてください

佐野さん
今回のチュートリアルのSlack BotはあまりインタラクティブなBotにはなっていません。コマンドを実行すると答えが返ってくるというシンプルな内容でした。実はBotをもっとインタラクティブにすることもできます。現在(インタビュー時点)ではアルファリリースですが、Bolt for Pythonを使うとBotとのインタラクティブなやり取りが簡単に実現できますし、Block Kitを使うとボタンを配置することもできます。もっとリッチなBotにすることもできたのですが、時間的に今回は説明を断念しました。

中井さん
今後の勉強会でぜひ共有してほしいですね。

Q. 最後に一言お願いします

中西さん
長丁場本当にありがとうございました。オフラインでも開催できることを楽しみにしてます。

中井さん
ご参加頂いた方7時間本当に大変だったと思います。最後までついてきて頂き本当にありがとうございました。「出来たよ」というコメント本当にうれしかったです。

佐野さん
PyCon JP 2020の1コンテンツとして参加できてよかったです。自分としても意義のある内容だったと思っています。これからもコミュニティ活動頑張っていきます。

PyCon JP 2020 コンテンツチーム振り返り

皆さん、こんにちは。
PyCon JP 2020 コンテンツチームリーダーの二木(nikkie)です。

この投稿ではPyCon JP 2020を終え、コンテンツチームで活動したメンバー各自が振り返ったことを共有します。

Screen Shot 2020-08-29 at 17.20.23 

 

コンテンツチームって、何よ

PyCon JP会期中のコンテンツをまとめる(=カンファレンス当日の「中身」を創る)チームです。
2020はコンテンツとして以下を用意しました。

  • キーノート(基調講演):キーノート選定、打診、スピーカーコミュニケーション、同時通訳準備
  • セッション:セッション募集、レビュー・採択連絡、スピーカーコミュニケーション、セッション準備
  • 招待講演:招待講演選定、打診、スピーカーコミュニケーション
  • チュートリアル:チュートリアル選定、打診、スピーカーコミュニケーション
  • スプリント(コンテンツチーム外の有志に進めてもらいました)

準備期間の途中でオンライン開催に移行しましたが、コンテンツの量はオフライン開催と同じくらいで開催できました!

では、各自の振り返りです。

コンテンツチームリーダー(私)

 

コンテンツチームで何をやったか

コンテンツチームをリードした
(プロポーザルやスピーカーとの連絡の大部分を担当。キーノートスピーカーとの連絡も引き継いで進めた) 

K(よかったこと)

オフラインと同程度のコンテンツの量でオンライン開催できたこと

P(問題だと思ったこと)(あれば、改善案)

1人でタスクを抱え込みすぎた。
タスク自体を終わらせることはできたが、スタッフへの周知まで手が回りきっていなかった。
1人でカンファレンスは回せない。
(改善案)1人で抱え込みすぎても持続可能性や再現性を欠くだけなので、一見非効率な進め方に思えても他のスタッフを巻き込んで進める。
また、スタッフが動ける範囲に合わせてカンファレンスの規模を見直し、スタッフのデスマーチを回避したい

 

招待講演担当

 

コンテンツチームで何をやったか

招待講演を担当しました

K (よかったこと)

オンライン開催でもオフライン開催の時以上の講演数を用意出来たこと

P(問題だと思ったこと)(あれば、改善案)

オフラインと同等かそれ以上の規模での招待講演にこだわりすぎた。
またチーム内での情報共有がうまく出来ていなかった。
nikkieさんも書いているがスタッフ(今回の場合私自身の)の動ける範囲で
コンテンツを用意する事が大事(場合によってはコンテンツの見送りも視野に入れた判断をする)

 

チュートリアル担当

 

コンテンツチームで何をやったか

主にチュートリアルを担当しました。

K(よかったこと)

オンラインでのチュートリアルを例年の半分の規模ながら開催し、成功させることができたということです。

P(問題だと思ったこと)(あれば、改善案)

私は企画はできるが実務になると急に危なっかしくなるところがありますが、今回のチュートリアルも一人であるが故にあやふやだったり先延ばししてしまったことがちょっとあったことでした。
それを途中から2人でしたことによりうまくできたという感じがあるので、一人で抱え込まずにコミュニケーションをとりながらあやふやなことを潰していければよいと思っています。

 

スピーカーコミュニケーションのヘルプ

 

コンテンツチームで何をやったか

トーク採択の連絡や、不採択者への連絡などをやりました。

K(よかったこと)

カンファレンス当日はChairをやりましたが、用意されていた台本の完成度が高くて、セッションの進行がスムーズにいけました

P(問題だと思ったこと)(あれば、改善案)

取りにいくタスクと自分の出来ることがマッチしているかいまいち分かりませんでした。

・改善案
各チームリーダーが今困っていること、具体的にどういうタスクをやってもらいたいかを細かく言うことが大切だと思います。僕自身もnikkieさんに声かけて頂いたり、アッキーさんに声かけて頂いたりしてお手伝いをしたと言う経緯があるので。それがJIRAの役割だと思いますが、慣れないツールを使って場を乱してしまうかも、という恐怖がまさってしまってました。

 

キーノート同時通訳まわりのヘルプ

 

コンテンツチームで何をやったか

同時通訳業者さんとやり取りを行いました。

K (よかったこと)

・お互いの認識を合わせるために逐一質問メールを送れたこと

P(問題だと思ったこと)(あれば、改善案)

・eurieの使い方がわからず送ったメールが業者さんに送れていなかった事(nikkieさんありがとうございますmm)
・ツールの使用法に時間をかけてしまった。
・自分のタスクを消化しきれず、直前になって巻き取ってもらったこと

 

振り返りは以上です。
芝さんのキーノートでも引用されていましたが、「完璧を目指すよりまず終わらせ」たのが初のオンライン開催のPyCon JPだったと思います。
振り返りをして、次回以降につなげていきましょう。

今後のPyCon JPの活動にもし興味があれば、是非スタッフ活動にもお試し参加してみてください。
※2020年9月22日現在、2021以降のPyCon JPについては未定です。2021に関する情報については、Blog等でお知らせする予定です。


2020-09-15

OSCオンライン広島 参加のお知らせ

みなさん、こんにちは!
全国で開催されるオープンソースカンファレンス(OSC)に一般社団法人PyCon JP Associationとして出展する『PyCamp Caravan』担当の塚本です。

今年は新型コロナウィルスの影響により、OSCをオンライン化して開催しています。
9/19(土)には『OSC広島オンライン』が行われ、これに私たちPyCon JP Associationも参加します!
Pythonに関するセミナーとミーティングをZoomおよびYouTube Liveで配信しますので、ぜひご参加ください。



セミナー『Python開発環境の整え方』

Pythonの開発環境の構築や大規模開発に便利なツールを紹介するセミナーを配信します。
タイトルは『Python開発環境の整え方』で、講師は清水川貴之氏(一般社団法人PyCon JP Association会計理事)です。
13:00〜13:45にZoomおよびYouTube Liveで配信しますのでお見逃しなく!

ミーティング『もっと知りたいPythonのこと〜セミナーの質疑応答やチュートリアルについて〜』

セミナーに引き続き、14:00〜14:45には”ミーティング”と呼ばれる時間があり、ここではセミナーの質疑応答を行ったり、全国各地で開催しているPython初心者向けチュートリアル『Python Boot Camp』の案内を行う予定でいます。
こちらもZoomおよびYouTube Liveにて配信しますが、質問がある方はZoomでの参加をお薦めします(YouTube Liveでは遅延が発生するためです)。

イベント情報

OSC2020 Online/Hiroshima
https://event.ospn.jp/osc2020-online-hiroshima/
9月19日(土)10:00〜18:00
参加費:無料
参加登録:https://ospn.connpass.com/event/181686/

セミナー

『Python開発環境の整え方』
13:00〜13:45(B会場)
講師:清水川貴之(一般社団法人PyCon JP Association会計理事)
https://event.ospn.jp/osc2020-online-hiroshima/session/173892

ミーティング

『もっと知りたいPythonのこと 〜セミナーの質疑応答やチュートリアルについて〜』
14:00〜14:45(C会場)
https://event.ospn.jp/osc2020-online-hiroshima/session/173906

それでは当日オンラインでお会いしましょう!!