What is RWA x DePIN - #Solana Developer Hub 14 #SolDevHubK Kinzal
?
狈辞诲别-搁贰顿导入时の効果的な开発を考える
1. Copyright ? Software Research Associates, Inc. All Rights Reserved
株式会社 SRA
阪井 誠
狈辞诲别-搁贰顿导入时の効果的な开発を考える
- 経験者へのアンケートから -
2. Copyright ? Software Research Associates, Inc. All Rights Reserved
自己紹介
1
?阪井誠(ブログ:ソフトウェアさかば、Twitter: @sakaba37)
?ソフトウェアプロセス、 Node-RED、チケット駆動開発、
アジャイル開発に興味を持つ自称「プロセスプログラマー」
?現場の開発からコンサル?研究、論文、書籍、雑誌など
レビュー監訳
New: 8/14
3. Copyright ? Software Research Associates, Inc. All Rights Reserved
背景:Node-REDの導入
? Visual IoTツールと呼ばれるNode-REDを利用した
ところ、快適でとても生産性が高かった
? 社内の親しい人間をそそのか宣伝し、
様々なプロジェクトで導入された
? 大きな効果を上げたプロジェクトが多かったが、
それほどでもないプロジェクトもあった
? Node-REDの開発経験者に品質,コスト,開発期間,
プロセスの変化をアンケートした
? アンケート結果から効果的な開発を考えた
*1:Beck他,アジャイルソフトウェア開発宣言,
http://agilemanifesto.org/iso/ja/manifesto.html,2001.
4. Copyright ? Software Research Associates, Inc. All Rights Reserved 3
目次
? 背景
? 目次
? Node-RED
? アンケート
? アンケートの結果
? 考察
? まとめ
? その後
5. Copyright ? Software Research Associates, Inc. All Rights Reserved 4
Visual 開発ツールNode-RED
? Node-RED*はVisual IoTツールと呼ばれ,Webブラウザ上の
エディタでプログラミングする
? 長円のプログラムモジュールをノードと呼び、標準ノードのほか、
コントリビュートされた多機能なノードが豊富にある
? ノードを中央の編集領域に配置し,ノード間を接続してフロー
(処理)を作成する
? ノードには名前を付加できるが,単に配置するだけでも設定に
応じた内容が表示される
* JS Foundation,Node-RED is a visual wiring tool for the Internet of Things,https://nodered.org/
6. Copyright ? Software Research Associates, Inc. All Rights Reserved 5
Node-REDの特徴
? Hello Worldの入出力のノードを置き換えるだけで
Webプログラムになる
一瞬でデプロイ
非同期処理を
可視化 簡単デバッグ
多機能なノード群
アンケートに影響しています
7. Copyright ? Software Research Associates, Inc. All Rights Reserved
Node-REDの長所?短所
長所:
? 非同期処理が簡単に扱える(当時はPromise)
? アルゴリズムが可視化される
? 多機能なノード(モジュール)
? デプロイが一瞬
? 再利用が容易
短所:
? 単体テスト環境(xUnit)による自動化ができない
? 発展途上(サンタさんは1.0を届けてくれなかった)
? 方式設計が重要(スパゲッティ化、コピーだらけ)
? ループが特殊
? マージ?保守に工夫が必要
アンケートに影響しています
8. Copyright ? Software Research Associates, Inc. All Rights Reserved
アンケート
? Node-REDの経験者8人にアンケートを行った.
? 社内サービス
? プロトタイプ
? テストダブル(ドライバ,モック,スタブ)
? 自社パッケージ
? ユーティリティなど
? Node-REDは生産性が高いことから選択された.
? 全てのプロジェクトはいわゆるウォーターフォール
型開発の工程を持っていた
? 程度の差はあるが厳格な工程完了審査は行われていない
? メールでQCDとプロセスの変化をアンケートした
? 品質,コスト, 開発期間:4段階の選択式(重複選択可)
の評価と自由記述
? 要件定義,設計,プログラミング,テスト,リリースの変
化:自由記述
9. Copyright ? Software Research Associates, Inc. All Rights Reserved
アンケート結果
? 評価方法
大分類 小分類 収集データ グラフ化
QCD 品質 4段階+自由記述 4段階
コスト
開発期間
プロセスの
変化
要件定義 自由記述 以下を判断して集計
? ネガティブ評価
? ポジティブ評価
? 変化なし
および
どちらともいえない
設計
プログラミング
テスト
リリース
10. Copyright ? Software Research Associates, Inc. All Rights Reserved
QCDアンケート結果 - 品質 -
? サクサクと実装,実行,確認?修整の作ってのループが良かった
? 内製にこだわるよりも品質が良い
? コード量が減った
? 試作に有効
? 非同期処理が容易
? フローを意識してシンプルな作りになった
? 単体テストができない
? コード検索ができないのでバグが見つけにくい
11. Copyright ? Software Research Associates, Inc. All Rights Reserved
QCDアンケート結果 – コスト -
? 非同期処理が容易
? 高機能なコンポーネントが多い
? 設計からテストまでシームレスにでき効率が良い
? 処理部に注力できた
? diffが取れない
? ドキュメントが少ない
? 必要なノードを探すのに時間がかかった
? 繰り返し処理に苦労した
12. Copyright ? Software Research Associates, Inc. All Rights Reserved
QCDアンケート結果 - 納期 -
? 非同期処理が容易
? カスタムノード作成で効率化できた
? 開発のスピード感が半端ない
? 他人のフローを簡単にインポート可
? 実装にいきなり入れる
? 効率よく開発できる
? 大きな手戻りがなかった
? 自作部分の作りで効率や保守性が変わる
? ドキュメントが少ない
? 品質の悪いノードがあった
? 必要なノードを探すのに時間がかかった
13. Copyright ? Software Research Associates, Inc. All Rights Reserved
アンケート結果
? 評価方法
大分類 小分類 収集データ グラフ化
QCD 品質 4段階+自由記述 4段階
コスト
開発期間
プロセスの
変化
要件定義 自由記述 以下を判断して集計
? ネガティブ評価
? ポジティブ評価
? 変化なし
および
どちらともいえない
設計
プログラミング
テスト
リリース
14. Copyright ? Software Research Associates, Inc. All Rights Reserved
プロセスの変化 – ポジティブ -
? プロトタイプが早くできると説明も早く,意見を貰いやすい
? 曖昧な要求でもとりあえず作り始めることができる
? 作ったものから要件を確定していくことが可能
? 大まかな処理の流れをすぐにフローとして実装可能
? 設計とプログラミングのイテレーションが容易
? Injectノードとデバッグノードでの確認も容易
? ほんの少数のファイルをリリースするだけでよく,管理しやすい
? ユニットテストはカスタムフローやAPI単位しかできないが,不安は少なかった
? コード管理だけ課題???完成した開発環境になればすばらしいものになりそう
? (保守は)基本的に容易だが,開発環境を残さないと詳細を確認し辛かった
設計以降の問題を
指摘しながらも,
好意的な表現
15. Copyright ? Software Research Associates, Inc. All Rights Reserved
プロセスの変化 – ネガティブ -
? 単体テストをどのように行うのかわかりませんでした
? 複数人数での開発が少し手間取る
? 外部リソースの設定が外だしに出来ず,リリース後にとても煩わしかった
? Node-REDの癖にあわせた設計は必要.設計次第
? 簡単な反面,リリース後の不具合も増える可能性がある
? コード全体の検索が出来ないため,複雑なシステムは保守しにくくなる
上流のプロセスに変
化がないとしていた.
Node-RED流の開発
スタイルをつかみ切
れていない
16. Copyright ? Software Research Associates, Inc. All Rights Reserved
考察
Node-REDの導入に重要なこと
? ツールの知識やノウハウを共有すること
? 特性を活かした設計で品質を作りこむこと
? 実装を繰り返して常に確認すること
? 上流から利用すること
情報共有や教育が重要であるだけでなく,
既存のプロセスをそのまま適用するのではなく,
積極的に変更することがプロセス改善につながる
ユーザ会に参加しましょう!
17. Copyright ? Software Research Associates, Inc. All Rights Reserved
まとめ
? Node-REDの開発経験者8人にアンケートした
? プロセスの変化を調査してその原因を考察した
? 新しいツールを導入してプロセスの改善するには以下が必要
Node-REDの導入に必要なもの モダンアジャイルの指導理念
ツールの知識やノウハウを共有
する
人々を尊重する
特性を活かした設計を行う 安全な状態を前提とする
実装を繰り返して常に確認する 素早い実験と学習
主体的にプロセスを変更し、品質
を上流から作りこむ
価値を継続的に届ける
? 得られた知見は,モダンアジャイル*の基本理念と通じる
? Node-REDの良い導入が開発のアジリティ(機敏さ)を高める
* Smith, Agile 2016 Keynote: Modern Agile, https://www.infoq.com/news/2016/08/agile2016-modern-agile,
笠原,Agile 2016の基調講演: モダンアジャイル, https://www.infoq.com/jp/news/2016/08 /agile2016-modern-agile, 2016.
元々生産性が
高いですが
18. Copyright ? Software Research Associates, Inc. All Rights Reserved 17
その後:社内勉強会を開催
以下の内容を説明
? アンケートとその結果
? Node-REDの特徴と繰り返し開発
? 特徴、dashboard、繰り返し開発、
インジェクトノード、デバッグノード、
? 構造を設計?実装する
? 意識するデータ、機能のまとめ方、システムの構造を考える、
作業分担の単位と方法
? テストの方法
? 単体レベル、機能テスト、非機能テスト
? 上流から動かす
? ドキュメントを軽量化する、とりあえず動かす、単純化する
? はまりがちなところ
? メモリ不足、Javascript、進化が速い
19. Copyright ? Software Research Associates, Inc. All Rights Reserved 18
提供
Node-REDもそのほかも
一緒に開発しましょう!
? 協力会社募集中
? 中途入社歓迎!
株式会社 SRA 関西事業部
〒541-0058
大阪市中央区南久宝寺町3-1-8MPR本町ビル2F
TEL:06-4704-2611