Core Values for UCD and Agile

24 Jul 2007 - 7:47am
7 years ago
4 replies
635 reads
Jens Ulferts
2007

Hi,

I am currently working on my master's thesis. To succeed, I will require
your help. The thesis will analyze possible interfaces between User
Centered Design and agile software development. As it is not possible to
provide a one-fits-all process those interfaces will serve as connection
points which will enable agile processes to encase UCD methods.
Approaches in this direction already exist, but validation is scarce.

The fields have a lot in common, but the more I learn about them the
more differences I spot. But just comparing them will yield no real
results as their aim is different. And the worst is, that a lot of terms
are employed by both fields but with different meanings. My approach is
hence to abstract from the concrete methods, tools and processes and
analyze the inherent values of both fields. For that I studied
literature, a lot of literature, and came up with two lists of about 20
values each. I want to merge them in the end and ask practitioners how
important each value is for their work to succeed.

But before I release the final questionnaire I would like to validate
the values I have identified so far. Please have a look at them and give
me some feedback. You are the practitioners and my knowledge is mostly
from literature. So if you feel anything missing, unclear or not
belonging there please let me know. I tried to have the values on an
equal level of abstraction. Of course there are values behind this but I
want each statement to represent values clearly belonging to the
respective field.You will not need very long but might even learn what
you are supposed to do according to literature ;)

Core UCD values:
- Go for breadth first, then see to the details and depths
- Employ dependable feedback as a guide to improve work and decisions
iteratively.
- Ensure that multiple solution options to a problem are presented,
compared and take the most appropriate one
- Aim to optimize the end-user's work practices
- Strives for a solution with which work is delightful
- Create more than just the software to address the problem(s)
- Gather requirements from multiple sources, and then consolidate them.
- Justify every decision concerning the solution with knowledge of the
problem space
- Have an throughout and holistic understanding of the problem domain,
especially the end-user
- Gather business needs and use them as requirements for the solution
- Apply the most suitable technology to create the solution and to be
used by it
- Consider costs when making decisions
- Adapt the process to the project's characteristics
- Fail early to minimize the need for costly corrections
- Employ concrete communication mediums, understood by every party
involved in the communication
- Spread knowledge throughout team members and stakeholders
- Strive for simplicity in all aspects
- Obtain buy-in for the processes values of everyone involved
- Complete an activity before the next beginning the next
- Work together as a team to succeed
- Receive requirements from those knowledgeable in the respective aspect
(technology, user, business) of the problem domain
- Share a vision of the later solution with team members and stakeholders

In the fortunate case that you have worked in an agile environment you
can also give me feedback on the second list. Those are the agile core
values:
- Employ dependable feedback as a guide to improve work and decisions
iteratively.
- Ensure prompt validation of work and decisions
- Receive requirements from those knowledgeable in the respective field
(technology, user, business) of the problem domain
- Gather business needs and use them as requirements for the solution
- Employ concrete communication mediums, understood by every party
involved in the communication
- Strive for simplicity in all aspects
- Justify every decision concerning the solution with knowledge of the
problem space
- Ignore eventualities but those with the utmost probability when
shaping the solution
- Cover those aspects with planning that are interfaces between
different groups of people
- Minimize overhead so that everyone can focus their effort on the
process' product - the solution
- Deliver value as soon as possible and the highest value first
- Adapt the process to the project's characteristics
- Be able to address new and changing requirements throughout the process
- Consider costs when making decisions
- Have decisions made by those involved who have the most profound
knowledge in the respective domain
- Employ objective measurements to show progress
- Spread knowledge throughout team members and stakeholders
- Share a vision of the later solution with team members and stakeholders
- Work together as a team to succeed
- Apply the most suitable technology to create the solution and to be
used by it
- Ensure that multiple solution options to a problem are presented,
compared and take the most appropriate one
- Obtain buy-in for the processes values of everyone involved
- Be able to stop the process at multiple points and still deliver value

With hopes for your valuable answers, best regards

Jens

Comments

24 Jul 2007 - 9:06am
SemanticWill
2007

QUESTION:

Have you read the article in the May+June Issue of Interactions, Page 40,
"Managing UCD Within Agile Projects," by Mark Detweiler ???

I have actually been in the process of defining a hybrid UCD/Agile
methodology within my company for the past 6 weeks or so, so I might be able
to provide some ideas - although it's still too early to know how this will
turn out.

--
~ we

-------------------------------------
n: will evans
t: user experience architect
e: wkevans4 at gmail.com

