Agile Anywhere: Essays on Agile Projects and Beyond

Orit Hazzan, Yael Dubinsky

Research output: Chapter in Book/Report/Conference proceedingChapter

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 languageEnglish
Title of host publicationSpringerBriefs in Computer Science
Edition9783319101569
DOIs
StatePublished - 2014

Publication series

NameSpringerBriefs in Computer Science
Number9783319101569
Volume0

Keywords

  • Abstraction
  • Agile environments
  • Agile projects
  • Cognition
  • Customer stories
  • Level of abstraction
  • Problem-solving situation

All Science Journal Classification (ASJC) codes

  • General Computer Science

Cite this