Book contents
- Frontmatter
- Contents
- Acknowledgments
- Foreword
- Preface
- About the Author
- Chapter 1 Leading-Edge Software Development
- Chapter 2 Understanding the Basics–Object-Oriented Concepts
- Chapter 3 Full Lifecycle Object-Oriented Testing (FLOOT)
- Chapter 4 Agile Model–Driven Development (AMDD)
- Chapter 5 Usage Modeling
- Chapter 6 User-Interface Development
- Chapter 7 Supplementary Requirements
- Chapter 8 Conceptual Domain Modeling
- Chapter 9 Business Process Modeling
- Chapter 10 Agile Architecture
- Chapter 11 Dynamic Object Modeling
- Chapter 12 Structural Design Modeling
- Chapter 13 Object-Oriented Programming
- Chapter 14 Agile Database Development
- Chapter 15 Where to Go from Here
- Glossary
- References and Recommended Reading
- Index
Chapter 4 - Agile Model–Driven Development (AMDD)
Published online by Cambridge University Press: 03 March 2010
- Frontmatter
- Contents
- Acknowledgments
- Foreword
- Preface
- About the Author
- Chapter 1 Leading-Edge Software Development
- Chapter 2 Understanding the Basics–Object-Oriented Concepts
- Chapter 3 Full Lifecycle Object-Oriented Testing (FLOOT)
- Chapter 4 Agile Model–Driven Development (AMDD)
- Chapter 5 Usage Modeling
- Chapter 6 User-Interface Development
- Chapter 7 Supplementary Requirements
- Chapter 8 Conceptual Domain Modeling
- Chapter 9 Business Process Modeling
- Chapter 10 Agile Architecture
- Chapter 11 Dynamic Object Modeling
- Chapter 12 Structural Design Modeling
- Chapter 13 Object-Oriented Programming
- Chapter 14 Agile Database Development
- Chapter 15 Where to Go from Here
- Glossary
- References and Recommended Reading
- Index
Summary
Are you agile or are you fragile?
Modeling and documentation are critical aspects of any software project. Modeling is the act of creating an abstraction of a concept, and documentation is a permanent record of information. In traditional software processes, such as the IEEE 12207 (http://www.ieee.org), modeling is included as one or more serial phases. Modern prescriptive processes, such as the rational unified process (RUP) (Kruchten 2000) or the enterprise unified process (EUP) (http://www.enterpriseunifiedprocess.info), which describe in specific detail the activities required to develop software, include modeling disciplines that you work through in an evolutionary manner. Agile software processes, such as feature-driven development (FDD) (Palmer and Felsing 2002) and extreme programming (XP) (Beck 2000), also include evolutionary modeling efforts, although in FDD, modeling is an explicit activity, whereas in XP it is implicit. The point is that modeling and documentation are important parts of software development, so it makes sense to want to be as effective and efficient at it as possible.
This chapter describes agile model–driven design (AMDD), an approach to software development where your implementation efforts are guided by agile models that are just barely good enough. This chapter addresses the following topics:
Modeling philosophies;
Project stakeholders;
What is agile modeling (AM)?;
The values of AM;
The principles of AM;
The practices of AM;
Easing into agile modeling;
Agile model–driven development (AMDD);
Fundamental information gathering skills;
Agile documentation;
Making whiteboards work for software development;
AMDD and other agile methodologies; and
AMDD and test-driven development (TDD).
- Type
- Chapter
- Information
- The Object PrimerAgile Model-Driven Development with UML 2.0, pp. 101 - 133Publisher: Cambridge University PressPrint publication year: 2004
- 2
- Cited by