software

「ファイル」って無くなるの?

iPhone を使い始めて最初の感想は コイツ、なんていうか「コンピュータ臭」がしないな というモノだった。コンピュータのくせにコンピュータ臭くない。その原因はたぶん、 iPhone にはファイルが無いから じゃないかと思う。 いやもちろんね、OSの内部的には…

テクノロジかテクニックか

テクノロジはモノに宿る。テクニックは人に宿る。とどこかで読んだ。ふむ、確かにそうだ。3Dモデリングという行為はテクノロジとテクニックの両方に支えられている。モデリングツールはテクノロジ、それを操るモデラーさんの技量はテクニック。これは別に3D…

僕がJavaを選ばなかった理由

先日、大学時代の後輩と久しぶりに会った。彼はSeasarのコミッタにもなっているとても優秀なJavaプログラマだ。その彼が、ビールを片手にこう尋ねた。「どうしてC#にしたんですか?Javaを選ばなかった理由って何かあるんですか?」僕は答えた。「Javaにはstr…

リファクタリングとヒステリシス

リファクタリングとはソースコードのエントロピーを小さく抑えることであり、これを言い換えれば「設計のヒステリシスを小さく抑えること」なんじゃないかと思う。例として、機能A と 機能B の2つの機能を備えたソフトウェアの開発を考えてみる。最初から 機…

「技術はビジネス/文化ほど重要ではない」か?

ヨードン博士の「ソフトウェア工学で最も大切な10の考え方」という資料を、平鍋さんが翻訳されていた。ヨードン博士が「書いたよ」ってtwitterでつぶやいて、平鍋さんが「翻訳したいな」って呟いて、5分で「いいよ」って返事をもらったとか。すごいなー。平…

「合意」という幻想

マイクロソフトの萩原さんがmixiで書かれていた日記の中に「合意がなくても動作するシステム」という言葉があって、なんだかはっきり分からないけどこれはとっても面白いなぁと感心してしまった。この「合意がなくても動作するシステム」という言葉は別にそ…

機械に嫉妬する

小学生の頃、デフ(ディファレンシャルギア)の構造に感動した記憶がある。たぶん、子供向けの図鑑みたいなものを見たんだと思う。思うに、デフよりも美しいソフトウェアは作れない。 さっきテレビにカラクリ人形が映っていた。ソフトウェアには、どんなに頑…

ソフトウェアを基点にハードウェアを発想する

これからの時代、面白いモノづくりって、ソフトウェアが基点になるんだと思う。 今のところ まずハードウェアを開発する(すでにハードウェアがある) 次にそのハードウェアの上にどんなソフトを載せるか考える ていう順序が多い気がする。つまり、言い換え…

雑誌掲載記事「ワクワクをカタチにするカタッチの挑戦」をウェブにアップしました

ずいぶん前のことだけど、エンジニアマインドという雑誌に記事を書いた。 技術評論社から見本誌が届いたぞ。エンジニアマインド Vol.4作者: エンジニアマインド編集部出版社/メーカー: 技術評論社発売日: 2007/05/12メディア: 大型本 クリック: 1回この商品…

失敗の波に乗れ

プロジェクトをやってると今でも急に不安になることがある。とりあえず今はなんとか上手くいっている。でも次のリリースはどうだろうか。間に合うだろうか。ギリギリになって大きなバグが見つかるかもしれないぞ。先日もバグ報告が来た。テストが足りてない…

2つの技術力

「ソフトウェア企業の技術力」と聞いて、あなたはどんな技術力をイメージしますか。僕は、技術力は次の2つに大別できると思っている。 数学的な技術力 工学的な技術力 数学的な技術力とは、他社には出来ないことを実現する技術力だ。例えば圧倒的に高速な演…

設計の苦しみと喜び、そして「曲面」の設計に込めた思想

読みながら、思わず色々なことを思い出してしまった。 クリエイティブな仕事というのはある意味で残酷だと思う。 なぜなら、 つくりあげたものが評価に値しないものだった場合に、 自由にできる環境があったのに、 この程度のものしかできなかったのかという…

TDDでアーキテクチャを導出出来るか

この対談、面白い!必見ですよ、必見。 概要 JAOO '07 で「今時、ユニットテストを実施してないコードを納品するのは無責任な開発者だ」というBob Martin氏の主張について、議論が起こった。このInfoQビデオは、BobとJim Coplien氏がこれに関連する話や、い…

泥のように働け、砂のようには働けない

「泥のように働け」って、あれは酷い煽り記事でしたなぁ。ようやく落ち着いてきたようで。 「言葉を慎みたまえ、君は重鎮の前にいるのだ!」 「見ろ!人が泥のようだ!」 などというしょーもないネタを思いついたが、まあ悪ノリはここまでにしておこう。皆さ…

フレームワークをアジャイルに作る方法

フレームワークもアジャイルに作ればいいじゃない、という話を書いてみようと思う。うまく書けるか分からないけれど。僕が思うに、アジャイル的価値観が台頭してくるにつれて、もちろんそれはいいことだけれど、代わりにどうもフレームワーク開発とかライブ…

