This book presents a complete software engineering course from the agile approach in a holistic and comprehensive learning environment that fits both industry and academia.
Summary
Title: Agile Software Engineering
Author: Orit Hazzan, Yael Dubinsky
Themes: Agile, Career, Cases, Technology, Management, Business
Year: 2009
Publisher: Springer Science & Business Media
ISBN: 1848001991, 9781848001992
Pages: 296
Agile Software Engineering, written by Orit Hazzan and Yael Dubinsky, provides a comprehensive and practical introduction to agile principles and their application in software engineering.
The authors outline the key principles of Agile software engineering, explain how to effectively use Agile techniques and tools to increase the speed and quality of development, and demonstrate how to ensure team alignment and success.
They also explain and analyze how the explicit attention that agile software development gives these perspectives and their interconnections, helps it cope with the challenges of software projects.
Overview and Goals The agile approach to software development has been applied more and more extensively since the mid-nineties of the 20th century.
This multifaceted perspective on software development processes is reflected in this book, among other ways, by the chapter titles, which specify dimensions of software development projects such as quality, time, abstraction, and management, rather than specific project stages, phases, or practices.
My Book Highlights:
"... The agile approach in a holistic and comprehensive learning environment that fits both industry and academia..."
Agile software engineering is reviewed in this book through the following three perspectives:
- The Human perspective, includes cognitive and social aspects and refers to learning and interpersonal processes between teammates, customers, and management.
- The Organizational perspective, which includes managerial and cultural aspects, refers to software project management and control.
- The Technological perspective, which includes practical and technical aspects, refers to the design, testing, and coding, as well as to integration, delivery, and maintenance of software products.
The book is based on the authors’ comprehensive experience of teaching and implementing agile software development over the past six years.
A course on agile software engineering has been shaped during these years, in an iterative process that was accompanied by an ongoing research project.
This course is presented in this book. In parallel to the course creation and shaping process, the agile approach has emerged and spread, becoming one of the worldwide mainstream approaches for software project management.
Chapters of the Book:
Chapter 1: Introduction to Agile Software Development
1.1 Overview
1.2 Objectives
1.3 Study Questions
1.4 Three Perspectives on Software Engineering
1.5 The Agile Manifesto
1.6 Application of Agile Software Development
1.7 Data About Agile Software Development
1.8 Agile Software Development in Learning Environments
1.9 Summary and Reflective Questions
1.10 Summary
Chapter 2: Teamwork
2.1 Overview
2.2 Objectives
2.3 Study Questions
2.4 A Role Scheme in Agile Teams
2.5 Dilemmas in Teamwork
2.6 Teamwork in Learning Environments
2.7 Concluding Reflective Questions
2.8 Summary
Chapter 3: Customers and Users
3.1 Overview
3.2 Objectives
3.3 Study Questions
3.4 The Customer
3.5 The User
3.6 Customers and Users in Learning Environments
3.7 Summary and Reflective Questions
3.8 Summary
Chapter 4: Time
4.1 Overview
4.2 Objectives
4.3 Study Questions
4.4 Time-Related Problems in Software Projects
4.5 Tightness of Software Development Methods
4.6 Sustainable Pace
4.7 Time Management of Agile Projects
4.8 Time in Learning Environments
4.9 Summary and Reflective Questions
4.10 Summary
Chapter 5: Measures
5.1 Overview
5.2 Objectives
5.3 Study Questions
5.4 Why Are Measures Needed?
5.5 Who Decides What Is Measured?
5.6 What Should Be Measured?
5.7 When Are Measures Taken?
5.8 How Are Measures Taken?
5.9 Who Takes the Measures?
5.10 How Are Measures Used?
5.11 Case Study
5.12 Measures in Learning Environments
5.13 Summary and Reflective Questions
5.14 Summary
Chapter 6: Quality
6.1 Overview
6.2 Objectives
6.3 Study Questions
6.4 The Agile Approach to Quality Assurance
6.5 Test-Driven Development
6.6 Measured TDD
6.7 Quality in Learning Environments
6.8 Summary and Reflective Questions
6.9 Summary
Chapter 7: Learning
7.1 Overview
7.2 Objectives
7.3 Study Questions
7.4 How Does Agile Software Development Support Learning Processes?
7.5 Learning in Learning Environments
7.6 Summary and Reflective Questions
7.7 Summary
Chapter 8: Abstraction
8.1 Overview
8.2 Objectives
8.3 Study Questions
8.4 Abstraction Levels in Agile Software Development
8.5 Abstraction in Learning Environments
8.6 Summary and Reflective Questions
8.7 Summary
Chapter 9: Trust
9.1 Overview
9.2 Objectives
9.3 Study Questions
9.4 Software Intangibility and Process Transparency
9.5 Game Theory Perspective in Software Development
9.6 Ethics in Agile Teams
9.7 Diversity
9.8 Trust in Learning Environments
9.9 Summary and Reflective Questions
9.10 Summary
Chapter 10: Globalization
10.1 Overview
10.2 Objectives
10.3 Study Questions
10.4 The Agile Approach in Global Software Development
10.5 Application of Agile Principles in Non-Software Projects
10.6 Globalization in Learning Environments
10.7 Summary and Reflective Questions
10.8 Summary
Chapter 11: Reflection
11.1 Overview
11.2 Objectives
11.3 Study Questions
11.4 Case Study
11.5 Reflective Practitioner Perspective
11.6 Retrospective
11.7 Reflection in Learning Environments
11.8 Summary and Reflective Questions
11.9 Summary
Chapter 12: Change
12.1 Overview
12.2 Objectives
12.3 Study Questions
12.4 A Conceptual Framework for Change Introduction
12.5 Transition to an Agile Software Development Environment
12.6 Change in Learning Environments
12.7 Summary and Reflective Questions
12.8 Summary
Chapter 13: Leadership
13.1 Overview
13.2 Objectives
13.3 Study Questions
13.4 Leaders
13.5 Coaches
13.6 Leadership in Learning Environments
13.7 Summary and Reflective Questions
13.8 Summary
Chapter 14: Delivery and Cyclicality
14.1 Overview
14.2 Objectives
14.3 Study Questions
14.4 Delivery
14.5 Cyclicality
14.6 Delivery and Cyclicality in Learning Environments
14.7 Summary and Reflective Questions
14.8 Summary.
Agile Software Engineering is an essential guide for anyone looking to successfully implement Agile principles and practices.
By understanding the key principles of Agile software engineering and applying the best practices outlined in the book, readers can quickly and successfully implement an Agile process and optimize the speed and quality of software engineering.
Orit Hazzan has joined the Technion in October 2000. Her research focuses on computer science and software engineering education. Within this framework, she researches cognitive and social processes at the individual, the team, and the organization levels, in high schools and software organizations.
Yael Dubinsky is Ph.D. in Technology and Science from Israel Institute of Technology and is currently Development Manager at the Kinneret Innovation Center
I am incredibly grateful that you have taken the time to read this post.
Your support and engagement mean the world to me, and I truly appreciate your interest in the topics I write about.
I hope that you have found this post informative, educational and engaging.
If you are interested in reading more of my work, please visit other articles here on the website.
I promise to continue providing valuable and high-quality content for your enjoyment and education.
Thank you again for reading and I hope to see you soon!
Here are some related articles you may enjoy:
There are even more good things I've prepared for you!
Subscribe below or click here to receive new posts in your Email!
Do you want to read some book notes and recommendations? Discover more here!
Do you want to have amazing weekly content curation? Discover more here!
Ready to make a positive impact?
Support my work by sharing my content with your network.
Your simple act of kindness can reach new heights and help spread valuable information.
Want to show your support in a tangible way? A virtual coffee is a small but mighty way to show your appreciation and give me the extra energy to keep crafting valuable content!