2009/01/04明けましておめでとうございます。去年は少し、アジャイル・アジャイル言い過ぎた気がしており、今年はもう少し大切なことの範囲をエンジニアリングに回帰して、再度言おうと思っています。オブジェクト指向やテスト技法をはじめとするソフトウェア工学の知識とスキルは、ソフトウェア開発に携わる人には絶対必要なもので、その上で、プロジェクトマネジメント手法としてのアジャイルがある。いうことは、もういちどちゃんと言っておこう。Development」を訳したこと。それはXPの本だったこと。Shoreの当然な一撃があった。InfoQの日本語記事がわかりやすい。Agileの衰退と凋落」もう1つ、ぼくはこの業界に今年で20年目となる。その間変わったものと、変わらなかったものがあり、ソフトウェアの設計に関する原則は、ほとんど変わらずにそのままある、ということに気づいた。構造化からオブジェクト指向になり、さらに、言語が動的になってても、ずっと変わっていないこと。duplication)テスト容易性が高い(testability)可読性が高い(readability)ことだということ。構造化設計のモジュール分割の基本である。これはオブジェクト指向設計のクラス分割でもそのまま踏襲されている。3は、古くは「関数」、さらに古くは「マクロ」(アセンブラなど)という形でよく行われる処理を一まとめにしたりしてきた(今では当たり前)。ここ10年間焦点があたってMUST項目になった。これは、Refactoring技術の進化やアジャイルで進化的設計が必要とされたことが大きい。4が、アジャイル開発の中では必須の大きな位置を占めるようになってきた。テストコードとプロダクトコードを対にして維持し、テストを設計に持ち込んだ(TDD)のはアジャイルの功績だ。5も、名前付けなどと関係して昔からある。最近FluentInterfaceや動的言語の登場で価値観が昇格しているが、特に関数型言語など、うまく使うと言いたいことを「そのまま」ぱしっと表現できた!と感じる瞬間があり(浅海智晴さんが、terseな表現、という言い方をしていた)、これは、5の新しい形だろう。一箇所にまとめることができたりするようになってきた。メタプログラミングや属性(アノテーション)などの手法もこの目的に使うことができる。このように、1-5は昔から「よい設計」を表現しているのだが、ここ10年で新しい手法を伴って繰り返し認識されている指針なのである。Bobはオブジェクト指向の原則として10数個にブレークダウンした。(『アジャイルソフトウェア開発の奥義』)ぼくはこれが現在もっともよい設計原則集だと思っている。Shalloway)。これは、1と良く似てはいるが直行する概念だということだが、1と2の組み合わせで説明できる概念だとぼくは思うので、ここでは割愛。システムマネジメント副社長。オブジェクト指向開発、UMLの勘所、アジャイルな開発手法の未来、マインドマップのソフトウェア開発での利用方法、プロジェクトファシリテーション(見える化)を語ります。現在、マインドマップとUMLの融合エディタ、astah*(アスター、旧JUDE)を開発中。万年筆やさんで、私に合うペン先を見てもらった。書けば書くほど快感が走る万年筆とは。クラウドに関する記事のまとめ(2020.2.17~2020.2.22)北九州漫画ミュージアム「関谷ひさしとスポーツマンガの時代」5月23日イベントオール私立で大学まで2500万円。ランボルギーニが買えるぜ。やっててよかった資金術とは。Backlogのカンバンボードは末恐ろしいAWSのシェアが落ち、Azureが延びて、4年後にAzureシェア32%、AWSは34%になる件SoftwareDesign3月号ヤマハ特集に執筆参加しました。富士ゼロックスのCocoDesk、溜池山王駅で体験してみたPython海外ニュース紹介第1回「そもそもPythonは誰のために作られたのか?その設計思想とは。「PoC死」の葬り方・後編オルタナティブ・ブログは、専門スタッフにより、企画・構成されています。入力頂いた内容は、アイティメディアの他、オルタナティブ・ブログ、及び本記事執筆会社に提供されます。利用規約プライバシーポリシーお問い合わせアイティメディアからのお知らせプレスリリースメールサービスRSSTwitterITmediaはアイティメディア株式会社の登録商標です。