Agile, its flavors, and OO.

Object-oriented programming started in the 1960’s with Simula, it was followed by Smalltalk and later by C++ and Java. Object-oriented programming promotes coding in ways that were not possible with procedural programming, allowing for more maintainable projects. Agile programming is also really old. Scrum started in the 1980s and extreme programming and other variants started in the 1990s. However, the important moment for agile development was in 2001 when the Agile Manifesto was written.

Agile development works really well for large scale projects. However, agile development can be misused the same way object-oriented programming can. Just because you are using an object-oriented program doesn’t mean that you are using an object-oriented approach. In the same way, just because you are having regular meetings and stand ups doesn’t mean that you are doing agile development.    The procedure has to be done right if you want to reap the benefits of agile.

One flavor of agile development is extreme programming, which focuses on small, iterative and frequent releases throughout the whole process. Extreme programming is based on five core values.

  1. Simplicity: we will only do what was asked for, nothing more. This will greatly reduce the complexity of the project.
  2. Communication: the members of the team interact face-to-face and have meeting regularly.
  3. Feedback: since new releases are being made constantly, the feedback from these releases must be used to improve the project as a whole. The team will adapt to this feedback, even if large changes are needed.
  4. Respect: every member of the team is important and deserves respect. Even the customer deserves respect.
  5. Courage: the truth will always be told regarding estimates of cost and time. Also, there will be no excuses for failure.

The general process and flow of extreme programming can be seen in the following image.

extreme-programming

Image source

Another flavor of agile is Scrum, which aims to add new functionalities to the software every 2-4 weeks. One of the main reasons to use scrum is because information is transparent, team members can acapt based on current conditions rather than predicted conditions. Also, Scrum is very scalable, more so than other agile development variations.

The scrum framework | Atlassian Agile Coach

Image source

Object-oriented is closely related to agile development since they both break down the project into smaller parts. With agile, you will be able to release prototypes constantly and get feedback from them. There are many flavors of agile and some of them may adapt more easily to your project.

Leave a comment

Design a site like this with WordPress.com
Get started