scispace - formally typeset
Search or ask a question

Showing papers on "User story published in 2006"


Patent
26 Dec 2006
TL;DR: In this article, the authors present methods, systems, and software of modifying, configuring, adapting, or otherwise developing one or more pre-constructed applications and business process components to meet a user's needs or requirements of a particular business application.
Abstract: The present disclosure relates to methods, systems, and software of modifying, configuring, adapting, or otherwise developing one or more pre-constructed applications and business process components to meet a user's needs or requirements of a particular business application. Each component or application includes one or more pre-constructed user interfaces and performs one or more predetermined functions, services, or queries. A non-technical user or business analyst may obtain an application and, thereafter, adapt or reconfigure the application to perform desired functions, thus creating a custom application. In some cases, the user may custom build a new application utilizing multiple components or applications. The creation, adaptation, and configuration of the application may be performed in an intuitive manner without exposing the user to the programming code or application model. Thus, the user can often easily create, adapt, and configure the application without the need for specialized information technology skills.

147 citations


Proceedings ArticleDOI
23 Jul 2006
TL;DR: The results show that planning poker improved the team's estimation performance in most cases, but that it increased estimation error in the extreme cases.
Abstract: Group estimation of user stories is an important part of extreme programming (XP), used for both planning releases and iterations. Research has shown that although group estimation in many cases is superior to individual estimation, there is still room for improvement. For instance, group estimation performance can be reduced by dominant personalities and anchoring effects. Through the analysis of 101 user story estimates, made by an XP team for release planning, we investigate whether the introduction of the planning poker estimation process improved the estimation ability of the team. The results show that planning poker improved the team's estimation performance in most cases, but that it increased estimation error in the extreme cases.

128 citations


Journal ArticleDOI
TL;DR: Overall, the research indicates that most of the XP principles could be effectively implemented; however, three of the principles required modification (i.e., testing, pair programming, customer collocation).
Abstract: eXtreme Programming (XP) is a well-known agile software development method. While a number of reports have been published on explaining the XP methodology and the perceived benefits when using XP for system development in recent years, less is known about the actual operationalization of the XP principles. This paper presents an action research study reporting on the experiences of implementing the XP methodology in a development project for a Web-based, distributed information system. The goal of this research was to increase the understanding of how to effectively operationalize XP techniques so that the system being developed catered to today's fast-paced technological environment by allowing the developers to respond quickly to innovative and changing requirements. Overall, the research indicates that most of the XP principles could be effectively implemented; however, three of the principles required modification (i.e., testing, pair programming, customer collocation). Several benefits resulted from the usage of XP. The rapid prototyping enabled information technology developers and users to clarify system requirements, communicate openly, quickly build rapport, and create an interface that was easy to use and learn. Further, the research found that where the technology was new or foreign to the development team and the user, the XP process was flexible enough to support several iterations of technology and produce prototypes in a timely manner. Pair programming appeared to work effectively and offer value; however, it is not always practically feasible.

128 citations


Journal Article
TL;DR: The paper defends the position that personalization, and in particular automatic personalization or adaptation, is the key to reach the goal of offering each individual user (or user group) the information they need and proposes a new, modular adaptive hypermedia architecture that should lead to adaptive Web-based systems as the "Next Big Thing" indeed.
Abstract: At the ACM Hypertext Conference a panel discussed "The Next Big Thing Inc." in the area of hypertext and hypermedia. The Web has been the "Big Thing" during the past 10 years, but its success has also made it very difficult to find the appropriate information in an ocean of over 3 billion pages. Whereas search engines achieve incredible precision, they suffer from the same "one size fits all" approach that characterizes the Web sites they index. The paper defends the position that personalization, and in particular automatic personalization or adaptation, is the key to reach the goal of offering each individual user (or user group) the information they need. During the panel discussion there was debate about whether the user should always have access and control over the entire (hypertextual) information space. There were different views on whether the "right" to all the information is best guaranteed by offering tools that reduce the information space the user perceives so that the user can actually find and reach the information, or by offering unfiltered access to an ocean of information in which everything is available but in which perhaps nothing can be found. We argue in favor of adaptation but at the same time point out flaws in the way adaptive hypermedia has been used until now. The paper then proposes a new, modular adaptive hypermedia architecture that should lead to adaptive Web-based systems as the "Next Big Thing" indeed. In this architecture, different applications can collaborate in creating and updating a user model. Shared user model servers are not just needed for adaptive Web sites, but are also the key to enabling the development of ambient intelligence. (Many small systems then need to work together and base their actions on common knowledge about their user(s).) Sharing user models can of course cause a "big brother" problem. Legislation is already in place to protect users' privacy by placing legal limits on the kind of user modeling and sharing of user models that is allowed. The paper briefly reviews the legal issues of user modeling and adaptation in order to provide not just a future outlook based on "wild imagination" but based on a realistic vision of what will not only become technically possible but also of what will be "acceptable".

