Showing posts with label Agile Software. Show all posts
Showing posts with label Agile Software. Show all posts

Thursday, November 22, 2007

Agile Management for Software Engineering






















I have completed reading a few chapters of the book: Agile Management for Software Engineering by David J. Anderson. The book tries to apply the Theory of Constraints (TOC) approach to software engineering.

TOC is based on the notion that "A value chain is as strong as its weakest link". It recommends that the weakest link is identified and exploited.

Thursday, November 8, 2007

More Thoughts on Balancing Agility and Discipline in Software Projects




The book Balancing Agility and Discipline tries to find a common ground between agile and plan-driven method. The book uses the work 'Discipline' to refer to plan-driven approaches. Its implication that the agile methods lack discipline has not been accepted by the agile community.

Here's a review of the book by Ron Jeffries of XP fame.

Saturday, November 3, 2007

Balancing Agility and Discipline in Software Projects



























I have been an advocate of agile software development methodologies since 2001. Over the years, I have managed many projects using Extreme Programming and have observed my colleagues manage projects using agile and XP.

I came to notice that agile methodologies, offer no silver bullet to software engineering. One of the main risks of agile methodologies is the assumption that the customer will play a major role in the project by working closely together with the team. However, in practice, I have seen many situations where the customer is not willing to spend the effort of working together with the project team to make the project a success. I have also seen instances where the customer took advantage of the agility to push for more requirements into the project. These issues may not happen with all customers but these risks cannot be ignored (especially in some cultures).

I've started reading the book "Balancing Agility and Discipline" by Barry Boehm and Richard Turner. I'm into the second chapter, and already I am beginning to like this book. The book tries to find a middle path between agile and plan-driven software development. This is something I have always believed in. Instead of considering 2 extreme ends of software development methodologies, each claiming to be the answer to all questions, I believe, we need to understand the features of each approach that would be suitable for a given context and come up with the right mix of agility and discipline in each case.

I would like to quote the following from the book:
"If one has strong discipline without agility, the result is bureaucracy and stagnation. Agility without discipline is the unencumbered enthusiasm of a start-up company before it has to turn to profit"

I will post more thoughts as I continue to read the book.

More thoughts

Thursday, November 1, 2007

Agile Software Development



Agile Software Development originated in 1990's as a way to overcome issues found in traditional plan driven software project. The main underlying concept is that, it is very difficult (almost impossible) to layout a project plan and strictly follow it when developing software due to the complex nature of software development.

The podcast by Ken Schwaber from SDForum provides a very good introduction to Agile Development. He talks about agile practices and some of the most popular agile processes: XP and Scrum.