Extreme programming modified: embrace requirements engineering practices

Published on Jan 1, 2002
· DOI :10.1109/ICRE.2002.1048543
Jerzy Nawrocki13
Estimated H-index: 13
(PUT: Poznań University of Technology),
Michal Jasinski4
Estimated H-index: 4
(PUT: Poznań University of Technology)
+ 1 AuthorsAdam Wojciechowski10
Estimated H-index: 10
(PUT: Poznań University of Technology)
Extreme programming (XP) is an agile (lightweight) software development methodology and it becomes more and more popular. XP proposes many interesting practices, but it also has some weaknesses. From the software engineering point of view the most important issues are: maintenance problems resulting from very limited documentation (XP relies on code and test cases only), and lack of wider perspective of a system to be built. Moreover, XP assumes that there is only one customer representative. In many cases there are several representatives (each one with his own view of the system and different priorities) and then some XP practices should be modified. In the paper we assess XP from two points of view: the capability maturity model and the Sommerville-Sawyer model (1997). We also propose how to introduce documented requirements to XP, how to modify the planning game to allow many customer representatives and how to get a wider perspective of a system to be built at the beginning of the project lifecycle.
  • References (6)
  • Citations (59)
📖 Papers frequently viewed together
1 Author (Kent Beck)
4,537 Citations
1,858 Citations
3 Authors (F. Paetsch, ..., Frank Maurer)
320 Citations
78% of Scinapse members use related papers. After signing in, all features are FREE.
In response to problems experienced by the Orbix Generation 3 maintenance and enhancement team, Iona Technologies tried to introduce industry-level best practices by adopting extreme programming. The issues discussed are common for companies moving from startup mode to those supporting numerous customers in need of bug fixes and application enhancements for existing deployment scenarios.
90 CitationsSource
0 7 4 0 7 4 5 9 / 0 1 / $ 1 0 . 0 0 © 2 0 0 1 I E E E A h, Extreme Programming! It began as a kind of software counterculture collection of ideas. The subtitle of Kent Beck’s innovative book Extreme Programming Explained is Embrace Change, and Erich Gamma’s foreword to the book says “there is no doubt XP challenges some traditional big M [methodological] approaches.” But now, at least in some circles, XP is becoming the “in” way to develop software. It has evolved into a near religion, complete ...
24 CitationsSource
#1Jerzy Nawrocki (PUT: Poznań University of Technology)H-Index: 13
#2Bartosz Walter (PUT: Poznań University of Technology)H-Index: 12
Last. Adam Wojciechowski (PUT: Poznań University of Technology)H-Index: 10
view all 3 authors...
Extreme programming (XP) is a lightweight software development methodology. It attracts attention of many software development teams and its popularity is growing very fast. A part of success comes from interesting composition of programming practices included in XP. But what particularly appeals to programmers and makes XP especially interesting to them is resignation of inspection meetings, thick documentation etc. Many people do not understand XP and they find XP a good excuse for not using a...
39 CitationsSource
#1Laurie Williams (NCSU: North Carolina State University)H-Index: 51
#2Robert R. Kessler (UofU: University of Utah)H-Index: 15
Last. R. Jeffries (ACM: Association for Computing Machinery)H-Index: 1
view all 4 authors...
The software industry has practiced pair programming (two programmers working side by side at one computer on the same problem) with great success for years, but people who haven't tried it often reject the idea as a waste of resources. The authors demonstrate that using pair programming in the software development process yields better products in less time-and happier, more confident programmers.
612 CitationsSource
#1John T. Nosek (TU: Temple University)H-Index: 12
297 CitationsSource
Cited By59
#1Juliana MedeirosH-Index: 3
Last. Miguel Goulão (NOVA: Universidade Nova de Lisboa)H-Index: 14
view all 4 authors...
Abstract Context An inadequate requirements specification activity acts as a catalyst to other problems, such as low team productivity and difficulty in maintaining software. Although Agile Software Development (ASD) has grown in recent years, research pointed out several limitations concerning its requirements engineering activities, such as Software Requirements Specification (SRS) provided in high level and targeted to the customer, lack of information required to perform design activities an...
Requirements Engineering (RE) focuses on methods, concepts, and techniques to effectively capture the desired functionality and qualities of systems. RE content is typically taught as part of a Software Engineering (SE) higher education curriculum. With the rise of agile software development methods, one can argue that the use of RE practices in industry is de-emphasized and decreasing. However, many of the techniques and conceptualizations which are part of an RE curriculum can be used in an it...
#1Srdjana DragicevicH-Index: 3
#2Stipe Celar (University of Split)H-Index: 4
Last. Mili TuricH-Index: 2
view all 3 authors...
Our Bayesian network model for effort prediction is suitable for any agile method.It is simple and small, with inputs that can be easily gathered.It has no practical impact on agility.The proposed model can be used during the early software project planning stage.The obtained results indicate a very good prediction accuracy. Even though the use of agile methods in software development is increasing, the problem of effort estimation remains quite a challenge, mostly due to the lack of many standa...
11 CitationsSource
Abstract This paper reviews different Cloud computing and agile development methodologies with new technologies that have come with new approaches. In the future, we can develop better quality software and can also provide computing services. However, the synergy between the two is bonded with technical and non-technical challenges. Agile methodologies are considered very competent in software development. Agile development techniques are very practical for accepting information and are necessar...
8 CitationsSource
#1Fernando Selleri Silva (UFPE: Federal University of Pernambuco)H-Index: 3
#2Felipe Santana Furtado Soares (UFPE: Federal University of Pernambuco)H-Index: 5
Last. Silvio Romero de Lemos Meira (UFPE: Federal University of Pernambuco)H-Index: 23
view all 7 authors...
Abstract Background The search for adherence to maturity levels by using lightweight processes that require low levels of effort is regarded as a challenge for software development organizations. Objective This study seeks to evaluate, synthesize, and present results on the use of the Capability Maturity Model Integration (CMMI) in combination with agile software development, and thereafter to give an overview of the topics researched, which includes a discussion of their benefits and limitation...
57 CitationsSource
Jan 1, 2015 in HICSS (Hawaii International Conference on System Sciences)
#1Nicholas Berente (UGA: University of Georgia)H-Index: 15
#2Sean Hansen (RIT: Rochester Institute of Technology)H-Index: 11
Last. Christoph Rosenkranz (University of Cologne)H-Index: 13
view all 3 authors...
Information systems development methodologies are appropriated differently by different organizations. Drawing on an institutional logics perspective, we offer one explanation for rule differences across contexts. Variations in the local appropriation of ISD methods, and the ways rules are formed and changed, reflect the "institutional logics" of the particular context. In this study of three roughly equivalent agile ISD projects in different contexts (start up, consulting, and infrastructure), ...
2 CitationsSource
#1Manvisha Kodali (MDH: Mälardalen University College)
Incomplete and incorrect requirements might lead to sub-optimal software products, which might not satisfy customers’ needs and expectations. Software verification and validation is one way to ensure that the software products meets the customers’ expectations while delivering the correct functionality. In this direction, the establishment and the maintenance of traceability links between requirements and test cases have been appointed as promising technique towards a more efficient software ver...
#1Larissa Fernandes Chagas (UFPA: Federal University of Pará)H-Index: 3
#2Daniel Dias de Carvalho (UFPA: Federal University of Pará)H-Index: 3
Last. Carla Alessandra Lima Reis (UFPA: Federal University of Pará)H-Index: 5
view all 4 authors...
Popularity of Agile Methods is growing up and along with this popularity is also growing the interest in adopting these methods in conjunction with maturity models, like CMMI. Dozens of reports about this topic can be found with different results. Therefore, a Systematic Literature Review was conducted with the goal of identifying characteristics of agile project management in organizations using agile methods and maturity models. We accepted 34 primary studies published from 2001 to 2013. The r...
7 CitationsSource
view all 3 authors...
3 CitationsSource
Jun 2, 2014 in ICSE (International Conference on Software Engineering)
#1Olga Liskin (Leibniz University of Hanover)H-Index: 8
#2Kurt Schneider (Leibniz University of Hanover)H-Index: 23
Last. Jürgen Münch (UH: University of Helsinki)H-Index: 26
view all 4 authors...
User stories are a well-established way to record requirements in agile projects. They can be used as such to guide the daily work of developers or be split further into tasks, which usually represent more technical requirements. User stories and tasks guide communication and collaboration in software projects. However, there are several challenges with writing and using user stories in practice that are not well documented yet. Learning about these challenges could raise awareness for potential...
6 CitationsSource