Archive

Archive for the ‘Design & Features’ Category

CQRS : Command & Query Responsibility Segregation Pattern

March 31st, 2010

DDD has changed our modeling approaches. Eric Evans book has lead to a variety of innovative ideas such as DCI (Data Context Integration) and recently Erick Flemming introduced me to CQRS. I’ve spent the past few days running around the web consolidating a resource packet. Here are the links I’ve read and recommend:

 

Unshackle Your Domain

: Greg Young > InfoQ Link : Nice video but long (1 hour)

 

Clarified CQRS

: Udi Dahan’s righteous post on his blog here. Nice graphic.

CQRS

 

CQRS à la Greg Young

An even more detailed / concrete post by Mark Nijhof that can be found here http://elegantcode.com/2009/11/11/cqrs-la-greg-young/comment-page-1/#comments. He ahs great hand drawn diagrams (previewed below, but the code is the best part… real working example)

  > He has a working example of a banking application (winforms) here: http://github.com/MarkNijhof/Fohjin

> And a video on vimeo here: http://vimeo.com/7838858

Command and Query Responsibility Segregation (CQRS) - Division

 

Domain-Driven Design (the book)

Product Details

Don’t forget Eric Evans DDD book that you can find here:http://www.amazon.com/Domain-Driven-Design-Tackling-Complexity-Software/dp/0321125215/ref=sr_1_1?ie=UTF8&s=books&qid=1270092554&sr=8-1

 

Other articles & frameworks

Sadly there are currently no .NET CQRS frameworks I could find. That said there are some Java. The front runner seems to be.

 

axonframework : CQRS Framework for Java

They have great documentation and a similar diagram as Mark (minus a command bus)

http://code.google.com/p/axonframework/

On InfoQ: http://www.infoq.com/articles/cqrs_with_axon_framework

image

 

 

EventSourcing & Snapshots

http://jonathan-oliver.blogspot.com/2009/03/event-sourcing-and-snapshots.html

Asynchronous Event Sourcing using Actors (SCALA)

Article : http://jonasboner.com/2009/02/12/event-sourcing-using-actors.html

alan.huffman .NET, Architecture, CQRS, DDD, Design & Features , ,

User Centered Design: Using Personas

December 29th, 2009

image In order to create user centric applications / solutions, we must keep users in mind. One of the best ways to do that is by designing software using “personas” – fictitious yet concrete representational users.

 

Pragmatic Personas: Putting the User back in User Stories

Presented by Jeff Patton on Dec 23, 2009 [ INFOQ ] [ LINK TO VIDEO ]

Summary
Jeff briefly reviews the different ways that software is currently built and then describes how to create and use user personas to design and build software that has a better user experience. Jeff walks us through how to collaboratively build a user persona, what a user persona should include, and how to use these personas to write user scenarios that end up as user stories wit.

 

 

What are personas?

Wikipedia has a nice entry: http://en.wikipedia.org/wiki/Persona_%28marketing%29

Personas are fictional characters created to represent the different user types within a targeted demographic that might use a site or product. Personas are useful in considering

    1. the goals,
    2. desires,
    3. and limitations

of the users in order to help to guide decisions about a product, such as features, interactions, and visual design.

According to this blog [darmano] personas:

Personas often combine narratives and sometimes scenarios that often go into great detail to paint a plausible profile which looks at a person’s motivations, goals, mindset, wants, needs, desires etc.  And often times, personas are often cross-channel—taking a holistic look at the entire consumer experience.

[boxesandarrows] : “Personas and scenarios tell honest stories that are sculpted from diverse and comprehensive sets of data.”

What characteristics are included in a persona?

: http://www.usability.gov/analyze/personas.html

A persona usually includes:

  • a name and picture
  • demographics (age, education, ethnicity, family status)
  • job title and major responsibilities
  • goals and tasks in relation to your site
  • environment (physical, social, technological)
  • a quote that sums up what matters most to the persona with relevance for your site

 

Why personas are important:

http://www.hceye.org/HCInsight-Nielsen.htm

  • Personas put a face on the customer. Some persona programs give people names so you can refer to them and see them in a physical representation. The agency Organic creates persona rooms where their people live so the project team can become fully immersed.
  • Personas remove the tendency to think of yourself as the customer. You have to step back and this gives you the structure to do so.
  • Act as a guide throughout the process of developing marketing communications programs, cross mediums (print, digital, outdoor, TV, etc.).
  • Keeps designers, copywriters, programmers on track and avoids waste by remaining focused on the customer.

 

A 10 Step Process to Personas by Lene Nielsen, Ph.D.

http://www.hceye.org/HCInsight-Nielsen.htm

Lene Nielsen wrote her Ph.D. thesis "Engaging Personas and Narrative Scenarios" in 2004. She is part-time assistant professor at Center of Applied ICT, at Copenhagen Business School
and part-time usability consultant at Snitker & Co.

image

Do personas work?

Use of Personas Boosts Conversion by 400% [link]

think big by starting small

Steve Franzman, founder of Detoxologie.com, a client who used personas to boost conversion by 400%, and get a 2 to 1 return on a floundering Pay-Per-Click campaign.

 

Personas Drive Universal Orlando Site Revamp [link]

Universal Orlando’s marketing executives had spent several years tweaking the theme park’s online presence for incremental gains in conversion…. After a period of testing and conversion analysis, Universal Orlando sketched … personas, each with a different set of motivators and travel needs. … So how’s it working? …

  1. new site was living up to its expectations,
  2. beating the old version on 30 out of 40 measures, including likeability….
  3. Online ticket purchases, a key metric for the resort, are up almost 80% year to date.

 

Personas work because they tell stories.

http://www.wqusability.com/articles/personas_storytelling.html

Stories are part of every community. They communicate culture, organize and transmit information. Most importantly, they spark the imagination as you explore new ideas. They can ignite action.

alan.huffman Architecture, Business, Design & Features , ,