On 7/24/07, Jens Ulferts <jens.ulferts at gmx.de> wrote:
>
> Hi,
>
> I am currently working on my master's thesis. To succeed, I will require
> your help. The thesis will analyze possible interfaces between User
> Centered Design and agile software development. As it is not possible to
> provide a one-fits-all process those interfaces will serve as connection
> points which will enable agile processes to encase UCD methods.
> Approaches in this direction already exist, but validation is scarce.
>
> The fields have a lot in common, but the more I learn about them the
> more differences I spot. But just comparing them will yield no real
> results as their aim is different. And the worst is, that a lot of terms
> are employed by both fields but with different meanings. My approach is
> hence to abstract from the concrete methods, tools and processes and
> analyze the inherent values of both fields. For that I studied
> literature, a lot of literature, and came up with two lists of about 20
> values each. I want to merge them in the end and ask practitioners how
> important each value is for their work to succeed.
>
> But before I release the final questionnaire I would like to validate
> the values I have identified so far. Please have a look at them and give
> me some feedback. You are the practitioners and my knowledge is mostly
> from literature. So if you feel anything missing, unclear or not
> belonging there please let me know. I tried to have the values on an
> equal level of abstraction. Of course there are values behind this but I
> want each statement to represent values clearly belonging to the
> respective field.You will not need very long but might even learn what
> you are supposed to do according to literature ;)
>
> Core UCD values:
> - Go for breadth first, then see to the details and depths
> - Employ dependable feedback as a guide to improve work and decisions
> iteratively.
> - Ensure that multiple solution options to a problem are presented,
> compared and take the most appropriate one
> - Aim to optimize the end-user's work practices
> - Strives for a solution with which work is delightful
> - Create more than just the software to address the problem(s)
> - Gather requirements from multiple sources, and then consolidate them.
> - Justify every decision concerning the solution with knowledge of the
> problem space
> - Have an throughout and holistic understanding of the problem domain,
> especially the end-user
> - Gather business needs and use them as requirements for the solution
> - Apply the most suitable technology to create the solution and to be
> used by it
> - Consider costs when making decisions
> - Adapt the process to the project's characteristics
> - Fail early to minimize the need for costly corrections
> - Employ concrete communication mediums, understood by every party
> involved in the communication
> - Spread knowledge throughout team members and stakeholders
> - Strive for simplicity in all aspects
> - Obtain buy-in for the processes values of everyone involved
> - Complete an activity before the next beginning the next
> - Work together as a team to succeed
> - Receive requirements from those knowledgeable in the respective aspect
> (technology, user, business) of the problem domain
> - Share a vision of the later solution with team members and stakeholders
>
> In the fortunate case that you have worked in an agile environment you
> can also give me feedback on the second list. Those are the agile core
> values:
> - Employ dependable feedback as a guide to improve work and decisions
> iteratively.
> - Ensure prompt validation of work and decisions
> - Receive requirements from those knowledgeable in the respective field
> (technology, user, business) of the problem domain
> - Gather business needs and use them as requirements for the solution
> - Employ concrete communication mediums, understood by every party
> involved in the communication
> - Strive for simplicity in all aspects
> - Justify every decision concerning the solution with knowledge of the
> problem space
> - Ignore eventualities but those with the utmost probability when
> shaping the solution
> - Cover those aspects with planning that are interfaces between
> different groups of people
> - Minimize overhead so that everyone can focus their effort on the
> process' product - the solution
> - Deliver value as soon as possible and the highest value first
> - Adapt the process to the project's characteristics
> - Be able to address new and changing requirements throughout the process
> - Consider costs when making decisions
> - Have decisions made by those involved who have the most profound
> knowledge in the respective domain
> - Employ objective measurements to show progress
> - Spread knowledge throughout team members and stakeholders
> - Share a vision of the later solution with team members and stakeholders
> - Work together as a team to succeed
> - Apply the most suitable technology to create the solution and to be
> used by it
> - Ensure that multiple solution options to a problem are presented,
> compared and take the most appropriate one
> - Obtain buy-in for the processes values of everyone involved
> - Be able to stop the process at multiple points and still deliver value
>
> With hopes for your valuable answers, best regards
>
> Jens
> ________________________________________________________________
> Welcome to the Interaction Design Association (IxDA)!
> To post to this list ....... discuss at ixda.org
> List Guidelines ............ http://beta.ixda.org/guidelines
> List Help .................. http://beta.ixda.org/help
> Unsubscribe ................ http://beta.ixda.org/unsubscribe
> Questions .................. list at ixda.org
> Home ....................... http://beta.ixda.org
>

