Monday, June 22, 2009

User Experience Master Class

Last week, I attended a Master Class (organized by the TU Delft and Exact Software) where the goal was linking "designing successful products that people love to use" with "designing great software" to achieve a great user experience.


Looking back at the class, I think the ground rule should be clear: (try to) understand your customer! That way, you can create better products, products that are in line with the needs of your customers, have a lower failure risk and a higher customer loyalty.

The diversity of the attendees (Product management, Functional design, Marketing communications, Consultancy, Customer support, Product line manager, Software engineering, Product marketing) was very good. It gave insight into the different perspectives of different people.

During the Master Class, we met with very passionate, expert lecturers that presented their area of expertise and mixed it with a hands-on element. We had to visualize our development process, make collages, personas, mindmaps, observe other people (outside of the classroom), make prototypes, discuss personal items that are connected with an emotion, etc. The hands-on elements were really great, because some it put us in the 'customer seat' instead of the 'developer seat'.

Everyone who attended the Master Class was really energized to start working with the methods and concepts. Already a few ideas have started, more is to come. Hopefully we can convince our collegues and management we really need to use available techniques to come to a better user experience of our products.

Image credit: James Garrett

Monday, June 1, 2009

Microsoft DevDays 2009 - The Hague

Last Thursday and Friday (28/29 May) it was time for Microsoft DevDays. First thought when I was asked if I wanted to attend this event, was that it was not the right place for a 'functional' developer, because (in my mind) it was just about 'tech' stuff. But after having a look at the sessions, it turned out that there were some interesting sessions planned for me.

So here is a small summary of my experience:

The website
Initially, I liked the website. Looked nice. But after a while, I got annoyed by the fact that several sessions still did not have additional information (additional besides the title). Not even 1 day before the event took place. It also looked nice that you could make your own agenda. Great! However, my 'own' agenda turned out to be the 'normal' agenda with my selected sessions highlighted. And I could not find a (normal) way to print my agenda. So in the end, I just wrote the interesting sessions on a piece of paper and took it with me (like many others did as I saw). That can be greatly improved next year. Also very annoying is the fact that if you have a look at the sessions on Friday, and use the IE back button, you end up in the sessions of thursday. Another improvement for next year.

The location
The location World Forum in the Hague was great. The organization on the 2 days itself was also good. Great lunch, in between sessions refreshments were available. Even in the morning, 'ontbijtkoek' and some other bread rolls were served. A lot of stands of Microsoft and partners were there where people could ask 'experts'. Every member of the organization had a special shirt with his/her role on the back (speaker, staff, expert, etc.) making it easy to contact someone. There was one big disappointment: the session planning booklet. First of all, the sessions were ordered by the location / room, making it difficult to find a session for a specific time slot. Second, the way the sessions were presented on the website (by time line or by topic) was totally different. Everyone had trouble finding the right session he/she selected from the website. Another improvement for next year!

And now for the sessions:

A lap around Microsoft Visual Studio Team System 2010 Team Foundation Server

Although the description of the session already said it was a 'demo-intensive tour of the new capabilities in Team Foundation Session', I found it very difficult to follow the presentation. The speaker Adam Barr showed new possibilities and what TFS could do for 'you'. For me, it was very detailed and since I do not have experience with TFS, was difficult to understand the presentation.

Building better user interfaces

The speaker of this session was Jason Beres who is Director of Product management at Infragistics. His key message was to listen to the customer, to include the customer in the design process. He explained that there are a lot of User Interface Patterns and advised to have a look at Quince for them. Here users can also add new patterns or add examples of existing patterns. He ended his session with the hall of fame and shame. He explained why several websites or messages belonged in the hall of shame (even though it was obvious for the websites). Like a message explaining that something went wrong. But not telling the user what to do next. I would have liked it if he also explained why some websites were in the hall of fame.

Test Essentials 2010: The year of the tester

After reading an article of James Whitaker about how a tester should make a developer a better developer, I really wanted to attend this session. I was disappointed by the fact that he was not able to speak at the DevDays and was 'replaced' by Ed Glas. He gave a nice presentation but did not have the 'wow' factor in his presentation (as he said in a later session, James gives a better presentation, he knows more about the product). He basically gave a nice overview of 'what's new' in Visual Studio Team Test. And even though I have no experience with VSTT, it was not a problem for me to understand the presentation. I really liked his statement that it all begins with manual testing. As he states: automatic testing can only take place when the application works (at least at one point in time). And how do you know if an application works? By manual testing. He talked about how 'quality' should be defined and that testers do not basically assure quality, but that they shine a light on the product (in order to to find bugs)! Even though I have no experience with Visual Studio Team System, I could follow the presentation and liked it.

Data visualizations and dashboards

The speaker of this session was also Jason Beres (same as 'Building better user interfaces'). I even liked this session more. He explained the most important things to think about when creating dashboards. What a common 'mistake' is, is that too much information is being shown in a (part of a) dashboard or graph. Most of the time, simplifying the dashboard or graph really improves the way the viewer can understand it. The goal of the dashboard / graph always has to be the starting point (what do I want to show here, what is most important). He stressed that a dashboard is for a 'quick' view and details should be shown in a different page or table. He highly recommended the book Information Dashboard Design by Stephen Few for anyone involved in (creating) dashboards.

TFS 2008 Best practices - 6 ways to ensure quality

Speaker Neno Loje gave a nice overview on how TFS can be used to ensure quality (and can be adjusted to the needs of the company using TFS).
His 6 ways:

  1. Work item workflows,

  2. Quality gates: a gated check-in where the checkin first is validated
    before it is actually checked in.

  3. Code review: as he explained, you can define (within TFS) some kind of
    process to do this, but it was not an separate part of TFS

  4. Isolate by feature

  5. Build verification tests: configurable build options, for example to
    create a build after each checkin and when the checkin fails (due to the
    quality gates), no other checkin's are allowed until the failed one is
    solved.

  6. Trend analysis



How development is done @ Microsoft

Gert Drapers gave an overview of how his team is doing their work and why they do it like that. One of the things he told was that people are trained to give good estimates on the duration of the work, explaining that it costs time to train the people, but that it is important to create a good / realistic planning. He also told about the Bug Jail at Microsoft: when a developer exceeds a set number of bugs (in his flow), he is put in the Bug Jail and has to drop everything he is doing and solve the bugs. He explained that previously the team would first finish the feature(s) and after that would have (some) time to solve the bugs. However, that way of working was actually more work (took more time) than how they are doing it now.

When testing meets the future

This session was also planned to be presented by James Whitaker and was again 'replaced' by Ed Glas. He gave the presentation the title 'Test automation in Team Test 2010' and explained the different testing 'area's': from a Generalist (doing manual testing) to a Specialist (doing coded UI tests). The Test essentials part of Team test is especially suitable for the Generalist tester. The (rest of) Team test is especially suitable for the Specialist tester and contains Web test, Load test, Unit test and UI test. The Web, Load and Unit tests were already available in Visual Studio, the UI test is new in Team test 2010. The presentation had some overlap with the Test Essentials 2010: The year of the tester session, but Ed adjusted his presentation with some extra information on Web testing. For me, the details of Load testing and Unit testing were a little outside my working area. I wonder what kind of presentation James Whitaker would have given.

So overall, it was a good event 'even' for functional developers!