Agile methodology has taken the software development industry by storm. Everyone wants to be agile, but what does it really mean and how do you achieve agile development?
This computer science course cuts beyond the agile methodology hype and teaches you the fundamental agile concepts that span a wide range of methodologies. It analyzes the key agile ideas, their benefits, their limitations, and how best to take advantage of them to enhance your software skills and show employers that you have mastered an essential component of today's IT industry.
The course is divided into six parts:
The Agile manifesto and the context of agile methods
Agile principles: what key methodological ideas underlie the agile movement?
Agile roles: how does agile redefine traditional software jobs and tasks, in particular the manager's role?
Agile practices: what are the concrete techniques that agile teams use to apply these methods?
Agile artifacts: what practical tools are essential to the work of agile developers?
Agile assessment: among agile ideas, which ones are essentially hyped and useless, which ones are actually harmful, and which ones will truly help you effectively produce high-quality software?
Unlike many presentations of agile methods, this course takes a strictly objective view of agile methods, enabling you to retain the best agile principles and practices.
For the second run of the course we have revised the learning material and created a new final exam.
Context, the Agile Manifesto, Agile Methods, Official Agile Principles, Agile Values
Principles, the enemy: Big Upfront Anything, organizational principles, technical principles, a few method-specific principles
Roles, traditional manager roles, the three Scrum roles, other Agile roles