Agile Requirements Engineering with Prototyping: a Case Study

Agile Requirements Engineering with Prototyping: a Case Study

Agile Requirements Engineering with Prototyping: A Case Study Marja Käpyaho Marjo Kauppinen Aalto University School of Science, Futurice Oy Aalto University School of Science Finland Finland marja.kapyaho@iki.fi marjo.kauppinen@aalto.fi Abstract—The rise of agile software development methods has on determining a set of requirements in a separate phase led to the abandonment of many traditional practices especially before starting actual software design and development [5]. in requirements engineering (RE). Agile RE is still a relatively The iterative and less formal approach of agile methods is quite new research area and the growing use of agile methods in large projects is forcing companies to look for more formal practices different and combining traditional RE with agility has gained for RE. This paper describes experiences gained from a case much interest in recent years. Research on agile RE reveals study of a large agile project. The goal of this case study was that companies have already adapted many traditional practices to explore how prototyping can solve the challenges of agile to better suit the agile workflow. One of these is prototyping, RE. Our findings indicate that while prototyping can help with which is seen as a good way to gain better communication some challenges of agile RE such as lack of documentation, motivation for RE work and poor quality communication, it also between various stakeholders [6, 7]. needs complementary practices to reach its full potential. These However, as far as we know, there are no comprehensive practices include reviewing the big picture regularly, keeping studies on prototyping with agile software development. Further- track of quality requirements, and using ATDD (Acceptance Test more, Cao and Ramesh [6] point out that little is known about Driven Development). how real agile projects conduct RE. There have been studies Index Terms: agility, requirements engineering, prototyping, RE on the special characteristics of agile RE that also address process, good practices possible challenges [6, 7, 5]. The goal of our case study was to investigate how prototyping can solve these challenges of agile I. INTRODUCTION RE. The case study focused on user interface (UI) prototyping. Agile software development methods have become increas- In the next section, we describe challenges of agile RE ingly popular in the past decade by claiming lower costs, better based on existing literature. We also provide more background productivity, better quality and better customer satisfaction [1]. by presenting related work on the topics of agile RE and According to Savolainen et al. [2], the promises of improved prototyping. Section III describes the case study and Section IV efficacy have led to a wide adoption of agile development presents the most important results. In Section V, we compare practices. The advocates of agile philosophy see traditional these results to the findings from literature. Finally, Section VI software development methods as too rigid in today’s highly presents conclusions on this study and proposes some future dynamic environment since they rely more on pre-defining research topics. customer requirements and are less flexible in adapting to change. It is attitudes towards RE that most differentiate agile II. RELATED WORK and more traditional philosophies [3]. Findings from literature show agile projects to have many RE Although the industry has seen some improvements in problems that are inherent in project work. Handling changes software project success rates after the adoption of agile and ensuring there is enough communication are some of the practices [4], the number of the projects successfully utilizing challenges faced in most projects. However, agile principles, in these approaches is still quite small. According to the CHAOS an effort to flexibly guarantee meeting customer needs, do bring report in 2011 [4], the size of a software project is still a better out some challenges of their own. On the other hand, research predictor of success than the type of method used. Today, on prototyping has quite old roots but there is surprisingly little as more and more complex software is developed with agile research on combining it with agile approaches. This section methods, it is becoming challenging to rely so heavily on presents an overview of the current state of research on both face-to-face communication. According to Savolainen et al. agile RE and prototyping. [2], companies adopting agile practices tend to first minimize processes to near zero before realizing that large-scale use of A. Agile RE agile methods requires practices not so different from traditional Software engineering methodologies can be crudely divided ones. into two categories: classical and agile [3]. These two schools Combining more traditional RE practices with agile methods of thought have been seen as conflicting partly because agile can be an interesting endeavour. Traditional RE puts emphasis software engineering was originally developed to solve the RE 2015, Ottawa, ON, Canada 978-1-4673-6904-6/15/$31.00 c 2015 IEEE 334 Industry Paper 52 problems of its classical counterpart and therefore its rise unanimous definition for agile RE, research does offer some has demanded abandoning belief in the old way of doing common characteristics of agile RE such as heavy reliance things. However, in their comprehensive study of the history on face-to-face communication, requirements activities and of software engineering Jiang and Eberlein [3] found that, in design that are carried out iteratively throughout the project the end, classical and agile philosophies actually share a lot of and continuous requirements prioritization. Other characteristics the main principles like good customer communication and the that come up are the use of prototyping or other modeling to importance of competent developers. Similarly, Savolainen et al. make sense of requirements, test driven development (TDD) [2] studied large-scale adaptation of agile methods and stated to ensure quality and review meetings and acceptance testing that although at first development teams enjoyed the freedom to ensure the right direction. All of these characteristics also from traditional processes, later they found that they had to contain some inherent challenges which are discussed further re-adopt many techniques similar to traditional approaches. in the next section. In the end, it is actually attitudes towards RE that separate the schools of thought the most [3]. According to Paetsch B. Challenges in Agile RE et al. [7] RE is a traditional software engineering process According to Fancott et al. [11], agile RE has traditionally with the goal to identify, analyze, document and validate relied largely on conversations and implicit knowledge of requirements for the system to be developed. Traditionally, the stakeholders. However, these non-rigorous means do not RE has relied heavily on documentation and has aimed to necessarily scale as well to the current environment of industrial find out a reasonable set of requirements in a separate phase software development [11]. To reach a better understanding of before starting development to decrease the risk of costly the problems of agile RE, we selected three studies (Cao and changes later. As Cao and Ramesh [6] emphasize, the business Ramesh [6], Bjarnason et al. [5], Paetsch et al. [7]) and tried to environment where most companies these days operate is very identify and categorize common agile RE challenges. In Table I dynamic and this can lead to big challenges with traditional you can find summaries of the biggest challenges identified approaches. Requirements are changing rapidly and can be by these studies. The grouping of the challenges shows that hard to define in advance. Defining requirements too early can the most discussed challenges have to do with communication, lead to obsolete specifications and ultimately to software that lacking documentation, neglecting quality requirements and doesn’t meet customer needs. Also, as Waldmann [8] concludes, not understanding the big picture. Other issues have to do with in real projects we usually have limited time and resources motivating the team for RE and quality work, and problems for RE activities. This means that even if we could identify with prototyping in particular. Below you can find more detailed everything in advance, it is usually not feasible. In practice descriptions of each problem area. many researchers have come to the conclusion that continuous Managing with very little documentation and specifica- requirements change is simply inevitable [9]. tions A challenge closely related to communication is the lack Solutions to many problems with the traditional planning of comprehensive documentation in agile projects. According to driven models have been sought in agile software development Cao and Ramesh [6], the customer may have difficulties to trust methods [8, 2]. After all, agile methods were developed to the agile process if they have no tangible requirements to look adapt and thrive on change [7]. However, agile development through. Also Paetsch et al. [7] note that lack of documentation has had a complex relationship with traditional RE and some may also become a problem with staff changes during the agile communities have seen traditional RE as artificial and not project or when the software transfers to maintenance. addressing true software development problems [2]. This leads Motivation issues related to RE work Keeping any over- to question how RE should be carried out in agile projects. The head documentation up to date can be a daunting task for many answer to some extent is included in the methods themselves. teams. In the case studied by Bjarnason et al. [5], user stories Fowler and Highsmith [10] note that in agile methods, design and automated acceptance tests were used because writing is mostly a continuous activity and that the processes assume automated test cases was believed to be more motivating than and even encourage the alteration of requirements during the writing pure documentation. According to Cao and Ramesh entire project.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    10 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us