de:code 2015 レポート day2 - SNR-009

クロスワープの大鷲です。

前回に引き続き、de:code 2015 day2 の参加レポートをお届けします。

参加セッション

私が参加したセッションは以下の通りです。
本記事では、「SNR-009 フルスタックエンジニアとか無理! 比べてわかったAzure PaaSの勘所」のレポートをお届けします。

資料はこちらで公開されています。
その他のセッション動画及びスライド資料も Channel9 で公開されています。
オープニング キーノートは Microsoft Virtual Academy のサイトで公開されています。

day 1

CODE ROOM TITLE
SNR-004 Room G デジタルテクノロジーが推進する、アプリケーション革新
SPL-001 Room C マイクロソフトが考える 5 年後を見据えた技術提言
CHK-002 Chalk Talk クラウドアプリケーションのアーキテクチャ設計を深める
CHK-003 Chalk Talk プログラミング パラダイムの知識を深める
CDP-008 Room C MS版Docker 誕生! Windows Server Containers とは?

day 2

CODE ROOM TITLE
ARC-001 Room A クラウド時代のデータアーキテクチャ
SNR-009 Room B フルスタックエンジニアとか無理!
比べてわかったAzure PaaSの勘所
DEV-019 Room F 徹底解説! プログラマーがおさえておくべき
Azure Active Directory のすべて
PBS-001 Room E ここまでできる! Office 365 API を活用したアプリ開発
~ Office 365 内のデータ活用~
DEV-006 Room A ASP.NET 5 Web 開発 ~ ランタイム編 ~
DEV-007 Room A ASP.NET 5 Web 開発 ~ フレームワーク編 ~
DEV-008 Room A 進化は止まらない! ADO.NET Entity Framework の今

SNR-009 フルスタックエンジニアとか無理! 比べてわかったAzure PaaSの勘所

スピーカーは日本ビジネスシステムズの福田 雅和さん。

同社が開発されたセキュアファイル便という製品の紹介と、開発する上でのエピソードなどをお聞きしました。
普段は SIer として、受託開発→納品→保守という業務を行っている同社(チーム)にとって、自社サービス開発という未知の目標に立ち向かう上で苦労された様子がよく窺えました。

  • 必要と思われるタスクに対して十分な人材をアサインしてもらうことができない
    • エンジニアばかりのチーム
    • まずプロトタイプを作ってデモをすることを目標に
  • サービスの監視、運用、障害や VoC(Voice of Customer)への対応
    • 既に社内にあった仕組みに間借り
  • 販売や規約作成
    • 頑張る

過去に開発して販売した製品が、顧客ごとの個別対応、カスタマイズだらけになってしまい、名前だけは同じ別プロダクトの山ができてしまった結果、メンテナンスコストが重くのしかかったという経験から、それを繰り返さないことを目標に、まず反省会からスタートしたとのこと。
これは多くのプロジェクトで参考になると思います。

  • 最小公倍数ではなく最大公約数を狙う
    • 顧客の要望ベースではなく、仕様の決定権を持つ専制君主を置き、最小限で完全な機能を持つものを作る
  • 動作環境を限定する(SharePoint Online と連携する SaaS 製品)
    • 問題発生時に顧客にログ等を送ってもらわなくても自社で調査できるようにする
    • 開発環境で動けば本番環境でも動く
  • エラー処理は後で作る
    • 「あったらいいね」はなくてもいい
  • 既存のもので使えるものは最大限利用し、開発するものは最小限に抑える
    • 極力フレームワークや PaaS の機能を利用する
    • メール送信には SendGrid を利用
  • エンジニアがやるべきと考えるテストを優先的に行う
  • 自社を第一の顧客にする

振り返ってみると、チームのあり方が大きく変わったことを感じられたそうです。

  • 専門性を持つ異質な人材を集めて、詳しい人に頼る、従う
  • チームとの関係が「所属」から「参加」に