-------------------------------------

25 Jul 2007 - 3:55am
Jens Ulferts
2007

Any help you can give me Evans is very welcomed!

I have read a pre-release version of this article.
And it is a good example of the current situation the movement towards
UCD/agile is in. What is written about is recommendations based on
individual experiences. This is surely valuable, and I would love to
have the same amount of experience, but there is no scientific
validation of those recommendations.
I understand that empirical validation of a process is not feasible. In
addition, I see the value of experience especially in agile projects.
But this does not relieve agile+UCD approaches of the need for a
scientifically grounded basis. Hence my approach to identify and
evaluate core values. Based on that it will be possible to create an
agile/UCD process that matches the project's needs and is justified by
the experience of a larger group.

Do you have any feedback on the list?

W Evans schrieb:
> QUESTION:
>
> Have you read the article in the May+June Issue of Interactions, Page
> 40, "Managing UCD Within Agile Projects," by Mark Detweiler ???
>
> I have actually been in the process of defining a hybrid UCD/Agile
> methodology within my company for the past 6 weeks or so, so I might
> be able to provide some ideas - although it's still too early to know
> how this will turn out.
>
>
>
> --
> ~ we
>
> -------------------------------------
> n: will evans
> t: user experience architect
> e: wkevans4 at gmail.com <mailto:wkevans4 at gmail.com>
>
>
> On 7/24/07, *Jens Ulferts* <jens.ulferts at gmx.de
> <mailto:jens.ulferts at gmx.de>> wrote:
>
> Hi,
>
> I am currently working on my master's thesis. To succeed, I will
> require
> your help. The thesis will analyze possible interfaces between User
> Centered Design and agile software development. As it is not
> possible to
> provide a one-fits-all process those interfaces will serve as
> connection
> points which will enable agile processes to encase UCD methods.
> Approaches in this direction already exist, but validation is scarce.
>
> The fields have a lot in common, but the more I learn about them the
> more differences I spot. But just comparing them will yield no real
> results as their aim is different. And the worst is, that a lot of
> terms
> are employed by both fields but with different meanings. My
> approach is
> hence to abstract from the concrete methods, tools and processes and
> analyze the inherent values of both fields. For that I studied
> literature, a lot of literature, and came up with two lists of
> about 20
> values each. I want to merge them in the end and ask practitioners
> how
> important each value is for their work to succeed.
>
> But before I release the final questionnaire I would like to validate
> the values I have identified so far. Please have a look at them
> and give
> me some feedback. You are the practitioners and my knowledge is
> mostly
> from literature. So if you feel anything missing, unclear or not
> belonging there please let me know. I tried to have the values on an
> equal level of abstraction. Of course there are values behind this
> but I
> want each statement to represent values clearly belonging to the
> respective field.You will not need very long but might even learn what
> you are supposed to do according to literature ;)
>
> Core UCD values:
> - Go for breadth first, then see to the details and depths
> - Employ dependable feedback as a guide to improve work and decisions
> iteratively.
> - Ensure that multiple solution options to a problem are presented,
> compared and take the most appropriate one
> - Aim to optimize the end-user's work practices
> - Strives for a solution with which work is delightful
> - Create more than just the software to address the problem(s)
> - Gather requirements from multiple sources, and then consolidate
> them.
> - Justify every decision concerning the solution with knowledge of the
> problem space
> - Have an throughout and holistic understanding of the problem domain,
> especially the end-user
> - Gather business needs and use them as requirements for the solution
> - Apply the most suitable technology to create the solution and to be
> used by it
> - Consider costs when making decisions
> - Adapt the process to the project's characteristics
> - Fail early to minimize the need for costly corrections
> - Employ concrete communication mediums, understood by every party
> involved in the communication
> - Spread knowledge throughout team members and stakeholders
> - Strive for simplicity in all aspects
> - Obtain buy-in for the processes values of everyone involved
> - Complete an activity before the next beginning the next
> - Work together as a team to succeed
> - Receive requirements from those knowledgeable in the respective
> aspect
> (technology, user, business) of the problem domain
> - Share a vision of the later solution with team members and
> stakeholders
>
> In the fortunate case that you have worked in an agile environment you
> can also give me feedback on the second list. Those are the agile core
> values:
> - Employ dependable feedback as a guide to improve work and decisions
> iteratively.
> - Ensure prompt validation of work and decisions
> - Receive requirements from those knowledgeable in the respective
> field
> (technology, user, business) of the problem domain
> - Gather business needs and use them as requirements for the solution
> - Employ concrete communication mediums, understood by every party
> involved in the communication
> - Strive for simplicity in all aspects
> - Justify every decision concerning the solution with knowledge of the
> problem space
> - Ignore eventualities but those with the utmost probability when
> shaping the solution
> - Cover those aspects with planning that are interfaces between
> different groups of people
> - Minimize overhead so that everyone can focus their effort on the
> process' product - the solution
> - Deliver value as soon as possible and the highest value first
> - Adapt the process to the project's characteristics
> - Be able to address new and changing requirements throughout the
> process
> - Consider costs when making decisions
> - Have decisions made by those involved who have the most profound
> knowledge in the respective domain
> - Employ objective measurements to show progress
> - Spread knowledge throughout team members and stakeholders
> - Share a vision of the later solution with team members and
> stakeholders
> - Work together as a team to succeed
> - Apply the most suitable technology to create the solution and to be
> used by it
> - Ensure that multiple solution options to a problem are presented,
> compared and take the most appropriate one
> - Obtain buy-in for the processes values of everyone involved
> - Be able to stop the process at multiple points and still deliver
> value
>
> With hopes for your valuable answers, best regards
>
> Jens
> ________________________________________________________________
> Welcome to the Interaction Design Association (IxDA)!
> To post to this list ....... discuss at ixda.org
> <mailto:discuss at ixda.org>
> List Guidelines ............ http://beta.ixda.org/guidelines
> List Help .................. http://beta.ixda.org/help
> Unsubscribe ................ http://beta.ixda.org/unsubscribe
> Questions .................. list at ixda.org <mailto:list at ixda.org>
> Home ....................... http://beta.ixda.org
>
>
>
>
>
> -------------------------------------

