Abstract
Abstraction is a cognitiveCognition means according to which, in order to overcome complexity at a specific stage of a problem-solving situation, we concentrate on the essential features of our subject of thought, ignoring irrelevant details (Devlin 2003; Kramer 2007). Abstraction is especially important in solving complex problems as it enables the problem solver to think in terms of conceptual ideas rather than in terms of their details. Though abstraction is a useful tool, it is not always used. Sometimes, it is just too difficult to think abstractly; in other cases, abstraction is not utilized due to lack of awareness to its significance and its potential contribution to problem-solving processes. This chapter describes how abstraction is expressed and encouraged in agile environments. Further, since abstraction can be addressed on different levels,Abstractionlevels the shift between different levels of abstraction can also support problem-solving processes. However, the knowledge of how and when to move between different levels of abstraction does not always come naturally, and requires some awareness. We discuss abstraction as it is manifested, either explicitly or implicitly, in agile environments in general and, for illustration, in software projects.
Original language | English |
---|---|
Title of host publication | SpringerBriefs in Computer Science |
Publisher | Springer |
Pages | 53-55 |
Number of pages | 3 |
Edition | 9783319101569 |
DOIs | |
State | Published - 2014 |
Externally published | Yes |
Publication series
Name | SpringerBriefs in Computer Science |
---|---|
Number | 9783319101569 |
Volume | 0 |
ISSN (Print) | 2191-5768 |
ISSN (Electronic) | 2191-5776 |
Bibliographical note
Publisher Copyright:© 2014, The Author(s).
Keywords
- Abstraction
- Agile environments
- Agile projects
- Cognition
- Customer stories
- Level of abstraction
- Problem-solving situation
ASJC Scopus subject areas
- General Computer Science