ヘキサゴナルアーキテクチャ

河上です。

最近傾倒しているドメイン駆動設計という文脈で「ヘキサゴナルアーキテクチャ」というアプリケーションアーキテクチャについて色々と思う事を書きたいと思います。

ヘキサゴナルアーキテクチャはPofEAA(エンタープライズ・アプリケーションアーキテクチャパターン)という本で知りました。

アリスター・コーバーンのヘキサゴナルアーキテクチャ

Hexagonal-architecture

Applicationと記述してある内部の六角形はビジネスの感心事であるドメインモデルで、それ以外はすべて外部とのインターフェースであるというドメイン中心の考え方で、ポピュラーな3層アーキテクチャとはずいぶんと違う印象を受けますね。

この図を見てまず疑問に思ったのは【外部から内部への依存】なのか、【内部から外部への依存】なのかということなのですが、現時点の理解では、【外部から内部への依存】だと思っており、そちらに振り切って設計をしています。

私がこのように判断したのは「変更は予知できない」という経験からです。

いろいろ考えて、予想して、変更がありそうな部分を柔軟に作ったとしても、結局その柔軟性が発揮される事がなく無駄な複雑さだけが残ったという苦い経験があります…。
この経験から、下手に予想するのではなく、少なくともビジネスの文脈ですべてが規程されている形にしておけば、ビジネスの形との整合がとれているために変化点の見極めがしやすくなり、結果として変更がやりやすくなるはずだと考えました。そしてビジネスの形に合わせるということは、ビジネス(ドメイン)へ依存するという事なのではないかと思い、この依存の方向は外部から内部(ドメイン)へ向くべきであるという結論になりました。

また、この依存方向だと、単純なアプリケーションではドメインモデルが振る舞いらしい振る舞いを持たずただの構造のようになってしまったりしますが、そのときはそのドメインモデルがビジネス(業務)を表現できていれば良しとしています。

今後、実践していく中でまた違う結論になることもあるかと思いますが、「間違ってる」「こんな考え方があるよ」「こんなアーキテクチャなら良いのでは?」など、ディスカッションのネタがいただけると幸いです。

似たアーキテクチャで、より表現が近いかなというものを見つけたのでリンクを貼っておきます。

アンクル・ボブのクリーンアーキテクチャ

関西人スクラムマスターがとあるチームと過ごした日々(UAS3より)

こんにちは、ギルドワークスの中村 洋です。

以前、2つの期待マネジメント(前編)「内側の期待」をすり合わせる「ドラッカー風エクササイズ」(USA4より)というエントリを書きました。

今回はその1年前の「UltimateAgileStories3(UAS3)」で書いた内容を許可を得た上で、一部加筆、修正した上で公開します。

Ultimate Agile Stories とはアジャイル開発をテーマにした同人誌で、毎年1冊ずつ、これまで4冊出ています。
毎冊、30人前後の書き手が、アジャイルに関する本当に多くの様々な想い、実践話を綴っています。
詳しくは発起人である細谷さんのブログに書かれています。
またUASの利益は、東日本大震災の被災地支援として寄付されています。

UASは主に関東方面でのAgile系コミュニティなどで頒布されますので、お見かけした際にはぜひ手にとっていただければと思います。

◆関西人スクラムマスターがとあるチームと過ごした日々

今回は、私がかかわることになったあるチームと過ごした日々のお話です。

続きを読む

Effective Java 第2版 を可視化する

井上です。

どのプログラム言語においても、必読書と呼ばれる本が何冊か存在すると思います。
私は長らく使っているJavaでは「Effective Java 第2版」が真っ先に挙げられると思います。

この本、初版が出版されたのが2001年、第2版が出版されたのが2008年なのですが、諸事情により一時期絶版になっていました。
しかし、今年の3月にめでたく再販となりました。
私自身、今でもたまに読み返す程手放せない本になっています。
#ただ、2008年出版ということもあり、バージョンとしては Java 5 対応の内容となっており、Java 8 対応の第3版の発売を期待したいところです。

さて、Effective Java のような技術書を読む場合、皆さんはどのように読み進めるでしょうか?最初から順に読む人も多いのではないでしょうか?
しかし、Effective Java を初めて読む人がその方法で読もうとすると、理解するのがとても難しいです。
なぜなら、この本、前後関係なく他の項目への参照が大変多いのです。

続きを読む

【事例紹介】Androidアプリを大幅リニューアルし、ダウンロード数15%増加!

武田です。

今回はギルドワークスにて手がけた開発プロジェクトの事例を1つご紹介したいと思います。

開発したサービス

イーキャリアJobsearchのAndroidアプリ(運営元:SBヒューマンキャピタル社)

リニューアル前のバージョンにおける課題

  • Webサイト版を立ち上げた2011年に、Androidアプリも突貫工事で開発したため、使いにくいUIになってしまっている
  • アプリ内検索機能が充実していないため、サービスの強みである「国内最大級の求人情報数」の魅力が伝わらない
  • 加えて、ASO(アプリストア最適化)も考慮された作りになっていない
  • 結果的に、ダウンロード数が伸びず、利用者が増えない
  • 社内開発リソースはWebサイト改修に追われており、Androidアプリ改修の優先度が上がらない

続きを読む

10月16日「ユーザーニーズを捉えるためのサービス企画立案の極意」を仙台で開催します。

http://guildworks.doorkeeper.jp/events/16272

10月16日に、仙台で弊社セミナーを開催します。

 

以下、セミナーの内容です。


ユーザーニーズを探りながら、サービスを企てるために取るべき作戦とは何か。

捉え難いユーザーニーズを探りながら、新規事業や新規サービスを企画する。 ITサービスを提供する事業会社が取り組み続けなければならないミッションと言えます。次のような課題感はないでしょうか。

  • 自社の顧客の課題やニーズに基づいたサービス企画、開発ができない。やり方がわからない。
  • ざっくりとしたアイディアだけあって、新規事業にチャレンジしようと思うが、企画の進め方に悩んでいる。結果、実行できずにそのアイディアを他社でやられ、後手に回ってしまう。
  • サービス企画から開発へどう繋げれば良いかわからない。企画としてどこまで行えば良いかわからない。
  • サービス企画にUXデザインやアジャイル開発の道具立てをどのように活かすか。

サービスをどのように企画するか。またそれどのように開発に繋げていくか。 今回のセミナーでは、これらの課題をテーマに致します。事例を交えながらどのような手が打てるのか。ご紹介致します。

<想定する参加者>
・事業会社にてITサービスの企画やマネジメントに従事している
・事業会社としてどのようにしてサービスを企画し開発していくべきか進め方に悩んでいる
・企業内のITシステム企画、運用を担当している
など


是非、ご参加ください。
http://guildworks.doorkeeper.jp/events/16272