25 Jul 2007 - 8:26am
Adrian Howard
2005

On 24 Jul 2007, at 13:47, Jens Ulferts wrote:
[snip]
> I am currently working on my master's thesis. To succeed, I will
> require
> your help. The thesis will analyze possible interfaces between User
> Centered Design and agile software development.
[snip]

As an aside you might want to as this question on some other lists.

http://groups.yahoo.com/group/agile-usability

would seem most appropriate (a mixed list of agile & ux folk). You
also might want to consider the XP and Scrum lists.

> But before I release the final questionnaire I would like to validate
> the values I have identified so far. Please have a look at them and
> give
> me some feedback. You are the practitioners and my knowledge is mostly
> from literature. So if you feel anything missing, unclear or not
> belonging there please let me know. I tried to have the values on an
> equal level of abstraction. Of course there are values behind this
> but I
> want each statement to represent values clearly belonging to the
> respective field.You will not need very long but might even learn what
> you are supposed to do according to literature ;)
>
> Core UCD values:
[snip]

For me these don't seem very "core" to UCD. A UCD practitioner would
probably agree with them. Then again a practitioner of something like
RUP would do. They seem very general.

UCD is design based on the needs of the user. That doesn't really
come out of that list to me.

[snip]
> In the fortunate case that you have worked in an agile environment you
> can also give me feedback on the second list. Those are the agile core
> values:
[snip]

These don't really seem to capture agile for me. Again somebody
running a non-agile software development process would be more than
happy to agree to the majority.

Some of them (e.g. "Employ concrete communication mediums") seem to
run counter to the way agile environments work (depending on what you
mean by "concrete" :-)

Others (e.g."Be able to stop the process at multiple points and still
deliver value") seem to be emphasising the wrong thing (it's not the
stopping the process that's valuable, it's the continual regular
release of business value - whether you stop the process or not).

Have you come across the Agile Manifesto? It has a pretty explicit
list of values/principles that most agile folk would agree with
(http://agilemanifesto.org/, http://agilemanifesto.org/
principles.html). You also might want to look at the list of XP
values from Beck's XP Explained.

Cheers,

Adrian

26 Jul 2007 - 4:47am
Jens Ulferts
2007

As you have spotted already it can be found here:
http://tech.groups.yahoo.com/group/agile-usability/message/3574

