「5つの社長力」(ビジネス社) 「日本一やさしくて使える会計の本」(ディスカヴァー・トゥエンティワン) の著者 久保憂希也の公式Blog。 ビジネスに関連する話題を 独自の観点から鋭く切っていきます。 久保憂希也公式サイトはこちら http://kuboyukiya.com/ 私がサラリーマン時代に、 事業提携でお付き合いさせていただいた方と 昨日久しぶりに飲んできました。 その時に思ったこと。 事業提携の仕事をやっていたので、 いろんな会社に提案に行ったのですが・・・ 結局事業提携できなかった(しなかった) 会社の共通点は全部同じで、担当者が 放ったらかしにして忘れてるだけ。 確かに皆さん、自分の仕事を持っていて、 その上でさらに事業提携を検討するわけです。 事業提携を考えたいんだけど実際は 本業が忙しくて放ったらかし・・・ 挙句の果てに検討することすら忘れてしまう。 今も似たような状況
そのスコープ内の変数をたどれるケースでは型を特定するようにしてみました。いままではどんな変数でもHTMLElementに対する補完候補が表示されていましたが、この修正で少しはまともになっています。 この仕組みを使うことで、jQueryオブジェクトなんかも判定できるようになるはずです。これだけでも補完の挙動はだいぶまともになるんじゃないかと思います。 ただ、型に対する補完候補はJavaScriptエディタ(や、jQueryなどのフレームワーク向けの拡張補完機能を提供するプラグイン)が内部的に持っていて、これらが補完候補として表示するべき、APIをきちんと網羅できているわけではないので、そのあたりは力技で補完情報の定義を追加していく必要がありますが…。 はっきり言ってClojureよりも一般人受けしそうという理由でScala本も購入してみました。Scalaの本はいくつか出ていますが、コップ本が
NoSQLミドルウェアの特徴をもう少し細かく挙げてみます。分量の都合もあり個別には触れませんが、それぞれのNoSQLミドルウェアで差別化部分に関してはかなり詳細に説明がされていますので、ぜひそちらを参照してみてください。 高速に動作する リレーションモデルではないデータモデル スケールアウト型アーキテクチャ コモディティサーバによって構築される スキーマフリー SPOF(単一故障点)を持たない 自動的に複数台へレプリケーションする イベンチュアルコンシステンシまたは一貫性の選択が可能 SQLのような強力なクエリ言語を持たず、シンプルな問い合わせしかできない Cassandraとは何か NoSQLミドルウェアの筆頭といえばGoogle BigTableやAmazon Dynamoですが、オープンソースの世界でもいろいろなものが出てきています。その中でも最近特に注目を集めているのが、Apach
国立情報学研究所(NII)の佐藤一郎先生の日記から抜粋したものです。元ページにはパーマリンクがなく、2010年2月26日~28日の日記に該当します。 昨今の計算機のマルチコア化に伴い、並行処理について注目が集まってきています。そしてここ数年でErlangやScalaといったプログラミング言語が話題になり、並行処理を実現するために採用しているActorモデルについて、佐藤先生は「リバイバルを見るような感じ」と感想を述べています。そもそもActorモデル自体は1970年代に登場したもので、1990年前後に並行処理用オブジェクト指向言語の研究が盛んに行われていたそうです。また学生時代にErlangに触れたことがあったことから、これらについて「新しいプログラミング言語というよりも、昔のプログラミング言語で書いているという感覚」を受けるようです。 そしてActorモデルのようなシングルスレッド実行モ
短い時間だったのでかなり駆け足でした。もっとじっくり聞きたい感じでした。 以下適当なメモ。嘘かいてあるかもしれません。 なぜ今アジリティが求められる? ほとんどの会社が5年しないうちに出て行ってしまう 残る会社は戦略を変えつづけている 顧客ニーズへの俊敏な対応 アジャイル導入の効果は魅力的 導入により改善されたと答えている人の割合 生産性82% 品質87% 顧客満足度78% コスト72% IBMソフトウェアグループでの開発手法の変遷 1980年代 ウォーターフォール 1990年代 反復型開発 現在 アジャイル開発 アメリカでは70%以上がアジャイル技法を使っている 日本では 15%〜20% 反復型は50%以上 普及が進んでいる アジャイル開発の本質 アジャイル開発を企業に導入する際の課題 規模に関係なく適用可能なプラクティス 大規模だからこと考えるプラクティス アジャイル開発手法の共通点は
最初に、開発プロセストラックのコンテンツ委員の和田さんから挨拶がありました。 漆原さんモデレータで、製造金融業界で基幹業務をアジャイル開発した事例を聞くパネルでした。 アジャイルを成功させるにはお客さん次第。 以下適当なメモ。嘘かいてあるかもしれません。 ウルシステムズ 漆原さん 今までの「アジャイル開発」 理想目標←→弊害・懸念 「幸せな開発をやりたい」←→アジャイルが目的化、ユーザ理解が希薄 大事なところから作りPDCAサイクルを回す←→採集成果物が不明、責任所在が曖昧 少数の優秀なメンバーで切れ味良く仕上げる←→小規模Webのみ、業務系はムリ! 開発工程の無駄を省く←→ちゃんと設計しない、ドキュメント書けない 本セッションの目的 基幹業務システムまでアジャイル開発しちゃいました! 効果、苦労、リスク、工夫、反省、学び 東邦チタニウム 浜津さん チタン生産部門の部門長→リーダ→チームリ
スライドが公開されてるのでそっちを見た方が正確です。 けど、一応メモったものを載っけておきます。 安定稼働と高性能を支える要素 問題の大半はディスクI/O 製品の品質に対する目を向ける 「俺が安定版と言えば安定版なんだ!」というものもある 一般解を求めすぎない 汎用性を高くすればするほど効率は悪くなる 良いところよりも悪いところを見る 悪いクエリが1個でもあると、すべてが止まることがある ボトルネックになっていないところをどれだけ最適化しても全体のパフォーマンスはたいして変わらない データベース以外にも目を向ける アプリケーションの性質をある程度知っておく OSSを責任転嫁の道具にしてはいけない Linuxのチューニングと安定運用 メモリ管理 メモリを十分に取り、ダイレクトI/Oを活用する innodb_flush_method=O_DIRECT スワップ制御とOOM Killer スワッ
熱かったです。ただの1セッションではなく、デブサミ全体を代表する基調講演と言ってもいいくらいだと思いました。 長野からだけど朝イチで行ってこのセッションを聴講できてとても良かったです。 以下適当なメモです。 第1部 環境の変化により途中でプロジェクト終了 残ったのは大量の紙 環境の変化は止められない ソフトウェア開発で何を実現したいのか 必要とされるソフトウェアの提供が困難 1. 変化に対応できない 2. 価格に対する納得感がない 3. 必要なタイミングで手に入らない 変化 外的変化 経済環境や政治環境 内的変化 状況が進み理解が深まり分かるようになる 受託開発一括請負における変化 変化=仕様変更 変更管理は開発を安全に遂行するためのもの 受注側は別料金 発注側は固定料金 ゼロサムゲーム 仕様変更管理なんて言ってるレベルでは変化を受け入れることはできない 人月 コスト算出の基準 リスクが排
4人がそれぞれ自己流の勉強方法を紹介するというセッションでした。 全員が「アウトプット重要」と言ってました。 以下メモ。嘘書いてるかもしれません。 庄司さん OUTPUT < INPUT OUTPUT すると INPUT が大きくなる ブログなどに書く 教えてくれる ググれる 外部記憶装置に頼るの大事 人に聞く みんなやさしい 書く コピペじゃなくて写経 読む Google Code Search CodeRepos どう書く.org RSSで読む http://mvnrepository.com の RSS はてなアイディアの新着 RSS 堀さん Webサイト 各種ソーシャルブックマーク 仕様書 Webサイトのソースコード JavaScript はソースが見れる JavaScript のコード整形 http://jsbeautifier.org/ ブログ 勉強会 ライブラリ 書籍 サンプ
シスアドの Scott Merrill 氏は「本当に本当にコンピュータが嫌い」であると、CrunchGear の記事にて告白している。 Merrill 氏自身の言葉によると「いや、本当に、大嫌いなのである。コンピュータはコミュニケーションを促進し、人生に利便性をもたらし、そして時には現実逃避を提供してくれる。これらの面は大好きだが、実はコンピュータ自体は大嫌いである。コンピュータとは、不安定で、非直観的で、脆弱なハードウエアとよく分からない制限されたソフトウエアがごちゃ混ぜになった代物だ」とのこと。 彼は IT 関連で働く我々の気持ちを代弁していたりするだろうか ? 一般ユーザにとっては理解不能な UI 設計やエラーメッセージなどは我々の仕事を不愉快なものにする。そんなコンピュータの特異性と複雑性を我々は実は密かに嫌っているのだろうか ?
オフィス移転に伴う設備手配担当となり、上司から開発チーム用の机の購入を検討するよう頼まれた。チームは 4 名の開発者からなるのだが、上司は彼らを丸いテーブルに向かい合わせて座らせるのはどうかと提案してきている。このような配置は多くの場合、共同作業がスムーズになり生産性が高まるという。しかし自分としては、一つの机を囲むよう開発者を配置した場合彼らの気が散り、エラーが増え、結果として生産性が落ちるのではないかと懸念している。/.er の皆さまのご意見をお伺いしたい。 本家では「壁を向いている方が作業しやすい」とか「背中側は壁がいい」から始まり、開発者を部屋割りする場合は1部屋あたり何人が最適か、他の開発者らと上手くコラボレーションするにはどんな配置が適しているかといった意見が寄せられている模様。 チームの生産性を高める配置、/.J 諸兄方ならどう提案する ?
システム開発において「品質の向上」という標語がしばしば掲げられますが、 「品質の属性」については無頓着なケースが多いのではないでしょうか。 ひとくちに品質といっても多様な属性があります。 顧客と品質の話で揉めたことはありませんか? 品質には多様な属性があり、単一の軸で良しあしを決められないという側面があります。 そのため、単に「品質」と言ってしまうと認識に齟齬が生じるのです。 Karl E. Wiegers氏が著書 「ソフトウェア要求」 で挙げた、すべてのプロジェクトが検討すべき12の属性は以下のとおりです。 可用性availability 動作可能時間の指標。システム故障までの平均時間MTTF(Mean Time To Failure)を 平均修復時間MTTR(Mean Time To Repair)とMTTFの合計で割った値。稼働率とも呼ばれる。 効率性efficiency 同じ処理性
アーキテクチャ選定ではメリットとデメリットを考える ではフレームワークやアーキテクチャの選定は合目的でなくてはならない、ということを言いましたが、 「システムの贅肉」という曖昧な概念を説明できていませんでした。 なんとなくイメージはできるんだけど、論理的な定義をうまくあたえれていない…。 骨格 = 要件の大きさ まず、確認しておくことは、システムの規模そのものの大きさです。 要件定義・要件開発において、スマートになるように要件を決めよう、という話題ですね。 お客さんに「ちょっとここはこうなるようにしてほしい」とか言われたときに気にするのがこの点。 今の設計に無理なく乗るなら軽く「いいですよ」と返せるところですが、その一見小さく見える事象に対応するために 骨格がいびつになるような場合は悩んでしまいますね。 さて、そんな要件開発ですが、絶対値というか、要求される事象の大きさの下限は決まっていて
アルゴリズムであるとか、アーキテクチャというのは、必ずメリットとデメリットがあります。 プログラマは前提条件に合わせてメリットが活き、デメリットは表に出ないように考えアルゴリズムの選定します。アーキテクトがフレームワークやアーキテクチャを選定する時も同等です。 「大規模プロジェクトではどうするか」を考えるより、「大規模にしないためにはどうするか」を考えようというエントリに対し、私はネズミかゾウかではなくて、肥満か筋肉質かだろうと答えたわけですが、さて、では筋肉質なシステムとはどんなシステムか?という話になります。 思うに、筋肉質なシステムというのは、選定したアーキテクチャなり、フレームワークなりのメリットが活き、デメリットが隠れるようになっている、そんなシステムのことではないでしょうか。 だから、それが例えばCOBOLで新規開発という話だったとしても、「過去資産を活用する」というメリットが
もし、あなたがこれから10年間、土砂を運搬する仕事をするとしたならば、次のどの道具に投資しますか? 手押し車 (10,000円~) 軽トラック (500,000円~。最大積載量は350kg以下) 中型トラック (ダンプで1,500,000円~。最大積載量は6.5トン未満) 大型トラック (10tダンプで10,000,000円~。) 多くの人は4を選ぶのではないでしょうか。あるいは大型免許を保持していない人は3を検討するかもしれません。 道具というのは仕事の効率に直結します。土木建設業などでは機械による効率化が目に見えてわかるため、 機械への投資とそのリターンが想像しやすいですね。 開発マシンを変えたなら 以前のプロジェクトで契約先会社から支給されたマシンで開発していたのですが、 Tomcat(JavaEEの実行環境であるWebサーバ)の起動に300秒以上かかっていました。 プログラムを修正
という数字が出されています。 エンジニアは「会って数分話をして」「1回のミーティングで」で併せて46%となりますね。 半数近くがこの程度の少ないやりとりで能力を判断していると答えているわけです。 これでは、じっくり時間をかけて相手の腕を吟味しているとは言えません。 その短いやり取りで何をチェックしているのでしょうか。 「その2 初対面では相手のどこをチェックしている?」 を見ると、エンジニア/非エンジニアで大きく数値が違う箇所がひとつあります。 「話の内容」でエンジニアは30%、非エンジニアは15%と答えています。 我々エンジニアが相手を見る際は、話の内容で相手の技術の程度を測ろうとしているのです。 これは、対面での会話でもBBSやメールでの遣り取りでも、blogを読む時もそう。 エンジニアなんてのは技術があってなんぼの世界ですから、自然、技術力によるヒエラルキーができてしまいます。 もち
2009-09-26 北陸Scala第1回開催 2009-04-04 第十四回java-ja勉強会 - 第1回チキチキ 地方巡業withひがやすを飲み会in富山開催 2009-03-20 わんくま大阪勉強会#28 「ジェネリクスを使おう!」 2008-11-08 わんくま富山勉強会#1 開催 2008-08-09 わんくま東京勉強会#23 「C#登場前夜」 2008-04-01 *で始まるタイトルはエイプリルフールネタです 2008-01-26 わんくま東京勉強会#16 「ライブプログラミング」 2007-12-08 わんくま名古屋勉強会#1 「わんくま初めてのJava」 2007-07-28 開店 みねこあさんのところで挙がっていた、 静的オブジェクト指向と動的オブジェクト指向の軽さについての話題から。 Javaは経済的事情をうまく捉えて普及した プログラミングの効率と経済で書いていると
日本Javaユーザグループ主催で、クロスコミュニティカンファレンス(CCC)が、4/30日に行なわれました。 この稿ではそのうち「ITゼネコンをぶっつぶせ」というBOFについてレポートおよび考察となります。 講演者はSeasarの開発者として著名なひがやすを氏。会場は立ち見が出るほどの盛況ぶりでした(100人以上はいたと思われる)。 ITゼネコンをぶっつぶせ - ひがやすをblog ITゼネコンを倒す方法をみんなで考えよう - ひがやすをblog プログラミングファースト開発 - ひがやすをblog セッション資料はそのうち公開されるのではないかと思います。 本セッションはITゼネコンの問題点をまず挙げ、ひがやすを氏の考える打開案であるところの 「プログラミングファースト開発」についてのプレゼンといった流れ。 残念なのはひがやすを氏が契約の部分に対して解をもっていなかったという点ですね。
エンジニアの正義とは第一に正しさに誠実であることです。 第二により高みに上り詰めることです。 丁寧に解説されていようとも技術的に誤った文章は、躍起になって否定されるものです。 たとえ口が悪く礼儀知らずだとしても、技術的に正しく、そしてそこに容易には得難い水準の知見が詰まっているならば、 その文章は賞賛されえますし、肯定的な意味で引用され語り継がれるものです。 その知見が正しいかどうか。それがエンジニアにとって最重要な事項です。 誤った知見に基づいていては何も作り上げることは出来ないのですから。 エンジニアは正しさに対して誠実でなければなりません。 誤った情報を発しないように。発してしまったら訂正するように。 失敗することは悪ではありません。 エンジニアリングというのは多数の失敗を越えて行くことです。 失敗からいかにうまく知見を得るか。 取り返しのつかない失敗をしないようにコントロールしなが
「ひがやすを BOF ITゼネコンをぶっつぶせ」 に期待にて 技術力のあるところがプロジェクトを統括すれば、安く、早く、良いものを作ることができる。これは、技術を売り物に独立起業している人間であれば多くが「うちにやらせてくれるなら出来る」と言うことでしょう。この点はさしたる問題ではない。 などと言ったわけなのですが…。この点、IT業界特有のものでしょう。 IT業界には設備がいらない IT業界特有、というのはシステム開発において「設備」というものが重視されない点です。 自動車整備工の人が、自宅の方が設備がよいので自宅で作業したいと言うでしょうか? 医師の人が、自宅の方が設備が良いので自宅で手術した方がいいのにと言うでしょうか? しかしプログラマは「家のマシンの方が性能いいし、モニタもでかいし、本もあるし、 ネットも速いし、家でプログラム書く方がいいよね」と言う人が多い。 マシンが必要といって
「誰が書いても同じコード」は大事なことなのかで 語られている話は非常に興味深ものです。 SIerの言うところの「仕様書」というものはなんなのでしょうか。私のblogでも 内部仕様書はロジックを書くものではない で仕様書を話題に挙げたわけですが、仕様書の在り方を、システム開発の分業の在り方を今一度考えてみたいと思います。 「誰が書いても同じコード」になるためには コードとは何でしょうか。プログラミング言語で書かれたアルゴリズムの表記のことです。 プログラムするということはどういうことでしょうか。 ある目的を適える為のアルゴリズムを考え、プログラミング言語でそれを表現する過程を言いいます。 「誰が書いても同じコードになる」ということは、誰もが同じアルゴリズムを採用し、 そして、その表記さえも同じ書式になることです。 書式のブレは瑣末なことです(コード規約の自動チェックツールなどを導入すれば容易
「Step数を報告して」と言われると「Step数(笑)ですか」と言いたくなる今日この頃、 みなさん、いかがお過ごしでしょうか。 ところで、Step数って何が悪いのかを説明できますか? その数字の示すところを知った上で正しく使うには問題ないのですが…。 Step数は規模に対して正の相関関係を持つ まず、Step数と規模にはなんらの関係もないわけではありません。 Step数は確かに規模と正の相関性を持っています。 ただし、誤差があまりに酷いというだけのことです。 Step数という指標の誤差には以下のような原因が考えられます。 コードのフォーマットによる誤差 マルチステートメントなどの記法による誤差 ロジックによる誤差 冗長性による誤差 他にもあると思いますが、挙げ始めるときりがありませんね…。 コードのフォーマットによる誤差 コードのフォーマットによる誤差は for (int i=0; i<1
シャノンさんのアイデアは 面白い試みだと思いました。一部で勘違いされる方もいたようなので要旨をまとめておきます。 その用語、実態はどうなの? PG/SE論争というのがあります。PG(プログラマ)とSE(システムエンジニア)の仕事についての話題なのですが…。 @ITなどの掲示板では定期的に出てくる話題のように思いますね。 私も過去にエントリを書いています。 この論争の場合、ざっくりとまとめると 大手企業は利益率の良い「上流工程」を行いたがる 「上流工程」の上流というのは貴賓のことではなく、開発工程上のもので特に意味はない 上流工程を主に請け負いたいがために、社員教育の過程として下流工程→上流工程という過程を経る 出世の過程としても下流工程を行う役職(PG)→上流工程を行う役職(SE)という流れ 何を勘違いしたか下流工程を行うのは下賤な仕事という認識を持つ人が出てくる 根本的な価値観の違いが論
ここ3年ぐらい同一案件のアジャイル的な開発をやっているのですが、 見積もりについて経験則がまとまってきたので整理してみたいと思います。 まず、前提として以下のような作業を請け負っています。 顧客の要望を聞いて要件開発を行う 要件を元にシステムの設計を行う 設計を元にプログラムの製造を行う テストを行う 運用時に発生した障害の調査 開発は1期のスパンが2か月~3か月程度で、 開発した機能のリリースを行いながら順次機能拡張していくといった感じになります。 作業の見積もりはその作業の種別により分類されます。 建築での比喩で表現すれば、大きく分けると設計図面を引く前と引いた後です。 これに加え、突発的な飛び込み作業があるので、以下の3つに分類しています。 設計図面を引くまでの作業 引いた図面をもとに開発する作業 突発的に発生する作業 そして、それぞれの作業ごとに不確定要素(リスク)が存在します。
掲示板は何のためのシステムかでは 技術系のいわゆる電子掲示板と呼ばれるものは、実際には単なる「掲示版」ではなく、 知識の集積の機能と、議論のための機能が求められているのではないか、ということを述べました。 この稿ではそのための機能性についての案を考えたいと思います。 知識の集積に必要な機能性 カテゴライズ 投稿された質問などはネタ振りで、それを取り上げ知識の形にまとめて集積を行うというスタンスのシステムを考えましょう。 まずはネタ投稿。これは一般のスレッド式掲示板などとそれほど変わらないと思います。 ただし、ジャンルのカテゴライズは投稿者によってある程度事前の選定は可能ですが、 後にジャンル変更できるようにすべきと考えます。また、複数のジャンルに及ぶものもありますから、 複数のカテゴリをタグ付けするような方法論が適しているのではないかと思います。 とくに質問を投稿する方には初心者も多く、カ
Webデザイナーの話がはてなで取り上げられていたので、Webシステムの裏方を引き受ける業界からの忠告。 漫画に出す車の絵のデザインを考えるのと工業製品としての車のデザインはまるで違う。 違いは何かといえば、それは工業製品たらしめる 機能性をそのデザインにどう盛り込むかという視点の有無ですね。 工業製品であるからには当然ながら機能しなくてはならない。車なら走らなければならない。その上、いざ事故となったときの安全性や、居住空間の快適さ、荷物を載せる場合の利便性など、いろんなシチュエーションを想定して、工夫を盛り込まなくてはならない。 一方、それが漫画やアニメ、ゲームなどに登場する架空の車であれば、そんなことは一切お構いなし。どこにそんな機能の格納スペースがあるのかという突っ込みをするほうが無粋というモノ。 Webデザイナーに求められるのは飾りとしてのHTMLではない 静的なWebページならいざ
年末進行でいつもより投稿が落ちているProgramming SHOT BARへようこそ。 年末にすいているBARってのは危機的ですね:-( さて、プログラミングの教育の話題。 プログラムを学ぶには 本などから学ぶ知識 知識の使いどころを判断する能力 が車輪の両輪であり、片方だけでは成り立たないと考えています。 知識に関しては昨今Webでのずいぶん手に入るようになりましたし、 さらに書籍であればうまく取りまとめてあり、得ることはそれほど難しくはありません。 ただ、知識として「そういうプログラミングパラダイムがある」「そういうAPIがある」というだけでは プログラムはできないのですよね。 実際に自分でコードを書いて、試行錯誤をして初めて知識が知恵に昇華される。 知識の使いどころを学ぶ必要があるわけです。 そして、この知識の使いどころの部分。これを学ぶことは難しい。これを教えることも難しい。 知
C言語の学習において、ポインタはよく躓くポイントとして知られています。「Javaにポインタはない」などと表現されることがありますが、実際にポインタは存在します。 NullPointerExceptionという例外が存在することからもこれは窺えるのですが、 C言語のポインタとはちょっと違っており、名前も「参照」と改められています。 C言語のポインタが果たす3つの役割 C言語ではポインタには3つの役割がありました。 変数や構造体を指し示すもの 配列を表現するもの 関数を指し示すもの これらが渾然一体となって、コンピュータの低レベルな「アドレス」という値になって扱われるのです。これがC言語でポインタを理解することを難しくしているのではないでしょうか。 Javaではどのように置き換えるのか? Javaではこれらの3つの機能は明確に分離されています。 まず、変数や構造体を「指し示すもの」としては「参
技術系のコミュニケーションにはミニマムコードは欠かせません。 現象を100の言葉を並べて説明するよりも動作するプログラムを1回動かしてもらう方がよく理解してもらえるのです。 まさに百聞は一見に如かずといったところでしょう。 ミニマムコードに求められること ミニマムコードとはなんでしょうか?「ミニマム」+「コード」ですから、最小限のコードといった意味合いです。 最小限だけれども、それだけで動作する完全なプログラムである必要があります。 該当部分のコードの抜粋とは違うのです。 それだけで動作するコードであること テーマを再現できること テーマ以外が極力含まれないコードであること テーマと言っているのは、その時々で話題にしている議題のことです。 ある現象について話しているならその現象を起こせるコードということです。 コードは余計なものが含まれていないことが理想的です。 余計なコードがあると、本来
はてなの方に書いた奴を転載*1。 はてなの匿名ダイアリーでSIerの話題が出ていたのが元ネタ SIerをカモに金を稼ぐ方法はふたつある。 ひとつは、手配師になって頭数いくらの契約をとりつけ、無能なコーダを送りつける方法。 もうひとつは、3倍早くシステムを作れるようになって歩合給の契約を取り付ける方法だ。 前者は、労働の牛歩戦術を基本戦略とする。 仕事を積極的に進めてはならない。コーダにいかに多くの残業をさせるかがポイントだ。 残業分の請求は、通常の労働時間よりも多い金額をSIerに請求できる。 無能なコーダには成果を挙げないことを叱責し、サービス残業を強要すればよい。 そうすれば、SIerに請求した残業代はそっくりそのまま手配師の懐に入る。 SIerの機嫌をうまく取ることがポイントだ。 コーダは残業を必要とする程度には無能であるべきだが、SIerの逆鱗に触れるほど無能ではいけない。 しかし
ソフトウェアの品質と一口に言っても複数の属性が存在することは 先のエントリ でも触れましたが、この中の保守性に今回は焦点を当ててみたいと思います。 保守性が活きるかどうかは不確定 保守性というのは端的に言えば修正のしやすさを意味します。 仕様変更や追加の際の工数が小さい、その作業過程でのバグの出現数が少ない、といったところです。 さて、この保守性の高さというのは、いざ変更を行おうとする段にならないと効力を発揮しません。 例えば初期のデータ移行のためのバッチとか、そういった「使い捨て」のプログラムでは重要視されません。 つまり、将来発生するかもしれない変更に対して、工数が少なくなるように保守性を高めるということは、 アップサイドリスクである、つまり、発生するかどうかが不確かな利益であると言えましょう。 このアップサイドリスクは仕様変更があって初めて効力を発揮するものです。 そしてその価値は、
Programming SHOT BAR へようこそ。今回はリスクというものについて考えてみたいと思います。 そもそもリスクって何? 日常でもリスクという言葉を使うと思いますが、そもそもどういう意味なのでしょうか? 手ごろなところでWikipediaで調べると 「危険に遭う可能性や損をする可能性を意味する概念」とありますね。 基本的には 発生確率×損害の大きさ といった形で表されます。ここでは「損害」と書きましたが、金融用語では不確かさ、 つまり「発生確率」の部分を意味し損得に関わらず「リスク」といいます。 とくに不確かな利益についてはアップサイドリスク、不確かな損害についてはダウンサイドリスクといいます。 行動心理学的に人間は確率を過大評価もしくは過小評価する傾向があります。 端的には信じたいものを信じるわけですが、アップサイドリスクは過大に、ダウンサイドリスクは過小にという傾向が強い。
Programming SHOT BARへようこそ。今回は数字の話です。 学術でも仕事でもそうですが、世の中は数字というものが大好きです。 数字化するとはどういうことなのか考えて見ましょう。 数字化すれば誰でもわかる IT技術者であれば作ろうとしているシステムの技術的な難易度やそのボリューム感について おおよそ把握することができると思いますが、その感触を非IT技術者に伝えることは難しい。 しかし、(あまりよい方法ではないかもしれませんが)何人の技術者で何ヶ月かかりますという、 いわゆる人月というモノサシを用意して数字にすることで非技術者にもボリューム感を伝えることができます。 数字にすることで10と100なら100の方が10倍大変ということぐらいは伝わります。 定量化して数字にすることで誰にでもその分量が分かるようになるわけです。 数値化の罠 数字というのは非常に便利で、とても直感的に量を
開発工程を別々に担当してはいけない というblogエントリを見かけて違和感を覚えたので少々。 該当エントリを読んでもらうのが一番なのですが、概略として指摘事項は、 ウォーターフォールモデルでは工程別で担当を分ける場合に生成されるドキュメントが膨大になり多くの工数を消費する プロトタイピングのような手法が用いにくく、手戻りの工数が大きい。 個別のパーツの製造者は仕様に従って製造するだけで責任を果たせるため、最終的なプロダクトの利便性などを気に留める必要がない。 上流~下流の各工程に下請け発注の産業構造が重なり、下流は単価が安く利益にならない。 といった点を上げ、作業を分担するという方法が諸悪の根源ではないか、と主張されているわけです。 複数の議論を内包する議題は、議論の抽出を行うべき 該当のエントリでは、非常に多くの議題を内包しています。 工程分離によって生産性が高くなるのか、低くなるのか
Programming SHOT BARへようこそ。 完全なテストは不可能だ といってしまった手前、現実的なテストについて考えて見ましょう。 なお、今回は数学側への分岐だった メソッドは写像だ側の概念も含んでいます。 伏線回収だと思って読んでいただけると幸いです。 完全なテストのテストケース数 システムに対して完全な仕様書があると想定します。 こういう場合はこう動く、ということが明確に規定されているとします。 すると、テストというのは、実装が想定する動きと同じかを検証する行為ですから、 システムを関数Fで、仕様を関数Gで表現すると、 F(x) = G(x) であることを、全てのxについて確認することになります。 ここで、xの取りうるパターン数が、そのままテストケース数になることになります。 今、入力xがn bitの情報量だとします。 すると、テストケース数は2n となります。 入力bit数
非常に大きな反響のありましたこのシリーズ、とりあえず投げっぱなしはよくないので締めておきたいと思います。 その1では単純化したモデルではありましたが、 時間給である以上、労働の牛歩戦術が労働者が目先の賃金を多く得るには最適な戦略になってしまうという問題点を指摘しました。 労働時間が延びた場合に残業代として支払われる余剰金は、能力UPによる昇給よりも幅が大きく、短期的には残業を取るほうが特になってしまうのです。 その2ではIT業界の会社間の契約で 頭数x時間による派遣労働型の契約が多いことを挙げ、その場合にやはり労働の牛歩戦術が利益向上の最適な戦略になってしまうことを示しました。 また、そのような形態で仕事を請け負っている会社としては技術者の腕はあまり利益にならないことを挙げ、 派遣型IT企業は技術を欲しないことを指摘しました。 さらに、理想的な給与形態は 集団の利益を最大にする方向性と、個
前回の続きです。 前回は時間給の場合、労働者が最小の労力で最大の賃金を得ようとする場合、生産性を下げる戦略をとることになる、というお話でした。 賃金という労働者の利益を考えた場合、生産性の向上は労働者にとっては実はどうでもよいことだったりするわけです。 会社やグループといった集団の利益と労働者個人の利益とが相反する状況にあるということを指摘したかったのですが、論点がブレてしまっていましたね。 会社間契約における労働の牛歩戦術 IT業界では今でも派遣業そのもののビジネスモデルを展開している会社が多くあります。 この場合、XXプロジェクトに5人送り込んだ、契約上は一人60万×5人=300万の月間売上、という形になります。 さらに、月間労働時間が超過した場合は残業時間分だけ別途請求するような契約になっていたりします。 要するに頭数と時間で利益が増えるという契約。 これは前回とりあげた労働の牛歩戦
今回は給与形態のお話です。 日本で主流の基本給+職能給という形態の問題点を考察してみたいと思います。 注意:以下の話は論理的な話であり、実務上は各種法令が関連してきます。本稿ではそのあたりは考慮からはずしてあります。 最小の労力で最大の賃金を得るには ここではまず理論的にどのような労働スタイルが賃金を多くするのかを考えて見ましょう。 まずは簡単のため月給が20万、1日8時間、月間営業日20日間、月間労働時間が160時間、 残業が160時間つくと残業代が20万となるケースを考えて見ましょう。 時間給というのは労働の密度に関係なく、時間で賃金が支払われます。 1日の製造ノルマが100stepだとします。100step/日の生産性だと月給20万円です。 ところが、生産性が悪く50step/日しかできなかったとします。すると残業を160時間して月給が40万円になります。 おや、生産性を下げると賃金
Creative Commons. Some Rights Reserved. Photo by kopp0041. 有名人や芸能人のTwitterアカウントをまとめたページはあるけれど、グリーンなアカウントとなると一覧で紹介しているページはないのではないでしょうか。 そこで、greenzならではのグリーンなTwitterアカウントをまとめてみました。これまでgreenzで紹介した団体や、greenzの情報ソースとなっているアカウントなど、国内、海外合わせて全86アカウントを一挙にご紹介しましょう。 1. 日本 rh2news R水素ネットワーク thinktheearth Think the earth earthday アースデイ東京 candlenight キャンドルナイト ecozzeria エコッツェリア EcoNetworks エコネットワークス lipjapan リビング・イ
ソフトバンクの子会社のTVバンクは26日、Ustream配信のためのスペースと配信機材を無料で提供する「USTREAMスタジオ 渋谷」の利用の申し込み受付けを開始したと発表した。 「USTREAMスタジオ 渋谷」では配信スペース・回線・機材の提供のほか、Ustreamに関するセミナーも定期的に行うという。 スタジオは予約制で、現在5月11日~31日までの予約を受付中。現状では1日1組の利用を予定しており、時間は10:00~24:00。申し込み後、利用の可否については5月7日に知らされる。 制約事項としては、Ustream.tv利用規約に反するものや、観客を集める行為、大音量の楽器演奏、公序良俗に反するもの、有料イベント、肖像権・著作権を侵害する配信などは禁止されている。そのほか未成年者の利用には保護者同意が必要だ。 《RBB TODAY》
お見合い1勝99敗 (PHP新書) 【本の概要】◆今日お送りするのは、新聞記者という職業に就きながら、お見合いを100回どころか150回ほどこなしてゴールインしたという吉良友佑サンのご本、「お見合い1勝99敗」。 本書は「産経関西」の関連サイトでもある吉良さんのブログ、「お見合い達人の裏話」を1冊にまとめたものです。 内容的には、タイトルの「1勝99敗」そのまま、失敗談の連続。 ただし、その失敗の中からも「学ぶべき点」が多々あるため、今回はその中から6つご紹介してみます。 いつも応援ありがとうございます! 【目次】第1章 お見合いを始める心構え 第2章 お見合いの場で 第3章 デートの作法 第4章 相手の見極め方 第5章 結論の出し方 第6章 結婚についての考え方 第7章 お見合い相談室 第8章 お見合い余話 【ポイント】■1.「フタマタ」OKの巻 ◆本書を読むまで、お恥ずかしながら全然知
今夜も絶賛ブログ炎上中(計画炎上じゃーないですよ!)、だけど年相応に日々鈍感力に磨きがかかるたぬきちです。そんなたぬきが14歳の中学生に戻ったかのようにwktkした日の日記です。 ■剣豪登場 春らしい日和だが日が沈むと風は冷たい。会社を定時に出て電車を乗り継ぎ、都内某所の居酒屋に向かった。 今日は特別な、スペシャルな夜なんだった。 居酒屋の個室で同行の人たちとしばし待つ。何度かスイングドアが開いた後、お目当ての人が現れた。 佐々木俊尚さん、四十八歳(推定)。ITジャーナリスト。プロフィールはもうみなさんご存じと思う。僕がリストラに応じて会社を辞める決心をした直接の動機は佐々木さんの著書『仕事するのにオフィスはいらない』を読んだことだった。今夜は一読者の僕が、その佐々木さんと会える日なのだった。もちろん、佐々木さんが僕に直接声を掛けてくれたんじゃない。間を取り持ってくれた人がいるわけでその人
Programmers at Work(『実録!天才プログラマー』)の中で、Bill Gates は、「プログラ ミング能力を確認する最高のテストの1 つは、約30 ページのコードをプログラマに渡して、どれだけ素早く彼がコードを読んで理解できるかを見ることです」と述べています。彼は重要なことを認識していました。コードから直接知識を素早く吸収できる人は、すぐに非常に優れたプログラマになります。なぜならば、今までに生まれてきたすべてのプログラマが書いたコードの1 行1 行すべてが、先生だからです。 外に公開されない会社内のソースコードを読む場合には、私自身の長年の経験からすると、学ぶというよりも、読んでいて嫌になることが多いのではないでしょうか。私自身も社会人になった頃は、今日の私が見たら嫌になるコードをたくさん書いていたと思います。その悪い癖を、自力で直すのに、ずいぶんと遠回りしてきました。
来年も作りたい!ふきのとう料理を満喫した 2024年春の記録 春は自炊が楽しい季節 1年の中で最も自炊が楽しい季節は春だと思う。スーパーの棚にやわらかな色合いの野菜が並ぶと自然とこころが弾む。 中でもときめくのは山菜だ。早いと2月下旬ごろから並び始めるそれは、タラの芽、ふきのとうと続き、桜の頃にはうるい、ウド、こ…
有隣堂AKIBA店での書籍フェアでは、次の20冊を推薦しています。 ■キャリアを考える 『コンサルタントの秘密―技術アドバイスの人間学』(共立出版) コンサルタントはどのようにしたら効果的に働けるのか? ワインバーグの経験に裏付けされたコンサルタントの成功法則がわかる名著。 『ITコンサルティングの基本』(日本実業出版社) ITコンサルティングの手法や報酬、必要スキルまで幅広く網羅する一冊。ITコンサル企業への就活・転職方法もプロが指南する。 『スーパーエンジニアへの道―技術リーダーシップの人間学』(共立出版) 技術者がリーダーシップを発揮するためにどうすべきか? 問題解決や人を動機づける方法がわかる一冊。 『SEからコンサルタントになる方法』(日本実業出版社) SEは何を強みにコンサルタントを目指せばよいのか? キャリアアップの方法が具体的に示されている一冊。 ■業務知識を得る 『改訂版
[いがぴょんの日記v2,diary,igapyon] 新規赴任の開発者向け書籍 (Java 系を中心に) をメモしておきます。 新規赴任の開発者向け書籍 (Java 系を中心に) をメモしておきます。 ビジネス・スキル系 - 基本 中学生からの作文技術 出版社: 朝日新聞社 著者: 本多 勝一 amazon.co.jp: 402259862X ¥ 1,260.- 日本語作文技術の基礎を教えるために利用。この本には、システム・エンジニアに最低限必要な技術が載っています。 新装版 日本語の作文技術 出版社: 講談社 著者: 本多 勝一 amazon.co.jp: 4062130947 ¥ 1,470.- 日本語作文技術の基礎を教えるために利用。この本には、システム・エンジニアに最低限必要な技術が載っています。 13歳からの論理ノート 出版社: PHP研究所 著者: 小野田
以前書いたエントリに非常に興味深いコメントを頂いた。 「組織に酔う」日本人 - Rails で行こう! 私は20年東京の中小企業に勤め、その後アメリカの中小企業に転職して今年で10年目になるプログラマですが、私の経験から言うと、家族と仕事のどちらに重点が置かれるかが、アメリカと日本のサラリーマンの最大の違いだと思います。 ここアメリカでは、家族と一緒の時間を最も大切にして、会社はあくまでも収入を得る手段であり、そこで1日のうちの8時間以上を過ごすのは愚かである(自分や家族の人生を大切にしないと言う点で)と考えます。社長以下、すべての上司も同じように考えているので、滅私奉公などという発想はありえません。そういう発想の人は多かれ少なかれ家族に問題が発生し、その結果生産性が下がり、いずれレイオフされるでしょう。 仕事は家族の次に大事なものです。何といっても1日の三分の一を過ごすわけですから、その
Five reasons iPhone vs Android isn't Mac vs Windows Competitive lessons from the PC era don't always apply to mobile Last week I presented at Stanford Graduate School of Business in a session on Mobile Computing called, “Creating Mobile Experiences: It’s the Platform, Stupid.” As the title underscores, I am a big believer that to understand what makes mobile tick, you really need to look beyond a
Welcome to this detailed report from our second “State of Web Development” survey of professional web designers and developers. It includes details and analysis of all the responses to over 50 questions covering technologies, techniques, philosophies and practices that today’s web professionals employ. You can download the complete (anonymized) set of responses in CSV format, our PDF infographic o
Based on Maslow’s hierarchy of needs, the idea of a design hierarchy of needs rests on the assumption that in order to be successful, a design must meet basic needs before it can satisfy higher-level needs. Before a design can “Wow” us, it must work as intended. It must meet some minimal need or nothing else will really matter. Is this true? Or could a design that’s hard to use still succeed becau
SIerでプログラマ(PG)からプロマネ(PM)までやった僕が通ります。 PMになりたくない症候群 - ベテランIT営業が教える「正しいITの使い方、営業の使い方」 - ZDNet Japan 一度でも失点をしたらそこからリカバリーすることが困難な立場に放り込まれるし、放り込まれたら現場の裁量で何とかするしかないというデフェンシブなやり方に起因する構造的なPM疲弊体質。確かにコレは、嫌悪される理由の1つにあると思います。ただ、それだけではないな、と。技能という側面で考えても嫌悪される理由があるのかな、と思いました。 要はPG→SE→PMというキャリアパス、についてですね。 色々な議論がありますが、何が問題かと言えばプログラマとして未来を奪い去ってしまう所が過多あるってことに尽きるように思います。技術は移り変わるわけですから、プログラマでありたいなら保有スキルが陳腐化しないようにしなくてはな
ITポートフォリオの管理を正しく行っていれば、たとえ選んだ施策が最大のROI(費用対効果)をもたらすものでなかったとしても、企業目標の達成にIT投資を確実につなげられる。ここでは、ITポートフォリオ管理の基本原則や、より生産的なポートフォリオ管理を行う方法について解説する。 関連トップページ: IT投資/ROI 正しいITポートフォリオ管理が、企業目標達成への近道 意思決定の優先順位づけの基準を見直し、より効率的なポートフォリオを作る 2010/04/27 ITポートフォリオの管理を正しく行っていれば、たとえ選んだ施策が最大のROI(費用対効果)をもたらすものでなかったとしても、企業目標の達成にIT投資を確実につなげられる。ここでは、ITポートフォリオ管理の基本原則や、より生産的なポートフォリオ管理を行う方法について解説する。 ITポートフォリオ管理の基本原則は、まず最初にポートフォリオ
気になる記事をスクラップできます。保存した記事は、マイページでスマホ、タブレットからでもご確認頂けます。※会員限定 無料会員登録 詳細 | ログイン 「クラウドは誰に売るべきか?」。現在、クラウド・コンピューティングの事業化を計画している、あるいは既に事業を開始しているサービス・プロバイダが頭を悩ませている点はこの点だろう。 サービス展開で先行する米国の状況を見ると、低廉な利用料金が売りのパブリック・クラウド、特にIaaS(Infrastructure as a Service)の利用者の中心は、個人の開発者、あるいは、死語になってしまったが、Web2.0系の企業が多いとされる。 米国の場合、西海岸のシリコンバレーを中心に無数のIT系ベンチャー企業が存在する。しかも、スタンフォード大学やMITなど世界でも有数の理工系大学も抱えており、潜在的な利用者は相当なものだろう。 プラットフォームのオ
「厳しい今だからこそ、新しいことに取り組まなければならない」。 多くの経営トップの方々がこう考えているはずだ。実際、経営トップにアンケート調査をしてみたところ、まさにそうした回答が寄せられた。 景気底入れ、そこで経営者は何を考える? 「経営回復局面に向けた重点方針」と「現在の重点方針」を尋ねたところ、「経営回復局面に向けた重点方針」の上位3点は「新規顧客・市場の開拓」「新製品・サービスの投入」「収益性を高める事業構造改革」となり、「新しいこと」が1位と2位を占めた。 これに対し、「現在の重点方針」の上位3点は「生産・調達コストの削減」「収益性を高める事業構造改革」「売上高人件費比率の低減」であった。 実は、この調査を実施したのは2009年4月であり、上記の「現在」とは2009年度上期を指す。当時、筆者は日経コンピュータという雑誌の編集長をしており、日経BPコンサルティングと共同で調査をした
金融危機以降、存在価値を問われ始めたマクロ経済理論。ジョージ・ソロス氏の研究所が経済学者を集めた会議を主催。あるべき姿を巡り議論が戦わされたが、改革への道は厳しい。 経済学者ジョン・メイナード・ケインズが約70年前、思考と探求を重ね、マクロ経済学を確立させた場所として知られる英ケンブリッジ大学キングスカレッジ――。ここに4月8日から3日間、世界の著名な経済学者や政策立案者、思想家ら約200人が集まり、「経済危機と危機に直面する経済学」をテーマに議論を戦わせた。 ソロス氏から5000万ドル ノーベル経済学受賞のジョセフ・スティグリッツ氏やジョージ・アカロフ氏を含め、ハーバード大学のケネス・ロゴフ教授、ケインズ研究の大家ロバート・スキデルスキー氏、国際通貨基金(IMF)のストロスカーン専務理事、Y.V.レディ前インド中央銀行総裁など、参加者の4人に1人に当たる53人が講演。議論は経済理論の限界
気になる記事をスクラップできます。保存した記事は、マイページでスマホ、タブレットからでもご確認頂けます。※会員限定 無料会員登録 詳細 | ログイン Olga Kharif (BusinessWeek.com記者、オレゴン州ポートランド) 米国時間2010年4月19日更新 「Startups Find Room to Run on Crowded Social Web」 SNS(ソーシャル・ネットワーキング・サービス)サイト向けゲーム開発会社の米プレーダム(本社:カリフォルニア州マウンテンビュー)は、20代の若者3人を含む若き創業者が共同で立ち上げたベンチャー企業だ。「Mobsters(モブスターズ)」などのゲームがヒットして、同社ソフトは米メディア大手ニューズ・コーポレーション(NWS)傘下のSNSサイト「MySpace(マイスペース)」で人気を集め、1年ほど前には彼らにもゆとりがあった
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 << >> new しばらく別のサイトでブログを書き続けます。 (02/18) 自分の痛み、他人の痛み (02/18) 祭りのあと (02/17) マホガニーのテーマを聴きながら (02/15) マホガニーのテーマを聴きながら (02/15) archive February 2012 (20) January 2012 (34) December 2011 (10) November 2011 (14) October 2011 (9) September 2011 (11) August 2011 (9) July 2011 (4) June 2011 (9) May 2011 (13) April 2011 (8
毎年恒例の技術者向け(有償)コンファレンス「ISE Technical Conference 2010」の内容が公開され、申込開始になっています。今年は6/3〜6/4で、場所は箱崎(水天宮前)です。 - IBM ISE Technical Conference 2010 - Japan 毎年ご好評いただいている、ISE Technical Conferenceですが、今年はIBM本社(箱崎)にて6月3日(木曜日)〜4日(金曜日)に開催いたします。 先進のソリューション、最先端の技術情報などをお伝えし、充実した技術者のためのConferenceとなるようスタッフ、講師とも全力で取り組んでおります。今年は昨年までにいただいたご意見を反映し、セッション内容のさらなる充実を行っています。 ISE Technical Conferenceは日本アイ・ビー・エム システムズ・エンジニアリング株式会社(
DB2開発チームが、「ユーザビリティ(使い勝手)」についてアンケートに答えてくれる方を募集しています。 - DB2 Express-C Team Blog: DB2 usability survey (with reward!) Here's an opportunity to provide your input directly to the folks who develop DB2 by filling out an online survey. Those who complete the survey will receive an honorarium in recognition of the time they spent providing this feedback. オンラインフォームに入力すると、開発者に直接意見が届くようです。設問数は25問だそうです。 こういっ
via. ホームページ移転のお知らせ - Yahoo!ジオシティーズ 読んでて懐かしかった(?)ので、なんとなくエントリ。。。 下手すると宗教戦争になりかねないコーディング規約ですが、複数人で開発する場合、プログラミング言語だけではなく、SQLにもあった方が良いのは言うまでもありません。 今のところ、オレオレ規約で書いてるわけですが、ベースとなってるのは最初に入社した会社の先輩の書き方です。で、SQLプログラミング作法の"コーディング・ルール"にある項目に沿って、それぞれどんな感じで書いてるのか晒してみます。 コメント ハイフン2つ(--)も複数行コメント(/* 〜 */)も両方使ってます。後者はjavadocっぽく書いてます。 /** * ○○○○を日毎に集約 * * @todo チューニング */ インデント スペース4つ。基本的に、"意味が切れる"予約語(FROM、WHERE、AND
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く