125 citations


Book ChapterDOI
12 Jun 2006
TL;DR: The hypothesis that refactoring enhances quality and reusability of – otherwise hard to reuse – classes in an agile development environment is sustained.
Abstract: The improvement of the software development process through the development and utilization of high quality and reusable software components has been advocated for a long time. Agile Methods promote some interesting practices, in particular the practice of refactoring, which are supposed to improve understandability and maintainability of source code. In this research we analyze if refactoring promotes ad-hoc reuse of object-oriented classes by improving internal quality metrics. We conduct a case study in a close-to industrial, agile environment in order to analyze the impact of refactoring on internal quality metrics of source code. Our findings sustain the hypothesis that refactoring enhances quality and reusability of – otherwise hard to reuse – classes in an agile development environment. Given such promising results, additional experimentation is required to validate and generalize the results of this work.

106 citations


Proceedings ArticleDOI
20 May 2006
TL;DR: This paper proposes a way of extending eXtreme Programming practices, in particular the original planning game and the coding guidelines, to aid the developers and the customer to engineer security requirements while maintaining the iterative and rapid feedback-driven nature of XP.
Abstract: This paper proposes a way of extending eXtreme Programming (XP) practices, in particular the original planning game and the coding guidelines, to aid the developers and the customer to engineer security requirements while maintaining the iterative and rapid feedback-driven nature of XP. More specifically, these steps result in two new security-specific flavours of XP User stories: Abuser stories (threat scenarios) and Security-related User stories (security functionalities). The introduced extensions also aid in formulating security-specific coding and design standards to be used in the project, as well as in understanding the need for supporting specific Security-related User stories by the system. The proposed extensions have been tested in a student project.

98 citations


Proceedings ArticleDOI
22 Apr 2006
TL;DR: The ""Crystal"" application framework provides an architecture and interaction techniques that allow programmers to create applications that let the user ask a wide variety of questions about why things did and did not happen and how to use the related features of the application without using natural language.
Abstract: Modern applications such as Microsoft Word have many automatic features and hidden dependencies that are frequently helpful but can be mysterious to both novice and expert users. The ""Crystal"" application framework provides an architecture and interaction techniques that allow programmers to create applications that let the user ask a wide variety of questions about why things did and did not happen, and how to use the related features of the application without using natural language. A user can point to an object or a blank space and get a popup list of questions about it, or the user can ask about recent actions from a temporal list. Parts of a text editor were implemented to show that these techniques are feasible, and a user test suggests that they are helpful and well-liked.

91 citations


Journal ArticleDOI
TL;DR: Some of the differences between the User-Centred Design and the Requirements Engineering communities are illustrated and how and where these methodologies should be integrated, or at least aligned, to avoid some of the problems practitioners face during the User Needs Analysis are illustrated.

89 citations


Proceedings ArticleDOI
22 Oct 2006
TL;DR: This paper presents an approach that has been used to address security when running projects according to agile principles, and misuse stories have been added to user stories to capture malicious use of the application.
Abstract: In this paper, we present an approach that we have used to address security when running projects according to agile principles. Misuse stories have been added to user stories to capture malicious use of the application. Furthermore, misuse stories have been implemented as automated tests (unit tests, acceptance tests) in order to perform security regression testing. Penetration testing, system hardening and securing deployment have been started in early iterations of the project.

45 citations


Journal ArticleDOI
TL;DR: A methodology that supports user work practice and metadesign, allowing experts in a domain to personalize and evolve their own software environments is developed, which is applied to a project for the development of an interactive system in the medical domain.
Abstract: End-user development means the active participation of end users in the software development process. In this perspective, tasks that are traditionally performed by professional software developers are transferred to end users, who need to be specifically supported in performing these tasks. We have developed a methodology that supports user work practice and metadesign, allowing experts in a domain to personalize and evolve their own software environments. In this article we illustrate how this methodology is applied to a project for the development of an interactive system in the medical domain. Physicians and their activities have been carefully analyzed through a field study that is reported in the article, in order to provide them with computer systems that may improve their work practice and determine an increase in their productivity and performance, that is, a better quality of diagnosis and medical cure, with the achievement of competitive advantage for the organization they work in.

