2019年6月19日水曜日

アプリ2本リリース

iOSおよびAndroid用のアプリ2本をリリースしました。




サーバ側(?)はAWS Lambda+DynamoDB+SQSで100%サーバレス。携帯側はIonic 4で簡素に作ってあります。こんなん一週間でできるだろ、と思ってましたがAWS Amplify経由でAWSのAPI Gatewayを認証なしで呼び出す部分の解説が思ったより少なく、そこで苦戦しました。

Amplifyの解説サイトはReact JS前提で色々と書かれていますが、Ionic 4からも問題なく使えます。

あとはiOS版のアプリ審査で思いの他引っかかったりしたのですが、それについては後日別記事でまとめます。

2019年6月13日木曜日

DevOpsは金では買えない

6月3日から7日まで、ラスベガスで開催されたAgile+DevOps Westに参加してきました。元々はBetter SoftwareというQA(品質管理)向けのカンファレンスでしたが、10年ほど前からAgile色が強くなり、去年からDevOpsも取り込んでいます。AgileもDevOpsもソフトウェアの品質を上げることで生産性を向上させるわけですから当然の帰結といえましょう。

そのカンファレンスで水曜に発表された基調講演の一つStart Your DevOps Journey on the Right Footで、GoogleのNathen Harveyが重要な指摘をしていました。まずDevOpsには「Agile Manifestoのような、各自が共通に認識できる定義基盤がない」という指摘。

そこで彼は、Lucas A. Welch (当時Chef勤務)
DevOps is a cultural and professional movement focused on how we build and operate high-velocity organizations, born from the experiences of its practitioners.
という定義を引っ張ってきます。DevOpsはプロ集団の文化改革であって道具じゃない。道具じゃないから金では買えない、とNathen Harveyは主張したわけです。

DevOpsは金では買えない

すなわち、システムインテグレーターに外部開発委託をする際に「DevOpsでお願い」と注文をつけるのは間違いということになります。外部委託でのDevOpsは不可能ではないだろうけど、発注側も「プロ集団として意識改革をしないと」相当苦戦するだろうし、おそらくはうまくいかんであろうと思われます。

写真はNethanの基調講演でのスライドの一部です。出典と思われるスライドはこちらから申し込めます。ここで重要なのはDevOpsがもたらす「効果」で生産性と品質に関わる部分で大幅な改善が報告されています。

  1. ソフトウェアのリリース頻度が46倍
  2. ソースコードのコミットからリリースまでの速度が2555倍
  3. リリースあたりの不良件数が1/7に減少
  4. ソフトウェア障害からの復旧速度が2604倍に向上
この一番目の数字が重要です。

例えば従来型開発では1000件の要件を5年で開発し、一気にリリースしていたとしましょう。リリース頻度が46倍になるということは5年÷46≒40日ごとに、1000÷46≒22件ずつ要件を開発・リリースしていくということになります。

1000件というのはあくまで例えですが、従来のウォーターフォール型開発なら「この日までに全部お願い」と頼んでいたものが「まずこの22件から」「次がこの22件」といった具合に「優先順位付け」をする必要がでてきます。

単純に46分割して順番に開発して行っても、どこかの段階で「本番稼働に耐えうる完成度」に到達します。でも、「より重要度の高い要件」「より付加価値の高い要件」を前倒しにこなしていけば、より早い段階で本番稼働が可能になります。すなわち、企業にとって重要なキャッシュフローをより早い段階で生み出せるようになるわけです。
この「優先順位」をつけるのは誰の仕事でしょうか? 私は、これは発注者の仕事だと考えてます。Scrum的に言えばプロダクトオーナーですね。各業務をしっかり把握・分析した上で優先度をつけていく。当然、社内での軋轢もあるでしょう。でも、この部分までシステムインテグレーターに「DevOpsでお願い」と丸投げするようでは、DevOpsの妙味は活用できないでしょう。そして、世間でよく聞く「高い・遅い」というシステムインテグレーターに対する怨嗟に近い感情も払拭できないはずです。

DevOpsは金では買えないのです。




2019年6月12日水曜日

Blog復活

昔はわりと真面目にBlogを書いていたのですが、Twitterの即時性と軽さに魅了され続けたこの10年でありました。

システム屋として飯を食って30年。

世間では老害と言われる領域におりますが、このあたりで一旦今まで心に貯めていたことなどをブログに整理して、また新しい事に挑戦したいと考えております。

このブログでは

  • Agile/DevOps
  • 携帯アプリ開発(Ionic)
  • Serverless (AWS Lambda)
  • Microservices
  • システムインテグレーター
などを書いていく予定です。

お約束: 本ブログに書かれる内容は私、なかむらまさよし個人の見解であり、所属する組織とは無関係であります。


アプリ2本リリース

iOSおよびAndroid用のアプリ2本をリリースしました。 2020年アメリカ大統領選挙には現在なんと24人が出馬表明中。好きな候補は右スワイプ嫌いな候補は左スワイプでメンツを覚えて大統領選挙ニュースに備えよう! というわけでアプリ作りました iPhone版 (A...