[#agileto2014] コーディネートは全体で - Agile Tour Osaka 2014「パタン特集」 -
Agile Tour Osaka 2014「パタン特集」に参加しました。
パタン探し
午前中は「@haradakiroと行くパタン探し」というオプション企画で、伊丹の町を歩きながらクリストファー・アレグザンダーのパタンを探しました。
クリストファー・アレグザンダーは建築家で、心地よいと感じるパタンを、町、建物、施行の3レベルにまとめました。たとえば、小さな広場、南向きの屋外、いっぱいに開く窓、というパタンの組み合わせを聞くと、素人の私でもなんとなく良いイメージがわきます。
このようにパタンを体系化したものをパタン・ランゲージと呼びます。クリストファー・アレグザンダーの書籍名についている冠詞は「a」で、本に書かれたものはアレグザンダーが見つけたものであり、他にもパタン・ランゲージは存在するという意味だそうです。
ワークショップ&ディスカッション
懸田さんのワークショップでは、謎のAさんが健康的な生活が取り戻せるように、
- 力の衝突(フォース)を 明らかにする
- 解決策とパタンの名前を考える
- スケールで分類する
- スケールの異なるパターンを組み合わせて素敵な未来を 描く
といった作業をしました。ここでスケールという概念が出てきて、アレグザンダーが3つのレベルにまとめていた事が思い出されました。
Posauneさんの講演は「テスト自動化のパタンランゲージ」でした。以前聞いた内容でしたが、ワークショップのあとで聞くと、パタンを間連付ける事の重要性を感じると共に、「スケール」のない事が気になりました。
ディスカッションでは小林サンからの午前中の報告のあと、原田サンが登場。
- パタンとは対立のフォースをそらすもの
- 良いパタンはあたり前のもの
- パタンはソリューションカタログではない
というお話がありました。
おわりに
対立するフォースをそらせるパタンを関係付け体系化したものがパタンランゲージです。パタンにはレベルがあり、それらを組み合わせて、何を、なぜ、どのように、作るかを考えます(このように物事の対立を前提に解決する点は、TOCfEに似ていると思いました)。
ソフトウェアでパタンというと、最初に思い出すのはデザインパターンです。でもこれは、実現したいものの一部に過ぎません。実現する際に立ちはだかるフォースを避けてより良いものを実現するには、アーキテクチャや組織のパタンなども組み合わせる必要があります。
ソフトウェアを開発する技術者は「プログラマ」と呼ばれる事が多いですが、ソフトウェアを実現する行為は、プログラミングのレベルを超えたコーディネートだと思います。開発に関わる体制、プロセス、アーキテクチャ、もちろんプログラム、に存在するフォースを利害関係者と調整し、進行し、実践するからです。
それは、対立する課題からよりよい解決策を求める作業です。 パタン・ランゲージの視点で見ると、我々の仕事のゴールは色々なレベルのパタンを組み合わせて、より良いシステムを作り上げる事だと思います。
そこで技術者に求められるのは、より良いソフトウェアを実現できるように、会社間、組織、モチベーション、技術、など複数のレベルのパタンを常に洗練し、パタン・ランゲージとして用意することです。複数のレベルのパタンをコーディネートして、より良いシステムを実現することが必要だからです。
Agile Tour Osaka 2014に参加して、特定のレベルを最適化するだけでは不十分だと考えるようになりました。全体をうまく構成できるように、広い視点を持って、パタン・ランゲージを用意できるように心がけたいと思います。
« 契約から「納品のない受託開発」の仕組みを考える | トップページ | 軽量、自立、手帳型 iPhone 6 plus ケース(701円)購入記 »
「私のアジャイル」カテゴリの記事
- One fact in one placeとチケット駆動開発 - Software Processes are Software, Too -(2021.12.21)
- マルチスレッド処理と進捗管理・配員・作業分割/割り当て- Software Processes are Software, Too -(2021.12.20)
- カプセル化と組織パターン - Software Processes are Software, Too -(2021.12.20)
- Greedy algorithmと2割8割の法則 - Software Processes are Software, Too -(2021.12.12)
- 「任せて、任せず」「魚を与えるのではなく"釣り"を教えよ」(2021.08.16)
「ソフトウェア」カテゴリの記事
- One fact in one placeとチケット駆動開発 - Software Processes are Software, Too -(2021.12.21)
- マルチスレッド処理と進捗管理・配員・作業分割/割り当て- Software Processes are Software, Too -(2021.12.20)
- カプセル化と組織パターン - Software Processes are Software, Too -(2021.12.20)
- 論文研修会(導入編)- 論理的思考のすすめ -(2019.12.01)
- デブサミ関西でNode-REDとペンギンと勇気の話をしました #devsumiB(2018.10.28)
「プログラミング」カテゴリの記事
- Greedy algorithmと2割8割の法則 - Software Processes are Software, Too -(2021.12.12)
- 論理的に考え伝える – SEA関西「開発現場で役立つ論文の書き方のお話」 -(2021.05.09)
- 論文研修会(導入編)- 論理的思考のすすめ -(2019.12.01)
- スクリプト言語入門 - シェル芸のすすめ - 第2回クラウド勉強会(2019.01.27)
- デブサミ関西でNode-REDとペンギンと勇気の話をしました #devsumiB(2018.10.28)
« 契約から「納品のない受託開発」の仕組みを考える | トップページ | 軽量、自立、手帳型 iPhone 6 plus ケース(701円)購入記 »
コメント