28 citations


Journal ArticleDOI
TL;DR: The general conclusion is that a product development process intended to be user-oriented must focus on user questions within the development process, and the project group should adopt a systematic view on how to create a user- oriented product.

Proceedings ArticleDOI
18 Dec 2006
TL;DR: This paper describes the structure of the goal model in the PRACTIONIST framework and how agents use their goal model to reason about goals, desires, and intentions during their deliberation process and means-ends reasoning as well as while performing their activities.
Abstract: The representation of goals and the ability to reason about them play an important role in goal-oriented requirements analysis and modelling techniques, especially in agent-oriented software engineering, as goals are more stable than other abstractions (eg user stories) In PRACTIONIST, a framework for developing agent systems according to the Belief-Desire-Intention (BDI) model, goals play a central role Thus, in this paper we describe the structure of the goal model in the PRACTIONIST framework and how agents use their goal model to reason about goals, desires, and intentions during their deliberation process and means-ends reasoning as well as while performing their activities

Proceedings ArticleDOI
21 Apr 2006
TL;DR: This panel will debate whether or not agile software development provides an opportunity to integrate HCI and software engineering concerns and, with the audience's help, decide whether agile development is an opportunity not to be missed, or just another fad that will pull the two communities further apart.
Abstract: The importance of integrating software engineering and HCI methods has been recognised for many years. Agile development is a new approach to software engineering that explicitly champions an active role for the customer. Indeed, eXtreme Programming (XP), one of the most popular agile development methods, strives to include a real user(s) in the team who is located 'on-site' with software developers.In this panel we will debate whether or not agile software development provides an opportunity to integrate HCI and software engineering concerns. The panel members represent a wide cross-section of experiences in this area and will consider how agile development can help improve the current situation, consider specific example scenarios provided by the audience, and, with the audience's help, will decide whether agile development is an opportunity not to be missed, or just another fad that will pull the two communities further apart.

Book ChapterDOI
17 Jun 2006
TL;DR: In this article, the authors present two guidelines to prioritize and sequence the development of new features and capabilities on an agile software development project, which are meant to provide a set of considerations and a process by which an agile product manager can achieve the goal of optimizing business value.
Abstract: Very little has been written to date on how to prioritize and sequence the development of new features and capabilities on an agile software development project. Agile product managers have been advised to prioritize based on “business value.” While this seems an appropriate goal, it is vague and provides little specific guidance. Our approach to optimizing “business value” uses tactics to minimize costs and maximize benefits through strategic learning. In order to provide specific and actionable advice to agile product managers, we present two guidelines. These guidelines are meant to provide a set of considerations and a process by which an agile product manager can achieve the goal of optimizing “business value” while recognizing that different product managers will vary in their notions of what “business value” is.

01 Jan 2006
TL;DR: This paper describes the goal model of PRACTIONIST agents, in terms of the general structure and the relations among goals, and shows how PRACTIONist agents use their goal model to reason about goals during their deliberation process and means-ends reasoning as well as while performing their activities.
Abstract: The representation of goals and the ability to reason about them play an important role in goal-oriented requirements analysis and modelling techniques, especially in agent-oriented software engineering. Moreover goals are more useful and stable abstractions than others (e.g. user stories) in the analysis and design of software applications. Thus, the PRACTIONIST framework supports a goal-oriented approach for developing agent systems according to the Belief-Desire-Intention (BDI) model. In this paper we describe the goal model of PRACTIONIST agents, in terms of the general structure and the relations among goals. Furthermore we show how PRACTIONIST agents use their goal model to reason about goals during their deliberation process and means-ends reasoning as well as while performing their activities.

