The Motion Studio has specialized in training and coaching Agile techniques. Agile is the name for a large collection of modern project management methods. Amongst these are Scrum, eXtreme Programming, Crystal Clear and Feature Driven Development.
Nowadays there are many different Agile methodologies. All of these have a couple of things in common. In 2001 a number of leading software developers (Amongst which where Kent Beck, Mike Beedle, Martin Fowler, Ken Swaber and Jeff Sutherland) came together to write twelve principles which would improve the software development processes. These principles are used in many software development methodologies.
Scrum is a popular and well-tried Agile method. It finds it’s origine in a research published in 1986, to improve the production process at Toyota’s car manufacturing plant. From this research Jeff Sutherland and Ken Swaber created the Scrum methodology. Scrum focuses mainly on the management of software development projects in a quickly changing environment. It’s main characteristics are small (5 – 9 persons) self organizing development teams that implement and deliver requested functional features in short iterations (Sprints). All functionalty to be implemented is kept in a single prioritized list (the Backlog). At the end of each Sprint a fully working application is delivered. In the so called Sprint demo this is presented to the customer and together with the customer a new set of features is chosen to implement during the next Sprint. The advantage is that this method can easily handle changing features and requests during the project. This offers the customer much freedom and many possibilities to adjust the project.
Another much used Agile method is eXtreme Programming or XP. Where Scrum focuses mainly on the project process, XP focuses on the development process itself. It hands the programmers many principles to improve the development process. It uses Test Driven Development (TDD) where programmers first design a (unit)test before he or she writes the actual code. The Keep It Simple principle ensures that no features are built that are not requested at that moment. Research shows that 45% of all features (at the start of the project) is not neccessary at the end. The term YAGNI (You Aint Gonna Need It) is much used in eXtreme Programming projects.
Because both Agile methodologies Scrum and eXtreme Programming focus on different parts of the development process, they can be easily combined.