タグ

ブックマーク / kuranuki.sonicgarden.jp (5)

  • 作る人と決める人は同じ数だけ必要な時代になった〜ソフトウェア開発における「人数等価の法則」 | Social Change!

    ソフトウェア開発の世界には、様々な法則があります。 遅れたプロジェクトに人数を追加しても、さらに遅らせることになるという「ブルックスの法則」は有名ですね。他にも、ソフトウェアの構造は、それを作った組織の構造が反映させるという「コンウェイの法則」などなど。(参考) 最近、ソフトウェア開発を通じて感じていることは、ソフトウェアの仕様を決める人の数は、ソフトウェアをプログラミングする人の数と同じだけ必要なのではないか、ということです。 そこで、この記事ではこれを「人数等価の法則」として考えてみることにしました。 balance / hans s これまで考えられてきた開発にかかる人数の感覚 ソフトウェア開発には、何を作るかを考えるという段階があって、どう作るかを考えてプログラミングするという段階があります。それを2人以上の人間で役割分担するとしたら、その間に入るものが「仕様」となります。 「仕様

    作る人と決める人は同じ数だけ必要な時代になった〜ソフトウェア開発における「人数等価の法則」 | Social Change!
  • アジャイル開発の本質 〜 アジャイルとウォーターフォールの違いとは | Social Change!

    アジャイル」という言葉が一人歩きしてしまっていて、たまに話をしていても通じないときがあります。 それくらいアジャイルという言葉が広く知られるようになったんだと思う一方で、かえって話が通じなくて、もどかしく感じることもあります。だからといって、そこで「正しいアジャイルとは」みたいな議論をしたい訳でもないのです。 広まれば広まるほど、そういった言葉の認識の齟齬が出るのは仕方ないですね。その正しい定義みたいなところを追求するのもナンセンスなので、そんなつもりはないですが、ただ自分がどう考えているかについては書いておいても良いかな、と考えました。ここは私のブログですしね。 そこで、この記事では、私の考えるアジャイル開発の質について、そしてウォーターフォールとの違いについて書きました。 アジャイル開発では機能を全部つくらない これまで私の中で、アジャイルと言えば当たり前の前提がありました。それは

    アジャイル開発の本質 〜 アジャイルとウォーターフォールの違いとは | Social Change!
    yass
    yass 2013/07/28
  • メールボックスは空っぽですか?Gmailのアーカイブ機能を使って生産性を上げる方法 | Social Change!

    Gmailのアーカイブ機能、使っていますか? Gmailと言えば、Googleの提供する無料で使えるウェブメールです。なによりも大容量であることが特徴ですね。私も仕事GoogleAppsのGmailを使っています。 そんなGmailを使っているという人は沢山いると思います。しかし、Gmailの「アーカイブ」機能を使っている人はそんなにいない、ということを知りました。 Gmailには色々な特徴や機能がありますが、私がとりわけ気に入っているのは「アーカイブ」です。これによって、以前まで使っていたメーラーなんかと比べて圧倒的に生産性が上がりました。もう「アーカイブ」を使わない生活には戻れません。 この記事では、Gmailの「アーカイブ」機能の紹介と、それによって生産性が上がることについて書くことにします。 Google Mail website screenshot / Spencer E H

    メールボックスは空っぽですか?Gmailのアーカイブ機能を使って生産性を上げる方法 | Social Change!
    yass
    yass 2013/02/07
  • アジャイル開発のボトルネック | Social Change!

    お金なら出しますから、4ヶ月のところを2ヶ月で作ってくれませんか?」 システム開発で、顧客からこう言われた時、どうするか? SIerの経営者や管理職であれば、飛びついてしまうんじゃないだろうか。私だって飛びつきたい。確かにエンジニアがいるなら、もしくは、集める目処が立つなら、ありがたい話かもしれない。XPでも、「リソース・スコープ・品質・時間」のパラメータで、品質以外は変動可能としている。 ということは、リソースがなんとかなれば、時間を短くする、もしくは、時間を変えずにスコープを増やすことができるのだろうか。人月という単位で考えれば、計算上は出来るかもしれないが、実際には難しいと言わざるを得ない。それはなぜか。ボトルネックは、プログラムを作る速度か、それとも、仕様を決めて受け入れる速度か。 冒頭の台詞は、開発側にこそボトルネックがあり、コストさえかければスピードアップできると考えているか

    アジャイル開発のボトルネック | Social Change!
    yass
    yass 2012/11/27
  • ソフトウェアをつくるための3つの役割〜アジャイルに外部設計は必要か | Social Change!

    ソフトウェア開発にはどんな役割が必要だろうか。よくあるウォーターフォールの世界では「要件定義」「基設計(外部設計)」「詳細設計(内部設計)」「実装」などといった名前で工程を分けることで役割を分けています。アジャイル開発のスクラムでは「プロダクトオーナー」「スクラムマスター」「チーム」といった名前で分けています。役割の名前が違えば、ソフトウェアのつくり方が違うかというと、そうではなくて「やるべきこと」は同じだと考えています。 ソフトウェアをつくる上で「やるべきこと」は何か ソフトウェアをつくる上で「やるべきこと」は何かをざっくりと分けてみます。 最初に、どんな困った問題を解決したいか、どんなことを便利にしたいか、といった根源的なことが思いつきます。次に、どうやって解決するか、何をつくれば良いか、というアプローチを考えます。そして、それを実際に動くようにプログラミングしていく訳です。 一人で

    ソフトウェアをつくるための3つの役割〜アジャイルに外部設計は必要か | Social Change!
  • 1