You are right my values are not "core". I used the wrong expression.
What I am looking for is the first level of values, the ones that stand
right behind the activities and their flow. So one value alone can also
be found within other methodologies. But as I see it the combination of
the values constitutes what UCD and Agile is about. The question is -
and this is where my master's thesis comes in - how important each value
is for the people working in agile/UCD projects. Combining the two will
necessarily lead to compromises. The two can not be merged in their pure
form. Ones I have an empirical answer to how important each value is I
hope to be able to give recommendations on how the activities need to be
adjusted so that both groups can find their needs met. Therefore, I need
to stay on a level where a match between value and activity is easy but
not 1:1.

The values in the agile manifesto are to abstract for my needs and so
are the principals, but I feel that it is quite easy to match most of
what I have been working on with the principals stated. I have extracted
the values for agile from the agile principles, Beck's XP Explained,
Schwaber's Agile Management with Scrum and some papers I have read. BTW
is there something similar, some manifesto, for UCD?

The point you mentioned as an example - "Employ concrete communication
mediums" - is the one I have been struggling with for some time now.
What I was referring to is that with agile you are striving for means to
support your communication with people from outside your culture
(business, technical, designer, user, ...). To me this is apparent when
looking at the way requirements are gathered. You create user stories
and maybe prototypes. You have a vision, which is just a couple of words
in the case of Scrum/XP. You show the working software to the users and
management. All this is done so as to minimize the effort needed for
imagination, to avoid misunderstandings and to shield the different
groups from details that are superfluous for them to know. And this is
the same in UCD. But again this only becomes agile when combining this
value with others so that you minimize the overhead required to build
the mediums and that you produce value fast among others.
Do you have any suggestion so that it is less misunderstanding? English
is not my native language so I am sometimes struggling with the
connotation of word.

The second point you mention seems absolutely true to me. I think I will
omit this one as it is already enclosed in another one. So I will change
one value to:
- Deliver value as soon as possible, constantly and the highest value first

Thanks for your insights, helped a lot

Adrian Howard schrieb:
> On 24 Jul 2007, at 13:47, Jens Ulferts wrote:
> [snip]
>
>> I am currently working on my master's thesis. To succeed, I will
>> require
>> your help. The thesis will analyze possible interfaces between User
>> Centered Design and agile software development.
>>
> [snip]
>
> As an aside you might want to as this question on some other lists.
>
> http://groups.yahoo.com/group/agile-usability
>
> would seem most appropriate (a mixed list of agile & ux folk). You
> also might want to consider the XP and Scrum lists.
>
>
>> But before I release the final questionnaire I would like to validate
>> the values I have identified so far. Please have a look at them and
>> give
>> me some feedback. You are the practitioners and my knowledge is mostly
>> from literature. So if you feel anything missing, unclear or not
>> belonging there please let me know. I tried to have the values on an
>> equal level of abstraction. Of course there are values behind this
>> but I
>> want each statement to represent values clearly belonging to the
>> respective field.You will not need very long but might even learn what
>> you are supposed to do according to literature ;)
>>
>> Core UCD values:
>>
> [snip]
>
> For me these don't seem very "core" to UCD. A UCD practitioner would
> probably agree with them. Then again a practitioner of something like
> RUP would do. They seem very general.
>
> UCD is design based on the needs of the user. That doesn't really
> come out of that list to me.
>
> [snip]
>
>> In the fortunate case that you have worked in an agile environment you
>> can also give me feedback on the second list. Those are the agile core
>> values:
>>
> [snip]
>
> These don't really seem to capture agile for me. Again somebody
> running a non-agile software development process would be more than
> happy to agree to the majority.
>
> Some of them (e.g. "Employ concrete communication mediums") seem to
> run counter to the way agile environments work (depending on what you
> mean by "concrete" :-)
>
> Others (e.g."Be able to stop the process at multiple points and still
> deliver value") seem to be emphasising the wrong thing (it's not the
> stopping the process that's valuable, it's the continual regular
> release of business value - whether you stop the process or not).
>
> Have you come across the Agile Manifesto? It has a pretty explicit
> list of values/principles that most agile folk would agree with
> (http://agilemanifesto.org/, http://agilemanifesto.org/
> principles.html). You also might want to look at the list of XP
> values from Beck's XP Explained.
>
> Cheers,
>
> Adrian
>
>
>
> ________________________________________________________________
> Welcome to the Interaction Design Association (IxDA)!
> To post to this list ....... discuss at ixda.org
> List Guidelines ............ http://beta.ixda.org/guidelines
> List Help .................. http://beta.ixda.org/help
> Unsubscribe ................ http://beta.ixda.org/unsubscribe
> Questions .................. list at ixda.org
> Home ....................... http://beta.ixda.org
>
>

Syndicate content Get the feed