30 Jan 2006
TL;DR: The nature of design is explored and a workable definition that design is an inquiry oriented toward a specification that fits is arrived at, which reveals that not only user study informs design, but also in principle, design can drive user study.
Abstract: The practice of user study is well presented at numerous conferences, documented in various literatures and discussed at different Internet discussion groups. At the moment, there seems to be plenty of experiences and knowledge about user study accumulated in design practice. The idea of user study is well received and affirmed across professional and educational institutions. It is generally accepted that user study is important for contemporary professional practice of Industrial Design. However, our belief is mostly supported by informal observation, testimony and good will but lacks formal articulation. The profession of communication design lags behind other design fields in terms of practicing user study. Rigorous discourse on user study in Industrial Design lags behind that in Human Computer Interaction. Moreover, other fields have already recognized the need for more in-depth understanding on user study so research on user study has begun. These studies, however, are missing a perspective from design. The lack of formal articulation and design perspective has left the ‘applicability gap’ open between user study and design. Although we know that user study results are not necessarily useful for design practice, we have not dealt with this issue properly. This study is aimed to address this problem. Research on user study has been empirical: observing how designers design. However, this type of research often lacks theoretical framework, and as a result, we are not certain if the research outcome is by chance or systemic. More importantly, this type of research slights historical and cultural contingency, and it begs the question whether it can serve as principle for future practice and research that for sure will change. User study is an invention to suit design practice. But design practice is also an invention. We do not have to describe and explain design practice as now but to interpret and articulate the potential/possibility of user study based on an articulation of the nature of design – to create an idealized scenario. I seek to articulate the nature of design and draw implications for these two questions: “How does user study inform design?” and “What are the formal characteristics of user study outcome?” This theoretical inquiry provides a language by which the practice and research of user study can be reexamined and reorganized. The result will bring issues to the public domain for debate and improvement. It will increase the effectiveness of our communication to one another and will serve a (temporary) map for guiding research and design on user study. In the first part of the investigation, we explore the nature of design and arrive at a workable definition that design is an inquiry oriented toward a specification that fits. In the second part, we derive meanings from this articulation to address the research questions, and it leads to some unexpected conclusions. For the research question, “How does user study inform design?”, based on the nature of design articulated, it is implied that current user study provides a context for design. For the question, “What are the formal characteristics of user study outcome?”, it is concluded that the context ought to be a specific reasonable narrative rather than a general casual explanation. More interestingly, the results of the inquiry make us realize that context creation does not necessarily precede the generation of possible specifications in the design process, thus it calls into question the fundamental assumption on which the research questions are based. It is revealed that not only user study informs design, but also in principle, design can drive user study. Not only is design-driven user study possible, but it is also preferable for design situations where the product to be made is highly undetermined. The conclusions project new perspectives on jumping the ‘applicability gap’, open up new line of inquiries for user study, and shed light on the potential coordination between design and research in general.

Journal ArticleDOI
TL;DR: The paper presents the main findings of a small pilot survey about user perceptions of XP, the best known and most controversial of the so-called agile software development methodologies.
Abstract: Extreme Programming (XP) is probably the best known and (arguably) the most controversial of the so-called agile software development methodologies. The paper presents the main findings of a small pilot survey about user perceptions of XP.

Book ChapterDOI
17 Jun 2006
TL;DR: In this paper, the authors discuss extensions to Boehm and Turner's five dimensions for determining a project's "home ground" -that is, the process configuration that might best fit the situation at hand.
Abstract: The traditional versus agile project debate is most often represented in terms of polar positions of the life cycle – the process is either traditional or agile, waterfall or highly iterative. This may be effective in intellectual discussions, but it is highly unlikely to be useful to practitioners, especially those practitioners that are facing traditional project pressures and trying to find the “home ground” for their situation that will increase the likelihood that they will succeed. In this paper, we discuss extensions to Boehm and Turner's five dimensions for determining a project's “home ground” – that is, the process configuration that might best fit the situation at hand. We have added dimensions to the basic framework provided by Boehm and Turner and have considered the process configuration question as a process itself and increased its scope to include both management and engineering key practice areas.

Book ChapterDOI
13 Sep 2006
TL;DR: The experience is presented in order to point out to the researcher community the usefulness of RTDWD and, generally, of the lightweight real-time collaboration underlining the need to introduce new technologies on practices of distributed Agile processes.
Abstract: This paper proposes RTDWD (Real-time Distributed Wideband-Delphi), a real-time collaborative web application for user stories estimation through the Wideband-Delphi method. RTDWD realizes, in a lightweight way, virtual meetings for a critical phase of the requirements management in distributed Agile development processes, such as Distributed eXtreme Programming. The web 2.0-based nature of RTDWD adds new communication modes to a distributed Agile development process, where a close real-time collaboration is needed but difficult to realize due to the geographic dislocation of team members. Features of RTDWD allow to take into consideration several scenarios where mobile devices (i.e. Pocket PCs and Smartphones) well substitute desktop and laptop computers. We present our experience in order to point out to the researcher community the usefulness of RTDWD and, generally, of the lightweight real-time collaboration underlining the need to introduce new technologies on practices of distributed Agile processes.

