どうも。つじけ(tsujikenzo)です。このシリーズでは「ノンプロ研定例会 vol.51 あなたのスキルが爆上がりする!ペアプロによるノンプログラマーのお悩み解決」について全3回でお送りします。今日は1回目です。
ノンプロ研定例会
「ノンプログラマーのためのスキルアップ研究会」は、ノンプログラマーがプログラミングをはじめとするITスキルを学び合うコミュニティです。
ノンプロ研では、毎月1度、最新の情報を発信する定例会が行われています。
まことに光栄なことに、その定例会で登壇の機会をいただきました。
テーマは 「ペアプロ」 です。
過去に、ペアプロ部の活動の様子を、LTやブログで発表させていただきました。
今回は、「あなたのスキルが爆上がりする!ペアプロによるノンプログラマーのお悩み解決」 というタイトルでお話させていただきましたので、ブログにまとめたいと思います。
当日の様子は、Togetterのツイートまとめもご覧くださいませ。
今日のアジェンダ
今日は 「ペアプロとはなにか」 をお届けします。
- プロのペアプロ
- ペアプロのメリット
- ノンプロ研的ペアプロ
- 多彩な参加者
プロのペアプロ
ウォーターフォール開発
プロの開発の1つに、ウォーターフォール開発と呼ばれるものがあります。
あらかじめ「どんな仕様で、いつまでに、どんな見た目になるのか」などの要件定義をしっかり行い、開発を行う手法です。
設計に対して、正しく実装されているかを検証するために、テストを行います。
そのため、プロの開発では、コーディングを底としたV字モデルが用いられることが多いです。
大規模な開発で、納期を決め、分業を可能にするための手法が、ウォーターフォール開発です。
アジャイル開発
一方で、ウォーターフォール開発には、仕様変更に弱いという欠点もありました。
「一度決めたものを変えたくない!」が頑固な話、というわけではなく、決めたことを守る方が全体として効率がいいからです。
なので、要件定義からリリースまでのサイクルを短く(1~2週間)して、そのサイクルを回そうというが、アジャイル開発です。
アジャイル開発中のペアプロ
アジャイル開発では、1つの短いサイクルで、プログラミングを行い、実際に動くものをリリースしながら開発します。
そのさいに用いられる手法の1つが、ペアプログラミングです。 出典: ペアプログラミング フリー百科事典『ウィキペディア(Wikipedia)』
ペアプログラミングとは、2人1組になって、1台のパソコンを共有しながらプログラミングを行う手法です。
1人がキーボードを打つ「タイピスト」になり、ソースコードを入力していきます。
もう1人は、「ナビゲーター」となり、タイピストに書いてほしい処理を伝えます。
タイピストとナビゲーターは、10分で交代します。
地図を見ながら指示を出すカーナビと、カーナビの指示に従って車を運転するドライバーをイメージすると、近いかもしれません。
ペアプロのメリット
仕事がバリバリできる人は、ひとりで仕事した方が生産性が上がるかもしれません。
しかし、生産性には天井があり、どこまでも生産性が上がる訳ではありません。
それは、必ず課題にぶつかるからです。
課題にぶつかったときの課題解決力まで含めて、ほんとうに生産性が高いかを考える必要があります。
書籍などで紹介されている論文では、ひとりで仕事をするより、共同で仕事をした方が、40%も早く課題を解決することが紹介されています。
1人のエキスパートになる(育てる)より、知識を共有する方が価値があると言われています。
ノンプロ研的ペアプロ
ノンプロ研で行うペアプロも、プロが行うペアプロと大差はありません。
特徴的な点は、ノンプロ研メンバーが、全国あちこちに居住していますので、ペアプロはオンラインで行われるということです。
主にZoomを使って、画面を共有しながら、ペアプロを行っています。
ノンプロ研ペアプロの歴史
ノンプロ研は2017年11月にスタートしましたが、ペアプロがスタートしたのは2020年3月です。
それまでにも、合宿などで、オフラインペアプロを経験された方がいたようです。
誰かと一緒にプログラミングをやるって、楽しそうですよね。
ノンプロ研では、細々とスタートしたペアプロですが、部活になり、動画がアーカイブ化され、現在は全員参加チャンネルに昇格しております。
- [2020年3月]スタート(最初はペアプロ部)
- [2020年夏]動画のアーカイブ化
- [2020年12月]部長が卒業
- [2021年7月]部からペアプロ広場へ昇格
ペアプロは1~2時間の単発イベントですが、これまで38回、延べ79名に参加いただきました。
その内訳を少しご紹介します。
多彩な参加者
開催言語とサービス
ノンプロ研は、Google Apps Script(以降、GAS)を学んでいるメンバーが多いため、GASでの開催がもっとも多く7割を占めています。
その他の言語では、PythonやVBAによるペアプロも行われています。
ノーコードアプリや、Kintoneに特化したペアプロなども行われるのが特徴的です。
参加者属性
ペアプロってプログラミング上級者がやるやつでしょ?と思われるかたもいるかもしれません。
決してそんなことはありません。
全体を通して、講師やTAが参加した回は、1割程度です。
その他は、受講生、初級者、中級者、レベル差関係なく、ペアプロが開催されたようです。
まとめ
以上で、「ペアプロとはなにか」についてお届けしました。
- ペアプロとは、2人1組で開発する手法で、主にアジャイル開発に用いられます。
- ノンプロ研ペアプロとはオンラインで、言語やレベル差の関係なく、プログラミングを行う学習方法です。
次回は、 「ノンプロ研ペアプロ部が誕生した背景」 をお届けします。
このシリーズの目次
『あなたのスキルが爆上がりする! ペアプロによるノンプログラマーのお悩み解決』