最近関わった仕事の関わり方のひとつで、遠隔 Node-RED ペアプログラミングを行った事例メモをまとめます。
今回の要件
2020年に行ったものです。最近も定期的に依頼を受けてサポートさせていただいております。
内容は、先方の方が Node-RED を IoT や業務改善の処理にうまく活用していきたいと考えていて、主に以下のようなサポートを依頼いただきました。
- なにかしらやりたいことを Node-RED でどう実現するかをその場で会話しながら教えてほしい
- 実際に進めたいことを伺ったうえで技術目線でディスカッションして進めたい
- 週1回か隔週1回、2時間程度でテーマを絞ってオンラインミーティングで一緒に手を動かして学びたい
といった内容です。
実際の様子
このように、Google Meet で時間を決めて集まります。事前に Facebook Messagner でやりとりして、ヒアリングをした上で、Google ドキュメントでアジェンダを作りつつ開始です。
たとえば、このテーマは、Node-RED で表示側が作れるダッシュボードについての様々なカスタマイズ方法の話です。IoT で様々なデータをみせていくとなると、通知をはじめ、グラフの見せ方、ボタンの設置の仕方など色々と調整したい部分が出てきます。
もちろん、Node-REDのナレッジも手を動かしながら伝えるものの、フロントエンド技術であったり JavaScript でのプログラム上のさばきかたといったトピックも行き来しながら、多角的にプログラミングをしながらアドバイスをしていきます。たとえば、この場合は、ある値が来たらダッシュボード全体が赤くなるような仕組みを作るために、CSS で色々と試行錯誤して、やり方を見つけている様子です。
こちらでは、MQTT について手を動かしつつ相手の方のやりたいことに合わせてフローを作って伝えています。他にも MQTT のブローカーを Node-RED で作る方法を案内したり、MQTT プロトコル自体の検証するときに便利なツールを紹介したりと、実際にミーティングした後も進めやすいように配慮しながら遠隔 Node-RED ペアプログラミングを行っています。
そして、もちろん、予期しないエラーが起きることはもあります。こちらでは、 Node-RED で追加ノードをインストールしたときにエラーが起きました。
この場合その場でリアルタイムに進めるため時間配分が難しいですが、エラーの見立てであったり、さらに文献を調べる流れであったりと、解決に至る経緯もできるだけお伝えするようにしています。
この遠隔 Node-RED ペアプログラミング案件では、相手の方もここ学んだ知見を実際の案件に活かすことができたり、経験者から大まかな進め方や技術的な見立てを得たうえで開発進めることができているとのことで、価値を感じていただいています。