Proceedings ArticleDOI
J. Bergin1, F. Grossman1
23 Jul 2006
TL;DR: An exercise is developed and used successfully to train novices in the techniques of Extreme programming, intended for those who require some deep understanding of the synergies of agile methodology.
Abstract: In recent years agile software development methodologies have become important. Extreme programming (XP) is perhaps the best known of these. XP involves about a dozen key practices that work synergistically to provide quality software in an environment in which change is likely to occur. Here we present an exercise that we have developed and used successfully to train novices in the techniques. This exercise is novel in that it is accessible to programmers and non-programmers alike. In an industrial setting, this makes it available to managers and customers. In the educational setting, it becomes possible to teach the techniques to novices before they have learned any programming. It is intended for those who require some deep understanding of the synergies of agile methodology. Extreme construction is a game that is both fun and informative. It teaches the fundamentals of any agile methodology while helping build a closely-knit team.

Journal ArticleDOI
TL;DR: A case study examines the changes to the IS development environment wrought by the introduction of a new software development methodology that involves the use of user stories in place of traditional requirements documentation, and suggests the presence of the Abilene paradox influencing the diminishing commitment.
Abstract: Agile software development projects embrace change, yet change is problematic in any software development project. Resistance to change is a common trait and software developers are not different than other organisational actors in this regard. The resistance to change is often inexplicable, even to those who are resisting. This paper describes a case study, which examines the changes to the IS development environment wrought by the introduction of a new software development methodology. One aspect of the new methodology involves the use of user stories in place of traditional requirements documentation. The findings of this longitudinal study illustrated that developers' commitment to the use of user stories diminished greatly, ranging from initial commitment to skepticism, to virtual abandonment. To explain the underlying reasons for the reduction in commitment, the authors used the theory of competing commitments. Competing commitments are typically subconscious forces that work against behaviours and actions that social actors were previously committed to. Further to the use of the competing commitment process, this paper's analysis of the software development project suggested the presence of the Abilene paradox influencing the diminishing commitment. Under the Abilene paradox, the actors themselves cannot adequately explain why the change is resisted. The use of competing commitments enabled the actors to discover themselves why the change is resisted.

Proceedings ArticleDOI
Joseph Bergin1
21 Oct 2006
TL;DR: This set of ten patterns is intended to complement the standard wisdom that can be gleaned from the Agile Development literature such as Kent Beck's Extreme Programming Explained and is directed primarily at those who are starting out with Extreme Programming or another agile methodology and might miss some subtle ideas.
Abstract: This set of ten patterns is intended to complement the standard wisdom that can be gleaned from the Agile Development literature such as Kent Beck's Extreme Programming Explained[1]. It is directed primarily at those who are starting out with Extreme Programming or another agile methodology and might miss some subtle ideas. Once a team gains experience these patterns will become obvious, but initially some of them are counter intuitive. While this study began in Extreme Programming practice, most of the advice applies to agile development in general. The ten patterns here extend the work of 2004--2006 on the same topic ([3] and [4]). This paper contains some of the standard practices of Extreme Programming as detailed in [1].We consider XP to be a pattern language in which the practices are the basis of the patterns. They have the characteristics of a true Pattern Language in that they are synergistic and generative. The dozen or so practices detailed in Beck and elsewhere, such as "Do the simplest thing that could possibly work" and "Yesterday's Weather", form a subset of this language.As this "language" is in its early stages of development, there is no significance to the current ordering of the patterns here. This paper presents ten of the one hundred or so patterns developed so far. Many of these patterns are listed briefly in the Thumbnail section at the end.

Journal Article
Deng Sheng-li1
TL;DR: On the basis of structuring the level model of user experience, combining the development of website's service item and the construction of website and user-oriented service organization is discussed.

