1. ENHANCING
USER EXPERIENCE
NATURALLY
Ahmet Akdağ
Managing Partner
keep IT simple ! Copyright 2010, ACM. All rights reserved.
2. THE GLOBAL SITUATION
EXPECTATIONS FROM SOFTWARE PROJECTS
AGILE
USER EXPERIENCE FROM AGILE PERSPECTIVE
AGILE TEAMS IN ACTION
QUESTIONS
2
keep IT simple ! Copyright 2010, ACM. All rights reserved.
3. The Standish Group Chaos Report, 2009
Poor Quality
Cancelled before completed or On time
Never used after completed On budget
Slow to Deliver With required features
Expensive 24% 32%
32%
Succeed
Success Unsecceed
Challenged
Failed
68%
44%
Late
Over budget
Less features
3
keep IT simple ! Copyright 2010, ACM. All rights reserved.
4. 2009, Gartner Analysis
75% of all US IT projects are considered to be
failures by those responsible for initiating them
• Solutions fundamentally did not do what was
agreed
• Or they missed deadlines
• And/or came in over budget
5. THE GLOBAL SITUATION
EXPECTATIONS FROM SOFTWARE PROJECTS
AGILE
USER EXPERIENCE FROM AGILE PERSPECTIVE
AGILE TEAMS IN ACTION
QUESTIONS
5
keep IT simple ! Copyright 2010, ACM. All rights reserved.
6. What does the Customer Expect?
6
keep IT simple ! Copyright 2010, ACM. All rights reserved.
7. Time To Market
Value You delivered new
high priority
Oops..we
functions get you
Oops..the
wrong Targeted
market is
Value
changing faster
Anyhow than us
FLEXIBLE some of
them has
changed
Time
You delivered high You delivered
priority functions everything
EARLY TIME DO YOU REALLY NEED TO try DELIVERING
INCREASED
TO MARKET EVERYTHING AT THE SAME TIME ?
ROI
7
keep IT simple ! Copyright 2010, ACM. All rights reserved.
8. Cost of Change & Quality
Rework Happens
Cost of at the Most
Change Expensive Part
Boehm’s cost
of change
Analysis Design Code Test
Some rework Some rework
Time
Tested, working Tested, working Tested, working
release 1 release 2 release 3
BETTER LOWER
QUALITY COST 8
keep IT simple ! Copyright 2010, ACM. All rights reserved.
9. THE GLOBAL SITUATION
EXPECTATIONS FROM SOFTWARE PROJECTS
AGILE
USER EXPERIENCE FROM AGILE PERSPECTIVE
AGILE TEAMS IN ACTION
QUESTIONS
9
keep IT simple ! Copyright 2010, ACM. All rights reserved.
10. Agile Manisfesto
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
That’s, while there is a value in the items on the right, we value the items on the left
more.
www.agilemanifesto.org
10
keep IT simple ! Copyright 2010, ACM. All rights reserved.
11. Agility
Agility means
flexibility, the
capacity and
capability of rapidly
and efficiently
adapting to change
11
keep IT simple ! Copyright 2010, ACM. All rights reserved.
12. Benefits: leads to SUCCESS
12
keep IT simple ! Copyright 2010, ACM. All rights reserved.
13. THE SITUATION
EXPECTATIONS FROM SOFTWARE PROJECTS
AGILE
USER EXPERIENCE FROM AGILE PERSPECTIVE
AGILE TEAMS IN ACTION
QUESTIONS
13
keep IT simple ! Copyright 2010, ACM. All rights reserved.
14. User Experience
Jesse James Garrett’s Elements of User Experience
14
keep IT simple ! Copyright 2010, ACM. All rights reserved.
15. Effect of Change in UXD or Requirements
• Change in UXD
• Change in Requirements
These are coupled towards business objectives
15
keep IT simple ! Copyright 2010, ACM. All rights reserved.
16. A Typical Scenario
Requirements
Design
Development
Testing
& Validation
* Winston Royce, Managing the Deployment
Development of Large Software
System, 1970 & Maintenance
16
keep IT simple ! Copyright 2010, ACM. All rights reserved.
17. Adapting to Change More Frequently
• Traditional process needs prediction
• Agile process inspects over working software
• Adapts quickly via iterations
17
keep IT simple ! Copyright 2010, ACM. All rights reserved.
18. Stronger UXD
• Frequent inspection brings stronger UXD naturally
18
keep IT simple ! Copyright 2010, ACM. All rights reserved.
19. THE GLOBAL SITUATION
EXPECTATIONS FROM SOFTWARE PROJECTS
AGILE
USER EXPERIENCE FROM AGILE PERSPECTIVE
AGILE TEAMS IN ACTION
QUESTIONS
19
keep IT simple ! Copyright 2010, ACM. All rights reserved.
20. Agile Team Structure
Teams
• Self-organizing
• Cross-functional
• Highly productive
• Creative
20
keep IT simple ! Copyright 2010, ACM. All rights reserved.
21. Tips for Better UXD in Agile Teams
• Get UX Design skills into Teams
• Or consult them about UX
• Design little up front
• Communicate more on it
• Prototype in low fidelity(use wireframes)
• Better use User Story Mappings
• More features for getting UX statics
21
keep IT simple ! Copyright 2010, ACM. All rights reserved.
22. THE GLOBAL SITUATION
EXPECTATIONS FROM SOFTWARE PROJECTS
AGILE
USER EXPERIENCE FROM AGILE PERSPECTIVE
AGILE TEAMS IN ACTION
QUESTIONS
22
keep IT simple ! Copyright 2010, ACM. All rights reserved.
23. QUESTIONS
www.acm-software.com
23
keep IT simple ! Copyright 2010, ACM. All rights reserved.
Notas del editor
If we check our agenda;At the first part of my presentation, I will try to expose the need for Agility, starting with some statics. Then we will move on to the expectations from software projects from different views points and at the end of that section I will be talking about the Agile Manifesto.After defining the manifesto, I will be explaining the user experience, the very broad term, from risk management perspective which requires agility.Then finally I will be talking about the UX professionals inside the agile teams and a little bit culture issues.And after all, the questions..
Standish group is an IT research and consultancy company that prepared a report called Chaos Report about the success of It projects over the globe. This is their 2009 results. We can define a successful project as; it’s finished on the date planned within the planned budget and with the functionality promised. As seen here only %32(thirty two percent) of the project are successful due to our definition.%44 of the are either late, off budget or delivered with less features. And finally %24 of them are unfortunately cancelled. If we consider the big picture, we see that about %70 of the projects are not successful because of some reasons. Or %70 of them has poor quality, or lost time to market advantage or expensive.By the way, 95 reports are much worse than that. I think we are learning how to do that.
There is also the Gartner’s reports which are very similar to, actually worse than, Standish groups statics. We see here that half of the project’s exceed their budget by %200, which means that those projects are probably late..There is something wrong with this picture. So let’s put our selves into the position of our customer’s. Customer’s do want something and they can not get it. So, there are expectations from the software projects. So the question is; what do we expect from software projects both in terms of the process and the product itself. Please tell me what would you expect?
Now let’s compare two approaches, waterfall and agile from different perspectives. The first one is time-to-market. Let’s assume that we are developing a software project with conventional methods, waterfall. That is the level of value that we want to achieve. We started with the analysis, let’s say it took 3 months, than design and coding and testing. And we delivered the project at the end. There are 2 main problems that may arise here. The first one, the market needs are changing while the project is being built and it’s nearly impossible to produce a product with such a strong prediction to see the needs after a year.Second, since the customer was not present during the project, there may be many misunderstandings which may result in a lower value than the expected, even if we predicted the future.Then the customer needs some change to catch the target value. Then we again make some analysis and design and coding and testing, but now we have a bigger system and it’s really hard to respond quickly towards the need of change. Also our process and software is not flexible enough to catch that. This is the scenario of legacy systems. We all have them in enterprises. They have low quality stuff in it and total cost of owner ship is really high.So, as we work, we see that, we have no impact on the market until the delivery of the whole system. We can make some phases as a work around but it still is a masterplan that should not change. This is just a work around.What we did here was, we tried to get all the requirements at the beginning for the perfect design. So we go to the customer and say “tell me everything that you want so that I can make a good design. But beware of changes because you can not change any thing during the development”. So, what customer does is easy, he writes every thing down that has a possibility of creating value. That is one of the points where the problem arises. So, standish group has another statistics, it says, %45 of the functionality delivered never and %19 of the functionality is rarely used.So, let’s take it the other way and try to see. We have a set of prioritized requirements and we deliver them. The customer is also working for the others while we are developing. Then they give feedback and another set of prioritized requirements. And we develop them. Since we are going small and getting feedback earlier, we get less risk and we always deliver high business value. We do not deliver useless functionality at the end. All the pieces of the software we delivered is working and customer can make money with it. This how you achieve a better time to market advantage. We can see the impact of time to market in Kodac insights report 2009. If you push your product to market earlier, you get a higher cash flow.
Let’s look at the situation from cost of change and quality perspectives. This the exponential curve of Bohem. The later you realize, the more you pay. When we consider the conventional methods, you see the need for change at the end which is most costly region. So, we need to optimize this point. With an agile approach of delivering working increments of software, you reduce the costs by catching the errors earlier. This result in a more linear graph because we test earlier and through the whole process.
So, seventeen software gurus came toger in Utah in 2001 for a 3 day event for better software products and they had a conclusion. This is the result, the Agile Manifesto. Go through each of them.
Nowadays, many of the companies around the world are using Agile methods to deliver software. Nokia, Yahoo, Google, Microsoft and many others..When we look at the succes rates, which is published by Version one in 2008, %55 of the respondents says to %90 to %100 of the cases were resulted in success.Katilimcilarin %55 I projelerinin %90 ile %100 ununbasarilioldugunusoylemis.
Now, let’s talk about usability and usability from the perpective of Agile.
When we check the user experience from a web perspective(it can be an application, too), with Jesse James Garrett’s five levels of user experience, he defines the user experience with 5 planes which I also think makes sense. By the way, this is a very popular and an easy structure to apply, actually he defines this as a framework for designing the user experience. The the first leg is the strategy layer. This is the idea and the place where we ask the question of what users want from this pageSecond level is the requirements. We know the vision and the need, so we can create some scope that can satisfy the need. This is where the functionality and the features takes placeThird level is the structure of the site. How you are going to organize the interaction of user with the functionality. Then we have the skeleton of the site. This is where we have the placement of buttons, controls, images and etc. All of these are placed in a skeleton for better user experienceFinally we have the visual design at the surface plane. These are the colors, images, text fonts an etc.Each level depends to the levels underneath. So, when we look at a web site or an application, what we are going to see will be all of this planes that are creating the user experience.At this point we are considering the requirements as at the very lower levels of this structure, which means, requirements are an important part of the use experience.
Let’s get back to what I have said about requirements before. It’s hard to define everything upfront and as the requirements change, it may drive change in structure, scope and the surface. Conversely, if there is a user experience problem at some point, it may require a change at the requirements too.UX design degismeyecekdesen, requirement degisiyor. Bu da zaten UX design in onemlibirparcasi, bu da sistemicinbir requirement oluyor.
When we look at the Winston Royce’s model, you again have to think about the user experience up front. But the requirements will change and we have to manage that change in terms of user experience too. If we do the user experience testing at the end, then we have to be ready for serious changes which is very risky and costly. We can have user experience testing through an agile process which will reduce the risks.Burada da requirement ve design arasinda en iyi user experience I tasarlamangerekiyor. Eger takimindaboylebiriyoksa, boylebirprojedeki en buyukriskin, is ciktiktansonrafarkedilenuxhatalariolacak.
Inspecting over working software will create better results in terms of user experience testing. Here is how user experience is achieved more easily.First we create the working software increment, which is a prototype. Then the user experience testing of this prototype is made at the end of the first iteration by the users of this product. Then create the other increment. While we are creating the increments, the user experience designer can collect some data from the users, or he can create some low or high fidelity wireframes or he can use wizard of oz testing for future increments. So, the tests will come up with more requirements including the UX This will bring the user experience design to an agile team. This does not mean that the whole process is based upon user experience but we can add some spices.Buradaiseiceridebirux designer in olmasadaha, prototype uzerinden test yptirdiginicin, ux de ototmatikolarakherhangibir waterfall design a gore cokdahaiyiolacak.
Since the nature of agile is based upon frequent inspection and adaptation over working software, we are going to have a better user experience which is being built naturally with the real users testing the application much earlier then expected.
So, now, the question is, can we have any ux people in our teams? The basic structure of an agile team is listed here. With the basic definition there is no evidence that agile teams can not have ux professionals. They can have more than that.Tell each of the sentences seperately:Self-org: self managing, micromanagementCross-functional: no taylorism, no roles, only skillsHighly productive: autonomy, mastery, purpose + communicationCreative: They have space for it. They have to find their solutuions for the problems.
You can do the following to add some ux design skills into teams.