OO and Agile

Agile is a methodology for software development that has become extremely popular since the new millennia. It was published as the Agile Manifesto in 2001 by 17 software engineers that gathered in Snowbird, Utah.

It has a stark contrast to the waterfall development model, where there after everything has been planned, it cannot change until the end or can do so at a very high cost.

Agile embraces change. One of the principles of Agile is to have sprints, or small windows (usually few weeks) to implement a specific feature of the system. After the sprint has started, nothing can be changed. After it ends, it can change if there’s a high priority item. Waterfall would usually take months for a change to be implemented as it would require additional planning and considerations.

As we have mentioned before, change is essential in software development and as such, a methodology that embraces it allows us to deliver better products for our users.

How it compares to OO?

Well, true Object oriented programming allows for fast changes in the code. With a high cohesion, delegation of functionality and encapsulation of objects, you don’t need to rewrite everything in the system, only the components that would be affected directly by the change.

Here’s a video that talks more about it:

Sources:

Ken’s blog at https://kenscourses.com/tc101fall2016/syndicated/object-oriented-and-agile/
http://www.drdobbs.com/architecture-and-design/oo-as-a-prerequisite-to-agile/240164883
http://www.walterbodwell.com/drupal/node/7
https://en.wikipedia.org/wiki/Agile_software_development#History

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s