Book ChapterDOI
17 Jun 2006
TL;DR: In this article, the authors introduce a new practice to eXtreme Programming (XP): developer stories and their creation process is to incorporate architectural planning to XP thus ensuring a viable architecture.
Abstract: This article introduces a new practice to eXtreme Programming (XP): Developer stories. The goal of these stories and their creation process is to incorporate architectural planning to XP thus ensuring a viable architecture. By conducting a small development project using XP, we find that establishing a viable architecture might be problematic. Arguing that architectural quality criteria in XP are traceable to traditional criteria, and by pointing to related work regarding incremental continous design, requirements management and large-scale refactorings, we find support for this claim. We proceed by describing the new practice ensuring that it embraces the values, and supports existing practices of XP.

Book ChapterDOI
Jaap Jelsma1
01 Jan 2006

Proceedings ArticleDOI
21 Apr 2006
TL;DR: HCI managers with experience in delivering user value in shipping products that make good businesses will discuss the hazards that the product development process holds, and what it takes for HCI managers to ensure that user value remains in the products throughout that process.
Abstract: HCI managers with experience in delivering user value in shipping products that make good businesses will discuss the hazards that the product development process holds, and what it takes for HCI managers to ensure that user value remains in the products throughout that process. (See also the companion panel: "Building User Value into the Business Case.").

Proceedings ArticleDOI
03 May 2006
TL;DR: This paper introduces user experience into design process by applying web technology that make designer and user co-operate on the basis of the characters of user experience and co-operative model.
Abstract: In traditional product design, designer just has user as source of design information. However, when designer misunderstands user information, he can't correct it in time. Thus it damages product seriously. To improve the accuracy of design result, it is necessary to introduce user and user experience in the whole product design process. So, in this paper, we introduce user experience into design process by applying web technology that make designer and user co-operate on the basis of the characters of user experience. Then we bring out the notion of co-operative work based on user experience and co-operative model. In the case study, we have tap's operation part as example and explain how to apply the model to product design.

Journal ArticleDOI
TL;DR: This work considers an optimal control model of extreme programming where user and developer efforts are optimally chosen during the development period to maximize net system value (system value minus user andDeveloper effort).
Abstract: Extreme programming (XP) calls for intense participation by users to ensure that systems are developed to meet current needs, yet be flexible enough to adapt to future needs [Beck, 2000]. In XP projects, it is crucial for developers to align their efforts with those of the users that are allocated to the project so that the goals of the development activity from the perspective of the organization are achieved. We consider an optimal control model of extreme programming where user and developer efforts (the control variables) are optimally chosen during the development period to maximize net system value (system value minus user and developer effort). Unlike most previous research, our problem incorporates both demand side (user value) and supply side (developer and user effort) considerations in software development.

Journal Article
TL;DR: A project which aims to address some of the challenges faced by novice programmers by providing them with an innovative learning tool, incorporating a set of Reusable Learning Objects (RLOs), based on sound pedagogical principles and encapsulated in a Constructivist Learning Environment (CLE).
Abstract: Research literature and practical experience of subject experts indicate that teaching programming to novices has proven challenging for both learner and lecturer. A number of difficulties arise when teaching novices to program. These ranges from the inadequacy of the undergraduate studentsâ?? problem-solving skills, problems with understanding programming constructs, to the complexity of the environments in which the students develop their solutions. This paper outlines a project which aims to address some of the challenges faced by novice programmers by providing them with an innovative learning tool, incorporating a set of Reusable Learning Objects (RLOs), based on sound pedagogical principles and encapsulated in a Constructivist Learning Environment (CLE). The Learning Objects will focus on the common areas of weaknesses that are determined by an Irish cross-institutional User Needs Analysis. The initial research activity was to conduct a User Needs Analysis, which was carried out in the three third level academic partner institutions and which will inform and direct the remainder of the research project. The User Needs Analysis confirmed that first year undergraduate students find programming the most challenging module they study. Programming constructs such as Arrays, Looping and Selection were shown to be the most problematic in semester one, and Methods and Polymorphism posing difficulties in semester two. Interestingly the studentsâ?? actual and perceived difficulties with the concepts were not in-line, with the students perceiving their difficulties to be less than they actually were. The students acknowledge that problem-solving abilities impacted on their performance but only 20% of students in one college admitted to thinking about their approach in designing programming solutions. The results of the User Needs Analysis directs the design and development of the RLOs and the learning tool.