Using Usability Experts to Improve Software Quality Ilari Kajaste1, Deepa Mathew1, Suvi Peltomäki1, Timo Poranen1 1Department of Computer Sciences University of Tampere Kanslerinrinne 1 FIN-33014 University of Tampere Finland Abstract Software project courses are an essential part of university studies of Bachelor's and Master's degrees all around the world. When outcomes of projects are estimated, one of the key quality factors is usability of the software. In this paper we introduce how usability issues are taken into account in a software project course at the University of Tampere. Our experiences show that using student usability experts in software project courses, gives promising improvements in software quality, but also in project learning in a more general level. 1.0 Introduction Software project courses belong to body of knowledge in all computer science related disciplines all universities. In many undergraduate degree programs, software project course is studied on the third year just before receiving BSc degree. ACM and IEEE describe (SE2004) the capstone project as follows: “Provides students working in groups, with a significant project experience In which they can integrate much of the material they have learned in their program, including matters relating to requirements, design, human factors, professionalism, and project management.” Department of Computer Sciences at the University of Tampere has two major subjects: Computer Science and Interactive Technology. Students who major in computer science study traditional subjects in their Master’s programmes: Algorithmics, User Interface Development, Software Development, Data Management and Information Retrieval, and Information Systems. Interactive Technology students concentrate in their studies on issues related to human-computer interaction. The content of this major subject is described as follows in the Curricula Guide (ECTS guide): “Interactive technology aims at training all-round IT professionals who have friendly approach to their work. Making the quality of interaction between man and technology is a core element in teaching of interactive technology. Due to a multidisciplinary basis, students can utilise their backgrounds and interests and specialising in making software and hardware usability evaluations, or concentrate on developing new and better ways of interaction from a human perspective. Students can find jobs in a wide variety of different fields; they can become product development professionals in the software and telecommunication industry, usability experts in internet and multimedia companies, and researchers in the field” About one fourth of all our students are majoring in Interactive Technology. These students really need experience on working in software projects and they should be familiar with the different phases of software development lifecycles. Before year 2005, Interactive Technology students studied the software project course normally with the all other students. They were expected to do similar tasks as other students, although in reality they usually concentrated on user interface –related issues. In our university, only basic programming courses are required as prerequisites from the interactive technology students. Instead of software development studies, these students have strong skills in user interface design and evaluation. Two years ago we decided to develop our software project teaching concept, and we started so called usability team experiment. In our software project courses there are roughly 100 third year students and some number of older students who work as a project managers for our projects. We selected seven students to study the software project course in the usability team. The role of the usability team student differs from the other project course students: usability team members concentrate only on usability related issues in projects. In this paper, we describe our usability team concept and our experiences from academic years 2005 -2006 and 2006 – 2007. During these years we have gained experience in total from 37 projects and two slightly different usability team experiments. The rest of this paper is organised as follows. Next, we introduce how usability issues are related on software projects and what kind of deliverables might be useful for software projects. In Section 3 we describe our experiences from the usability team experiments. Section 4 concludes our work. Deepa's text about usability team models here? 1.1. Advantages of the Usability Team -arrangement There are three main advantages for using the usability team model. Firstly, the team allows students majoring in interactive technology to concentrate the project work studies in a way that is meaningful for their studies. They get practical experience in collaborating with software projects, a situation in which they may very well encounter in their work as well. The team also makes sure every project's usability matters are being looked into. Since there are not enough usability students for each project - and not each project needs the full attendance of a usability person - the team provides a way to divide the work in the best way. Finally, the team provides peer support for the members of the usability team working in different projects. Many usability tasks (e.g. usability testing) require collaboration with multiple usability aware people, and the team arrangement makes that collaboration frictionless. Further, as an indirect result, the more complex organisational structure of the project work course provides experience in varied collaboration skills for all the participants of the course, not just the usability team. 2.0 Usability in software projects It is important to first notice that usability in software project is not a one-off issue you can cover with a couple of documents. It is like good code structure - you cannot simply create your software, and then make it usable. To achieve software with good usability, it needs to throughout the entire software project. 2.1. Why usability is needed Something here? 2.2. Usability documents 2.2.1. Waterfall development model Usability in essence concerns the same thing as software development itself: it is about the users and what they do. So, as with requirement specification, it is important to first learn about the users and their context of use. The required information can be gathered at the same time the project team starts learning to know about the context of the project. From that information, the usability analysis document is produced. It contains definition of general user types of the final product, context of the product, environment of use, and based on these the usability requirements for the software. There is also an indirect advantage in considering usability at this point: thinking about the project from the usability perspective may also provide valuable insights to what the software should be about in the first place. In some cases, this may change even some fundamental aspects of the project, and these insights are valuable to notice before the project plan is written. Since the requirement specification defines what the software should be, it cannot contain definitions that are contradictory to the usability requirements of the software. The requirement specification of the software is, thus, based in part on the usability analysis document. This also provides a good foundation for considering usability later on in the project. Some aspects of the requirement specification may depend on the user interface of the software, so preliminary draft of the user interface plan should be created together with requirement specification. This should contain the general user interface model and how work will be done in the project. Another reason for drafting the basic UI design already is more indirect: If UI is not designed at this phase, some user interface will be assumed by the people writing the requirement specification. Even though requirement specification should be abstract idea of the software when defining what software should be able to do, people still assume some interface for how the software will be doing it. And that interface will more likely be designed from the technical, not the usability point of view. Because of this the people designing the user interface plan also need to work in collaboration with the people writing the requirement specification. The most visible aspect of software usability is, of course, the user interface itself which is defined in the user interface plan. Since the plan ties together with the implementation, it should be done in cooperation with the people writing the implementation plan. This way the user interface designers get valuable feedback on what designs are actually possible to implement. This way the people implementing the software will not discard the user interface as impossible. It is worthy to note that when compromises must be made for the sake of implementation, the better user interface design concepts should nevertheless be written down to the user interface plan to help further development. These documents are the basic building blocks of including usability strongly in the software project. Of course, the documents should also contain multiple references to each other for better integration, so the usability documents are not seen as an issue separate from the "actual" project. In addition to these basic documents, there can be other documents concerning usability issues, such as usability test reports, heuristic analysis reports and the like. 2.2.2. Other development models In the incremental development model [SOURCE] there are some differences. The definition of general user types, context of the product and environment of use can be defined for the entire software in the usability analysis. However, since each increment may concern a different part of the software, the usability requirements should be written independently for each increment. These can of course be separate documents, or just revisions for the original usability analysis. Naturally, also the user interface plan needs to be written independently for each increment. In agile development models the same idea applies but of course with a more flexible approach to documentation, with most of the documents affecting one another in a more dynamic and open nature which is the whole point of agile models. The basic development ideas conveyed by the waterfall model document relations should still apply. 2.2.3. Usability team deliverables (?) The graphs show how different basic software project documents relate to each other and usability documents. Strong lines represent document being based on information from another. Dashed lines represent the same relation, but significantly weaker. Lines with arrows at both ends mean the documents are done in collaboration (thus are based on information from each other). Figure 1: Usability related deliverables in projects applying the waterfall software development model. Figure 2: Usability related deliverables in projects applying incremental software development model. 2.3. Usability design and analysis methods Some usability design and analysis methods that can be used to improve the usability of the software being designed. The most common analysis method is probably usability testing, and paper prototype testing which provide valuable sight into how actual users interpret the system though the user interface. This is important because in usability one key issue is that people think within their own context. While user interface designers and IT professionals may understand some feature naturally, the users might not. Especially paper prototypes may help discover significant unexpected user behaviours in very early stage of design. A closely related issue is that user interface designers easily become accustomed to their own design and blind to their own mistakes. They may understand how something works simply because they themselves designed it, and it is often hard to notice when this happens. (Similar effect happens with coders too: it often takes a long time for someone other than the coder to read how certain code works.) To overcome this, the easiest method is probably to hold peer reviews of the user interface. Peer review means holding a meeting with other user interface designers unrelated to the project. The interface is informally discussed together, with the designer presenting the interface to the others. The meeting needs to have an informal brainstorming atmosphere so that it does not focus on what the designer has done wrong but rather what can be improved. Heavier method is heuristic evaluation where the user interface is analysed by usability professionals taking a set of usability heuristics (most often Nielsen's 10 usability heuristics) and assess whether the user interface follows these guidelines. Cognitive walk-thoughs? ....... more methods? Or do we need these at all? 3.0 Usability team experiments 3.1 Usability team 2005-2006 The Usability Team (UT) pilot experiment took place in the semester 2005-2006. The need for the usability team had risen from having a quarter of all students at the department studying Interactive Technology as their major subject and previously there had not been a good chance to give these students a meaningful role in the project applying their major subject’s skills. Previously the students with extensive knowledge about usability and user interface design had simply been regular members of the project work groups. Now there was a need to have outside consultants helping the UI design and evaluation. The design process often blinds the designer so that they do not see the flaws in their own design. This is a reason for bringing in outside consultants. In the beginning of the course, each project’s manager was told that they could freely employ an outside usability expert for their project for an estimated 50 hours. The managers could then decide for which phases the expert was needed. Each student chose two or three projects to consult but most students also consulted other projects when this was needed. In the end of the course, the projects reported how many hours the experts in fact had been employed in the project and it was found that the time was anything between 20 to 161 hours, which in most cases was far more hours than expected. A few projects did not employ a usability specialist. The projects ranged from ones where the customer was a researcher from the same department to projects where the customer was a large international corporation. The platform also varied from mobile to web, so the consultants got a good chance to work on multiple different kinds of projects. The nature of the project determined how the expert worked and what role they played. In some cases, the usability expert worked as a complete outsider to the project, only consulting from a “distance”, and sometimes the expert became a solid member of the group. The members of the project being consulted did not always see the role of the expert consulting from the outside as positive, which could lead to design solutions not in line with the advice given by the consultant. Projects demanding very good usability, though, could have the expert become a member of the group all the way from the beginning. This was the case in the Safety at Work project as described in 3.1.1. Case study: Safety at Work project. This first UT had seven students, all in their third or later year in their studies and each had Interactive Technology as their major subject. The team did not have a project manager but rather everyone in the group managed it equally. This was seen as a serious shortcoming as a consensus was harder to reach without someone setting and managing the agenda, distributing tasks and keeping the larger picture in mind. The weekly group meetings were used to keep in touch and make sure each project was being consulted in almost the same manner. The meetings also offered a chance to discuss design decisions and many also took part in doing heuristic evaluations or cognitive walkthroughs for the others’ designs. These were early forms of the next year's peer reviews. The estimated number of hours to spend on the course for the course credits was ______ and the average time the consultants spent on the course was 250 hours. In general students not involved in UT spend _____ hours on the course. UT members’ performance was evaluated also in the number of pages they produced for the projects’ documentation. The average amount produced was 138 pages. It was considered that the amount of documentation was too much in comparison to the value derived from the documents so it was made a goal for the next year’s course to decrease the page amount but increase the value. 3.1.1 Case study: Safety at Work project In the autumn of 2005 Salpaus Further Education [x] from Lahti, Finland, approached the Department of Computer Sciences and offered a student project for the project work course. The idea was to develop a web based learning environment for studying and getting a work safety card. Salpaus Further Education had decided to move from normal one-day (8h) course arranged by a certified trainer to a web based training [old 4,5] and aimed to do this by taking into account the recommendations for adult education given by the Ministry of Education [old 1]. The project’s goal was to move the course material to the web to allow the student an opportunity to study the material and do exercises independently so that the training would become easy and motivating. The project’s biggest challenge became ensuring the learning environment’s good usability as it would potentially have tens of thousands of users whose level of technical skills varies from a novice to an IT professional. The project group saw it an easy way to go about the development to use the already existing Moodle platform [SOURCE] and then developing the needed extra modules for it. Moodle as such was insufficient in its usability so the usability expert worked together with the project group to plan enhancements to the interface. These enhancements were needed to make the course material easily navigable, exercises pleasing and educative to do with good feedback and making it easy to keep on track of the learning process. The usability expert had coincidentally been involved in making the preliminary requirements specifications for the project. Because of this, it was natural to involve her in the project meetings from the very beginning. The project group had a student also keen on usability so the expert in worked together with her to ensure a good user interface design. The usability documents produced for the project included usability plan, user interface plan, usability test plan and usability test report. Additionally, another expert from the UT was consulted for an expert usability evaluation after the user interface plan had been created. The project’s culmination point was when the nearly finished product was tested with several end users in a usability laboratory. The testing was done to see how real users would react to the concept of studying the material online and to spot all remaining usability flaws in the user interface. Normally the users are expected to study the material and work on the exercises for multiple hours before going to an exam so in the test it was only possible to try briefly see how the users felt about the learning environment and whether they could navigate around it and find all necessary items. Paragraph about findings! For many immigrants taking the course, it may be easier to study the material independently as they have time to study at their own pace and they can go back easily if they do not understand the material. Most problems found in the testing were fixed before releasing the product for further development at Salpaus. Many other projects decided to skip the formal usability testing in a laboratory but in the Safety at Work project it was seen a meaningful phase in delivering a good quality product. 3.2 Usability team 2006-2007 The first usability team worked on the course in the year 2005-2006, during which the different practices for the team were tested. The current (year 2006-2007) team's practices are based on the experiences from the last year's pilot team. The number of usability team members was increased to 12 members, and 2 projects managers were assigned to the team. The team was split into English and Finnish group. The English group deals with the usability issues of 8 English projects and the Finnish group deals with 10 Finnish projects. Each usability member is assigned to one or two projects, but they may also do smaller projecttype work to help other projects. The amount of involvement depends on the projects: some projects may not even have a user interface, and some project groups already have usability experts working in their own group. 3.2.1 Usability Team Structure Fundamentally, there are two basic alternatives for structuring a usability group within an organization: Centralized organizational structure: Usability experts belong to one organizational unit such as the Usability team, and have their own usability manager (See Figure 3). When project teams request usability assistance, one or more usability members work closely with the team during the project. Distributed organizational structure: Usability experts are assigned to work on separate project teams and report to project manager (See Figure 4). On many projects, this means only one usability expert per project. [6] We used the Distributed organizational structure for structuring the usability team since it allows the usability expert to work together and closely with the project development team members. Staying with the project team from the beginning to end of the project may increase the chances of usability recommendations being implemented. 3.2.1 Case Study: SysMLL Project (2006-2007) Background: SysMLL is a web based multiple languages learning software. The “Extension of SysMLL” project is further development of existing working version of SysMLL. Original SysMLL project was carried out in year 2005-2006 and it is now operational. Extension of SysMLL is further development project of SysMLL and project will continue until May 2007. The client of the project is “School of Modern Languages and Translation Studies” of University of Tampere. One of the English usability experts was assigned to work closely with this project team and report to the usability team project manager. Project Goals: Main goal of this project is to add more functionality to SysMLL. Incremental method is used for this project, so each phase has a new goal. First goal is achieved by adding multimedia to system and in future phases by adding exercises and games. Usability Goals: Since this project uses the Incremental model, in each phase the usability expert has to look into the usability issues, conduct usability tests, and create usability documents and reports. Time Line: As incremental model is used for the project, each phase is planned to last only for a short period. Group will continue adding increments to SysMLL until the end of the course period (May 2007). As the final increment is ready in April-May, final documentation and presentations are done, the project will be ended. Usability test In the beginning of the project, a usability test was arranged in the Computer Science Department's usability laboratory in February. The test consisted of three phases. Each participant started by filling a brief questionnaire. During the main phase of the test, each participant worked on the given test tasks on the computer. This section took around 50 minutes. The interview in the end took up about 10 minutes. Before beginning the usability test, the usability expert explained the participants how to use the think-aloud protocol when working on the tasks. Each participant was asked for a permission to record the test on a video. Then test tasks were given one by one to the participants. Mozilla web browser was used in the test because it was also used in the heuristic evaluation. There was a moderator and observer throughout the tests to monitor and record the findings. In addition, a technical support assistant was available during the test period to take care of the technical problems of the lab and the test application. Participants There were four participants, two females and two males. Three of them had over ten years of computer experience while the other had less than 10 years of experience. Two of them never used the SYSMLL before the testing while the other two had used the system for less than one year. They all had some kind of experience with other web-based language learning applications. Test tasks Focused was on evaluating two major functions in the SYSMLL application. These two functions are related to the exercise taking the data editing. However, test tasks indirectly touched other functions of the system such as settings, user management and help. The test was targeted at students and teachers of the system. Test tasks were selected according to the usability expert’s focus. The moderator gave one task one at a time on a slip of paper to the participants. Tasks were regarded as completed when participants got the result required by tasks and usually said, “I think I have completed the task.” or, when they said, “I do not know how to continue, I want to give up”. Findings from the usability tests The user tests found out that the design of navigation menu of SYSMLL is good and clear except that a few terms such as “Edit Data” and “Words and Equivalent 2” are uninformative. Most usability problems found are related to the system feedback, interface layout and button designs. In addition, there are some confusing concepts used in the system such as “Meaning”, “Topic” and “Name”, which appear quite often here and there. Findings from the interviews All participants expressed in interviews that SYSMLL might be a helpful exercise application for learning languages if it is easy to use. Most of the participants felt that the most frustrating part with SYSMLL is that it does not seem to provide any feedback to users during any operation. They are not sure if some action is correct or complete. Secondly, in many situations, the instructions given by the interface do not support effective operations at all. They all expressed that if there are dictionary like function in the system, it will be more helpful in learning new languages. 3.2.2.4 Future Hopes Lessons Learned: From the usability evaluations and tests it was found that the application needed many improvements in usability related issues. These usability problems could not have noticed without the usability test. Therefore, it is very beneficial to have a usability expert in the team to work closely with the project team to improve the products usability. Future Plans: Now the project is stepping into the final incremental phrase and more usability planning, evaluations and tests are to be planned and done. 4.0 Conclusions Here we introduce usability team -concept and how it is related on course and project's phases. We should use references like [1], but since these do not change dynamically in word -documents, we can fix them just before submission... 5.0 References 1. Abran, A., Moore, J. , Bourque, P., Dupuis, R., and Tripp, L.: Guide to the Software Engineering Body of Knowledge – SWEBOK, trial version, IEEE-Computer Society Press, 2004. http://www.swebok.org 2. Dalcher, D. and Woodman, M.: Working together: software engineering in a group context, in Proceedings of INSPIRE VIII, 75-87, 2003. 3. ECTS Study Guide Curricula 2006-2007, University of Tampere, Faculty of Information Sciences, 2006. http://www.uta.fi/studies/ects/information.pdf 4. Nielsen J, Designing Web Usability: The Practice of Simplicity. New Riders Publishing, 2004. 5. Nielsen, J, http://www.useit.com/ (visited April 2007) 6. Mahmood, Z. and Rashid, K.: Group working: an essential component of software engineering education, in Proceedings of INSPIRE VIII, 89-99, 2003. 7. Pressman, RS. Software Engineering – A Practitioner's Approach. McGraw-Hill 2005. 8. Poranen, T. (editor). Report D-2006-6: Software Projects 2006 (partially in Finnish), http://www.cs.uta.fi/reports/dsarja/D-2006-6.pdf 9. Hakola J, Hautaniemi J, Parviainen V, Peltomäki S and Poranen T, Käytettävyys ja oppiminen: SAFETY-projektissa toteutettiin Moodlepohjainen oppimisympäristö työturvallisuuskortin suorittamiseksi verkossa. Pedaforum, 2006. 10. Salpaus Further Education. http://www.salpaus.fi/ (visited March 2007) 11. SE 2004 - Curriculum Guidelines for Undergraduate Degree Programs in Software Engineering. http://sites.computer.org/ccse/ 12. Work safety card training brochure. (in Finnish) http://www.lamk.fi/material/tyoturvallisuuskortti_2_4_07_esite.doc (visited March 2007) 13. Moodle course management system. <www.moodle.org> Appendix Table 1: Test tasks and the rationale for each task. Task 1: I want to learn Finnish language from SYSMLL using English as a reference. The purpose of this task is to find out how the users will make the setting of the system in order to learn between pair of languages. Task 2: I want to add a new title “Animal” about vocabulary in the system. The purpose of this task is to find out how the users will work with the function of editing new meaning/topic into the system. Task 3: I want to create two photos about tiger into the system. The purpose of this task is to find out how the users will work with the function of adding new images about some meaning into the system in the database editor. Task 4: I want to take away the first photo about” tiger” from the system. The purpose of this task is to find out how the users will work with the function of deleting images about some meaning from the system in the database editor. Task 5: I want to create Chinese language into the system. The purpose of this task is to find out how easily and the way the users can add a new kind of language into the system. Task 6: I want to check if I know how to write “Monday” in Finnish. The purpose of this task is to find out how easily and the way the users can take a quiz about vocabulary between pair of languages. Task 7: I want to learn the vocabulary from English language to Finnish language in the system. The purpose of this task is to find out how easily and the way the users can learn and browse vocabulary between pair of language in the system. Task 8: I want to know how much I understand the meanings of some Finnish words. The purpose of this task is to find out how easily and the way the users can take quiz in order to check their understanding about Finnish definitions. Task 9: I want to use English words as reference to read through the available Finnish words in the system. The purpose of this task is to find out how easily and the way the users can browse vocabulary of pair languages. Questionnaires and interviews Questionnaires were used to collect background information about the participants (e.g., the level of experience in computer and web use, previous experiences with SYSMLL or other language e-learning applications etc.). The completed questionnaire will be attached to the final report of user test for future reference. Below is the list of questionnaires prepared for this user tests. Choose one of the following answers to each question: 1. My gender: o Female o Male. 2. My computer experience: o Over 10 years o Between 5 to 10 years o Less than 5 years. 3. I use computer: o Over 40 hours a week o Between 25 and 40 hours a week o Less than 25 hours. 4. I have been using SYSMLL for: o Over one year o Less than one year o Never use. 5. I use SYSMLL for: o More than three hours a week o Between one and three hours a week o Sometimes not at all. 6. I have experience with other language programs over the web: o Very much o A little bit o Nothing. Interviews The following open-ended and close-ended interview questions were used to collect users’ subjective opinion about the user interface usability of SYSMLL. 1. Which task is easiest for you during the test? 2. Which task is the most difficult for you? 3. What is your general opinion about the interfaces presented in the test? 4. Suggestion for improvement? (Show interface of “Data editor”, “Exercises” during conversation) 3.2.2.3 Results Task time and completion rates As mentioned earlier, the participant’s test were recorded and video taped. It was recorded that participants used around 50-60 minutes to go through all the nine tasks. The completion rates of the four participants are displayed below according to the notes taken by the moderator and the observer. Usability Test Results Task Completion rates 120 % 100 % 80 % 60 % Series1 40 % 20 % 0% 1 2 3 4 5 Test tasks 6 7 8 9 TO DO -LIST: - The SysMLL case study needs shortening, and the test sheets should be moved into appendixes - Description about what is usability? In chapter 2? - How usability is taken into account in other Finnish universities, and other countries? - Conclusions