読者です 読者をやめる 読者になる 読者になる

クラウド基幹システムを「おひとりさま開発」しよう勉強会 #おひとりさま開発 #xead


6月22日(金)19:30〜渋谷の株式会社VOYAGE GROUP セミナールーム「パンゲア」で渡辺幸三講師による『クラウド基幹システムを「おひとりさま開発」しよう勉強会&懇親会』が行われました。

講師の渡辺幸三さんは、分析・設計方法論「3要素分析法」の提唱者でありXEADの開発者で著書には「業務システムのための工程入門」、「データモデリング入門」などがあります。

以前 2006.8.19にRuby関西のRailsの勉強会に講師で来て頂いたときに2次会ではカラオケで一緒に歌ったことがありまして、それからあっという間の6年ぶりです。

今年1月の関西IT勉強宴会の際に、下山さんから頂いた「業務システムのための上流工程入門」に今日はサインを頂戴しました。


前半の講演の内容に関しては、以下レジメの項目です。

<1>「おひとりさま開発」に必要な社会的リソース

  • モデル基幹システムのOSSライブラリ
  • モデル基幹システムを実行・改修するためのOSSプラットフォーム
  • インフラのクラウドサービス

<2>「おひとりさま開発」に必要なスキル

  • 分析・設計スキル
  • 軽量言語のコーディングスキル
  • 基本的なインフラ設定スキル

<3>「おひとりさま開発」に要らないもの

  • 単一工程の専任要員(単能工)
  • 洗練されたプロジェクト管理技術やツール
  • 従来型SIを前提にした見積もりや契約、および多重下請構造

<4>「おひとりさま開発」がもたらすもの

  • 企業の基幹システム取得・運用コストの大幅削減
  • ソフト技術者のやりがいとQOLの向上
  • 業界の経済社会への貢献

ツイートされた内容はtogetter「クラウド基幹システムを「おひとりさま開発」しよう勉強会」にまとめました。

講演ではXEADの画面で「モデルに処理(スクリプト)を組込み、処理をダラダラ書く事を避けるのが良い構造」という内容の説明がありました。ちょっとマイクが不調?で聞き取りにくかったのが残念でした。

XEADの説明自体は渡辺さんのblogが(当然)詳しいです。↓
Excel方眼紙をやめて「実行可能な仕様書」を書こう



Ruby on Railsでは複合キーが使えない(DHHさんのポリシー)という話から「複合キー問題」「サロゲートキー」にテーマが移り、「複合キーが使えずサロゲートキーで代理していると、関係が崩れることが起こりうる」ということの図解でした。

【参考】Ruby on Railsで複合キーを使うための取り組みはあるようですが、なかなか難しそう。
Ruby on Railsで複合キーを扱う


あと懇親会で話したテーマ私が話した内容について忘れないようにメモ

  • 従来自然にサーバ(インフラ)エンジニアとアプリーケーションエンジニアで役割が分担していたが、PaaS(HerokuやMOGOKU)によってクラウド側でサーバまわりを引き受ける流れでエンジニアはアプリケーション開発に専念でき、「おひとりさま開発」の環境が整備されてきている。
  • テストコードをきちんと書いて変更時にマシンを走らせてテスト項目を動作確認する方式は、必須になってきている。→ 従って従来DB構造設計をしっかりやって実装時にDB構成を変更することは出来るだけ避ける方式であったが、Ruby on Railsでの実装しながら頻繁にDB構造変更しつつ固めてゆくという方式に移りつつあるのではないか。
  • 業務システムにもどんどんスマホやパッドを使う流れがあり、端末側でjQueryで画面を組み立てる方式に移りつつある。 テストでDBまわりだけでなく画面遷移(aJaxなど)も確認できる環境はRuby界隈が進んでいる。
  • 「おひとりさま開発」ではやはり規模の限界はあるだろう。テーブル数10程だとありありでもテーブル数が100を越える規模は難しいのではないか。



【感想】
XEAD仕様書&実装に進化していて凄そう。仕様書のひな形、エディタとしてだけでも有り難い。

・ある規模を越えるシステムではDB構造設計をきちんとやることは当然必要。ただし杓子定規に正規化しないで必要に応じて緩さを残す方が良いように、カチカチのDB構造設計でなく柔らかさも必要で、テストをきちんと書くことで変更に強くできる。複合キー問題もレアならばRails方式で実用上は問題なさそう。まあこれはケースバイケース。

・下地さんのRmenuDOAをふまえつつJSON受け渡し、画面はjQuery編集という方式で実装されているのは、良い方向であると再認識。

XEADはモデルにロジックを埋め込む方式だが、RailsでもRails1→Rails2→Rails3と進むにつれモデルにロジックを配置する方式に(コントローラでなんでもかんでもやらない)移ってきているのは、ロジックを集約しようと整理してゆくと必然なのだろう。

【最後に】
・このような機会を作って下さった講師の渡辺さまをはじめスタッフの皆様、参加され一緒にお話できた皆様ありがとうございました。