This guide provides a structured overview of agile software development, designed for professionals involved in software project management and modern software engineering.
The book begins with the fundamentals of establishing an agile culture, covering principles of team collaboration, fostering accountability and trust, and constructively handling errors. It details how to formulate a clear product vision, derive measurable business goals, and prioritize requirements based on business value. Furthermore, it presents various procedural models, including practical applications of Scrum elements,the implementation of Kanban for a continuous flow, and hybrid approaches for specific project contexts.
The second section focuses on the practical application of agile software project management. It outlines the roles and responsibilities within the team, such as the Product Owner, the development team, and the process facilitator. The execution of agile ceremonies like cycle planning, daily synchronization, and retrospectives for process improvement is explained. It also addresses the handling of work artifacts, including the maintenance of the product backlog and the creation of user stories.
Technical excellence in software engineering is another core area. The text covers principles of software architecture, such as designing evolutionary and maintainable architectures and selecting appropriate architectural patterns for scalability. It discusses software design practices, including the application of design patterns and writing clean, readable source code. Quality assurance is addressed through topics like implementing an automated testing strategy and using tools for static code analysis.
Finally, the book explores continuous improvement and delivery. It describes methods for integrating user feedback, analyzing usage data for product optimization, and guiding further development through validated learning. The automation of software delivery is detailed, from building a continuous integration pipeline to strategies for continuous deployment and infrastructure as code. The guide concludes with considerations for scaling agile methods, including coordinating multiple teams and maintaining an agile culture in growing organizations.