Agile software development
Agile software development is an iterative approach that delivers software incrementally through collaboration, feedback, adaptive planning, and responsiveness to change.
Lead Developer Career Guide
A software development practice based on iterative delivery, continuous feedback, and adaptation to change.
- How it is used
- Organizes software project work around incremental delivery, collaboration, customer feedback, and adaptation to changing requirements.
- How deep it goes
- Defines agile, outlines Scrum roles and activities and Kanban flow, and compares waterfall; stops short of a detailed implementation procedure.
- Examples
- Uses omitted Scrum reviews and retrospectives, a difficult waterfall-to-agile transition, and client budget decisions as workplace examples.
- What you can do after
- Practice/perform it by preserving feedback activities and proposing specific process improvements when a team’s agile routines fall short.
Read how Lead Developer Career Guide explains agile software development →
Delivering Machine Learning Projects: From design to deployment
Agile development is an iterative software development approach emphasizing early delivery, customer collaboration, and responsiveness to change.
- How it is used
- Organizes adaptive delivery of machine learning projects into agreed work, checkpoints, and documentation.
- How deep it goes
- Defines agile’s aims and gives practical sprint artifacts, while leaving the choice of day-to-day method to the team and its constraints.
- Examples
- Uses a running Bike Shop project and the possibility of hardware experiments to illustrate project work and newly discovered tasks.
- What you can do after
- Practice/perform sprint-based work using backlogs and end-of-sprint checklists, while adapting plans when tasks overflow or new work appears.
Think Like a CTO
An iterative development and project-management approach that delivers work in small increments and adapts plans based on feedback and changing requirements.
- How it is used
- Organizes a defined development outcome into smaller tasks to help manage uncertain project timelines.
- How deep it goes
- Explains the project-planning trade-off with waterfall and notes smaller components, without specifying an agile framework or iteration procedure.
- Examples
- Uses a customer-intake modernization project to distinguish its stated outcome from the tasks needed to reach it.
- What you can do after
- Practice/perform project breakdown by defining an outcome, dividing work into smaller components, and tracking task status.
Read how Think Like a CTO explains agile software development →
Collaborative Software Design: How to facilitate domain modeling decisions
Agile software development is an iterative approach to software development that emphasizes collaboration, feedback, adaptability, and incremental delivery.
- How it is used
- Uses incremental delivery and user feedback to guide software development while exposing the organizational conditions needed for genuine agility.
- How deep it goes
- Explains incremental delivery, collaboration, and Agile theater through consequences, but stops short of prescribing a specific framework or workflow.
- Examples
- Uses BigScreen’s refactoring conflict, neglected architecture, interconnected codebase, and delivery-process comparison as teaching examples.
- What you can do after
- Evaluate whether Agile adoption changes organizational decision-making or merely accelerates development within a waterfall structure.
Build Financial Software with Generative AI (From Scratch)
Agile is an iterative software-development approach that emphasizes incremental delivery, collaboration, and adaptation to changing requirements.
- How it is used
- Uses short development cycles to organize an ACH project within a large FinTech delivery process.
- How deep it goes
- Defines program increments, sprints, epics, and user stories, but does not detail Agile ceremonies or engineering practices.
- Examples
- Uses an ACH project that progresses from file processing to APIs and a user interface.
- What you can do after
- Apply it via SAFe planning to divide FinTech work into timeboxed increments, sprints, epics, and user stories.
Related concepts
- waterfall methodologycontrasts with · Waterfall methodology is a software development approach that organizes work into predominantly linear, sequential phases, with limited iteration between them.
- continuous improvementuses · Continuous improvement is an ongoing process of evaluating outcomes and making successive changes to improve a system, process, or result.
- behavior-driven developmentincludes · Behavior-driven development is a collaborative software practice that specifies and validates expected behavior through human-readable examples meaningful to technical and nontechnical stakeholders.
These guides are generated from the text of Manning books by Manning's knowledge graph and link to the sections they draw on. The full books are available on liveBook and at manning.com.




