Agile methods

These videos support the material in Chapter 3 in the 10th edition of Software Engineering. My videos are starred (*).

Introducing agile development


What is agile development (Part 1): What is Agile Development ;

What is agile development (Part 2): An Agile Project Case Study  ;

These are a nicely presented introduction to agile development intended for beginners in this area.

Genesis Consulting: Agile vs Waterfall

An excellent short video that discusses factors to be considered in deciding if an agile development approach should be adopted.

User stories


User stories (*)

In this video, I explain how informal user stories can be used both as a general mechanism to get people to talk about their system requirements and more specifically in agile processes to describe system requirements.

Extreme programming


The Strengths and Weaknesses of Extreme Programming

This is a good summary of what’s good and bad about XP. I suspect the presenter has tried XP and has not had entirely positive experiences.

Test-driven development

A good short video that introduces the practice of test-driven (test-first) development that first gained wide exposure when used in extreme programming.

Scrum


Scrum 101: Part 1 – Scrum Basics ;

Scrum 101: Part 2 – The Scrum process ;

Scrum 101: Part 3 – Scrum values ;

Scrum 101: Part 4 – Scrum teams

This is a series of videos on the Scrum agile method. The presentation is a bit dull but it is a useful introduction to the approach. Parts 1 and 2 are the most helpful. ### Scaling agile methods

Scaling agile methods  (*)

This video (1 of 2) I introduce the difficulties that we encounter when we try to scale agile methods for use with large systems and across organizations.

Agile methods for large systems  (*)

In this video (2 of 2), I discuss some of the characteristics of large systems, such as brownfield development and complex procurement, and explain why agile methods have to be integrated with plan-based approaches to cope with these.