質とスピード 初演: 2019/10/31 @ EOF2019
![質とスピード / Quality and Speed](https://cdn-ak-scissors.b.st-hatena.com/image/square/17dafaf775d3f61ba503a0f3780d7cbf9e65df4d/height=288;version=1;width=512/https%3A%2F%2Ffiles.speakerdeck.com%2Fpresentations%2Fc36aef99fc5d4757b6badaaecc172b02%2Fslide_0.jpg%3F14092603)
役所のシステム調達でソフトウェアの「納品」というと、キングファイルに綴じられた大量のネ申エクセルと、CD-RなりDVD-Rに収められたOffice文書やらZipにまとめられたソースコードだ。それらが動くように一からデプロイするだけで何週間もかかるし、そのコードが生きていた時期の試行錯誤は全て捨象されてしまっている。値段分の仕事をこなした「証」に過ぎず、開発時のレポジトリから引剥されて、文脈と実行環境を失ったところで本格稼働前のシステムの断面に過ぎない。 いまの時代ならわざわざDVD-Rに成果物を焼くのではなく、普段からツールのアクセス権限を共有しておき納品のタイミングで開発業者のアカウントを削除するとか、もっとモダンな納品の仕方がありそうだ。せっかく開発費を負担して知財を取得したコードだから倉庫に死蔵しておくのではなく、レポジトリを全府省で共有して他の案件で再利用し、他PJがバグを見つけた
メルマガの読者に向けて、今回のAppleによるWWDCでの発表に関する解説を執筆中ですが、それを書きながら強く認識したのが、2007年に登場したiPhoneが携帯電話機メーカーの勢力図を大きく変えたのと同じ様な大変化が、今度は家電メーカー全体に起ころうとしている、という事実です。 iPhone が証明したのは、ハードウェアの世界においても勝負の鍵となるのはソフトウェアであり、世界最高のプログラマー集団を抱えた企業しか、この業界では利益を上げられない、勝ち残れない、ということです。 日本のメーカーは、NTTドコモによる iモードで、世界で最初にインターネットに繋がる携帯電話を作っておきながら、iPhone の登場とともに市場から淘汰されてしまいました。 これに関しては、「日本は独自企画にこだわったから負けた」と思っている人が多いのですが、それは誤解です(日本の携帯電話市場のことを最初に「ガラ
7月22日に開催された第70回PHP勉強会で発表してきました。以下が発表資料です。 浮動小数点数周りのトピックを3点紹介する内容でしたが、思ったより反応が良かったように思います。 ただ、面白おかしく話そうとして、聞いている方々に無駄に恐怖を与えてしまったかもしれません。冷静に読み返していただければ、怖いように見える内容もレアケースの話題が多いことがわかるかと思います。 また、PDOの挙動については誤解を与えてしまったかと思いますので、プレゼン資料の25ページ目を大幅に差し替えてアップロードしました。 この点についてもう少し説明します。PDOでプリペアードクエリを利用する際、プレースホルダに値を埋め込むのにPDOStatement::bindValueメソッドを利用することができます。この際、bindValueメソッドの第3引数で利用でPDO::PARAM_INT定数を指定しても、第2引数の
2013-06-25 Rails、あんたなんか嫌いよ - Rails での OO 設計について ruby rails 最近はずっと Rails 書いてるんですが、書けば書くほど嫌いになってくるんです。 倦怠期的なやつなんですが、 Rails さんの悪いところばっかり見えてきて、もう一緒にいたくないんです。 でも別れるほどじゃないし… という愚痴にみせかけた Rails での設計についての議論です。 長いけどコードは一切出てこないので通勤中にでもよんでください。 注意 一部にはげしい言葉遣いがでてくるので、読んで不快になるかもしれません。 不快になったとしても責任は負いかねます。 次のような方の期待に沿う結論はでません。残念でした。 Sinatra, Padrino の人 関数型の人 静的型付けの人 C の人 TL;DR Rails にだまされない。 自分の道を見定める。 欺瞞にみちた Ra
最近、来季(4月〜)のお仕事のお見積りの嵐。そこで気になっている話をしてみる。 ソフトウェア開発の依頼を受けた場合のお見積りの流れはこんな感じ。(数字は究極の社外秘なのでてきとーです。) 1)まずは純粋に工数見積り 依頼された工程(設計・開発・単体試験・結合試験とか)について、機能毎の難易度などを考慮しながら工数を出す。 今回は100人月(例えば10人で10ヶ月)だったとする。 2)コストを試算 予定メンバーのコスト(その人の給料や手当や共通配賦(事務所の家賃や間接部門の人達のお給料をみんなで負担する分)などの合計)からプロジェクト全体のコストを試算する。 例えば、全メンバーの平均コストが50万円/月だったとすると、コストは50万円×100ヶ月=5000万円。(そのほかの経費などもあるが省略。) 3)リスク率 今回は100人月と見積もったけど、始めてみたら話が違ったりトラブルがあったりで1
現代のソフトウェア/サービス開発で構成管理が重要になった5つの理由:DevOps時代の開発者のための構成管理入門(1)(1/2 ページ) 「DevOps」という言葉にもあるように、ソフトウェア構成管理は、インフラ運用に取り入れられるなど、変わりつつある時代だ。本連載では、そのトレンドにフォーカスして、現在のソフトウェア開発に有効な構成管理のノウハウをお伝えする もはや以前の「構成管理」ではない ソフトウェア構成管理はソフトウェア開発の現場で一般的になってきましたが、それを取り巻く状況は2000年代中盤と比較して、ソフトウェアビジネスのトレンドや使用するツールなど、ずいぶんと変わってきています。 読者の方の中にも「Gitそろそろ覚えないといけないのかな?」「Jenkinsって何がうれしいのだろう?」「開発のサイクルが以前より短くなって大変だな」などと感じていらっしゃる方もいらっしゃるのではな
Exchange Server OnLineやOffice 365など、マイクロソフトはパッケージソフトウェアとして開発した製品を、次々にオンラインサービスとしても並行して提供を始めています。そのオンラインサービスの開発について、マイクロソフトは先日買収したYammerが実践している手法を学ぼうとしていると、Network Worldの記事「Yammer impacting Microsoft's software development process」(マイクロソフトの開発プロセスに対するYammerのインパクト)が報じています。記事から引用します。 Specifically, Microsoft sees great value in the way Yammer introduces weekly changes and new features to its cloud-host
注:テスト本リストは加筆修正した上で,改めて独立した項目に作り直した. → http://d.hatena.ne.jp/JavaBlack/20150926/p1 http://www.publickey1.jp/blog/12/8585.html http://www.keyman.or.jp/at/dev/debug/30004610/ 数値の正確さはともかく,だいたいそんなもんでしょう. 「スキルがないからPHP使ってます」「Javaは使ってるけどオブジェクト指向って何ですか?」みたいな現場だと,テストするスキルも人手も足りない. そもそもテストを知らない.テスト=手動テストだと思っている. デバッグといえばデバッガでするものだと思っている. 導入するメリットが理解できない. テストをする人に,プログラミングのスキルや経験がない.ひどい場合には素質が無い.*1 導入するスキルがない.
日経SYSTEMS 2012年4月号の特集1が「システムを育てるカイゼン型開発のススメ」ということで、Part4に私も寄稿させて頂きました。ソニックガーデンが今のビジネスモデルを採用した理由について書きました。 「カイゼン型開発」という言葉は、2006年に私がブログで書いたのですが、ようやく時代が追いついてきたのかと感慨深いものがあります。そして、2012年の私たちは既にそこからさらに先に進んでいて、その答えとなる「納品のない受託開発」というビジネスモデルに辿り着いています。 実際に掲載された寄稿記事の方では割とコンパクトにまとめてもらいましたが、こちらではディレクターズカットということで元々に書いた原稿の方を公開します。もし、このブログよりもさっと読みたい場合は日経SYSTEMSを読んで頂くのが良いかと思います。 ソニックガーデンでは「納品のない受託開発」という少し変わったスタイルでの受
ソフトウェア開発の現場では、特定作業に特化した専門家による分業開発から、個々人が幅広い作業をこなす多能工による開発といった方向に変わりつつある。アジャイル開発プロセスそもそも多能工を前提としている。また、全般的なソフトウェア開発プロジェクトが大規模より中小規模・短工期にシフトしていることが、専門家(単能工)による開発を難しくしつつある状況も、開発エンジニアの多能工化を後押ししている。しかし、多能工によるソフトウェア開発はベストプラクティスかというと、そうではないと思う。多能工アプローチの問題点について考察して望まないと、思わぬところから足をすくわれる事がある。 なぜ多能工なのか?専門家(単能工)はなぜだめなのか? ファクトリー型アプローチは一時期流行し、いまなお一定の価値をもってはいるが、ほとんどのアプリケーション・ソフトウェアの開発には、現在これよりも有効な手法が存在している。 ソフトウ
どうすれば小規模なチームでも大きな成果を出せるのか。大きな組織で沢山の量をこなすのは当たり前のことで、あまりクールではありません。少ない人数でも大きな成果を出すには、スピードをあげることと、そのためにも無駄をなくすことがポイントになってきます。 ソフトウェアをつくるための3つの役割で書いた通り、ソフトウェア開発をクラウドのようなサービス提供で続けていくには、プロダクトオーナーとプログラマーがキャッチボールのような形で、仕様と実装をずっと繰り返しながら作っていくのが自然です。 SonicGardenで使っているツールと開発の流れの全体は以下のようになります。大事なことは「動くソフトウェア」の状態を保ったまま、どれだけ回転数をあげていけるか、ということです。そのために、プロダクトオーナーとプログラマの間で待ち時間を減らすために並行して進めるようにするなど工夫しています。 ホワイトボードとMVP
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く