Fire and Motion

Joel on Software を読んで最も印象に残ったのは次の一文だった。 Listen to your customers, not your competitors! 競合他社の動きなんかに惑わされるな、とにかく顧客のニーズに注意を集中せよ、というアドバイスだ。とかく競合製品の機能ばかりが気にな…

リーンソフトウェア開発とレスポンスの良いソフトウェア

またしても原書にトライして四苦八苦、七転八倒しております。Implementing Lean Software Development: From Concept to Cash (Addison-Wesley Signature Series (Beck))作者: Mary Poppendieck, Tom Poppendieck出版社/メーカー: Addison-Wesley Professio…

なぜSIerは自分が作ったものを公開したいと思わないのか

これ、最初はちょっと意外だった。 開発者としての本音が知りたくて、何人か永和の受託開発メンバーに聞いてみました。サービス系(BtoC)をやってるメンバーでも、意外と非公開派が多いようです。 「自分が作ったこと、公開したい?」 - Be Happyman!! 受託…

会社が火消し屋に「頼る」危険性

思わず脊髄反射。・・・ん?「思わず」と「脊髄反射」は同じ意味か。まあそんなことはどうでもいい。 仕事が慢性的に過度に集中している人は、一度じっくり考えてみたほうが良い。会社は、「あなた」のことを頼りにしてるけど、実際のところはこき使ってるわ…

慌てるな、ゆっくり急げ

先日は久しぶりに休日出勤というものをした。 背後に「締め切り」という名の怪物が迫りくる気配を感じている。思わず何度も振り返りそうになる。思わず、呼吸が乱れそうになる。思わず、慌てて走り出そうとしそうになる。 いや待て、慌てるな。ゆっくり急げ…

汎用性と学習コストの関係がよく分からなくなってきた

すごく分かります、この悩み。分野は全く違うけれども、僕もフレームワークを開発しているので。 フレームワークを設計していると、常に汎用性と学習コストのジレンマに悩みます。 ... 「汎用性は高いが、敷居も高い」フレームワーク 「敷居は低いが、汎用性…

破壊をデザインする、という発想

ついつい壊れないようにしようと考えてしまうものだけれど、もしかするとデザインするべきなのは「破壊」なのかもしれない。 すべての箇所を合理的に作り、つまり全体として最適な強さのバランスにデザインすることは、必ずしも正しくない。むしろ、通常はわ…

オープンな作業空間か、静かな作業空間か

今更ながらJoel on Softwareを読んでいる。・・・無謀にも原書で!Joel on Software: And on Diverse and Occasionally Related Matters That Will Prove of Interest to Software Developers, Designers, and Managers, and to Those Who, Whether by Good …

誤読してました

お詫びデス。 開発は、まだ世の中にないあたらしいモノ(価値あるモノ)をつくりだすこと。 製造は、価値を実体へつくりこむこと。 設計は、モノのつくりを形式知化したもの。形式知化すること。 開発と製造と設計 - sakataakinoriのブログ 僕は「開発」を「…

ソフトウェア開発は既にフロントローディングである

ソフトウェア開発におけるフロントローディングとは何だろう? - カタチづくりの続き。 そもそもハードウェアの場合、開発と製造が分離されています。 フロントローディング2 - sakataakinoriのブログ 僕はむしろ逆ではないか、と思っている。 つまり、むし…

ソフトウェア開発におけるフロントローディングとは何だろう?

自分の身近でソフトウェアのフロントローディングということばをよく聞くようになったのだけれど疑問点もいくつかある。 フロントローディング - sakataakinoriのブログ 僕もその一人だ。 僕は3次元CAD関係の開発をしているわけで、必然的に製造業という業…

Undo/Redoアーキテクチャ

こちらはヒスイのUndo/Redoアーキテクチャを解説したもの。Undo/Redoは何かと面倒なので、実装方法を知りたい人もいるんじゃないのかな。説明が大雑把過ぎてこれだけでは理解できないかもしれないけど、まあとりあえずUPした。 | View | Upload your own「も…

ソフトウェア設計私論

先日、お客さんのところでソフトウェア設計について喋る機会がありまして。 | View | Upload your own我ながら大分極端なことを喋ったものだと思う。これをソフトウェア設計の王道と信じられてしまって本当に大丈夫なのか、などと今更ながら不安を感じたりし…

海外はどうやってパッケージソフトを開発しているの?

何度見てもショックな数字だ。 例えば国際競争力がほとんどゼロであるという事実がある。JEITAの2000年の発表によると、ソフトウェアの輸出入の差は102倍。日本から海外への輸出が90億円なのに対して、輸入は9189億円と圧倒的な輸入超過だ(参考資料)。国際…

オブジェクト倶楽部クリスマスイベント2007

こんな経験はありませんか。 久しぶりに都会から田舎の実家に帰った。ああ、本当に久しぶりだ、散歩がてら幼少の頃の懐かしい思い出が染み付いた町並みを歩いてみよう。ところが、いざ散歩に出かけてみると町はすっかり様変わりしていた。あの懐かしい風景が…