• Enter your email address to subscribe to this blog and receive notifications of new posts by email.

    Join 25 other followers

  • Archives

Agile rules


Let us see some of the merits of Agile:

Embracing change

Agile does not just manage the changes. Changes are way of development in Agile. Downstream activities like releasing product to the product owner and further rolling it to the end user means the product is used immediately without much wait time. The product owner gets the feedback from the end user and onward transmits the same to software development vendor. The software team suitably incorporates the feedback into the next releases / sprints. This ensures all the stake holders in the supply chain are benefited. Software vendors realize money quickly, so do the product owner and user. The user has a chance to participate in development of future product and has an opportunity to receive what he wants in future.

The software development vendor can learn from feedbacks, retrospectives and other inputs and make his team evolving better and better with quality coding, design and release of products.

Embracing changes means WIN-WIN situation all the in the supply chain.

Frequent delivery

Frequent delivery of software products / iterations enable continuous learning for development team and quicker time to market for product owner . The user starts using the product quickly and participates in the development of the product as per his needs.

Fixed time boxed releases and variable scope

Focus on workable product without compromising quality. Scope can be varied to a little extent that allows evolution of product through stake holders’ collaboration. This is just opposite of waterfall development where scope remains fairly constant and many change requests are raised during different stages of software development and delays the deployment of the final product. This does not just stop with this delay. Customer may get last minute surprises in the form of critical defects that have originated during requirements / design phases. This will lead to enormous cost of rework. Agile tenet of fixed delivery and variable scope guards effectively against these.

Prioritization features by product owner

Customer decides what he wants and frequently updates his decision to Software team. This avoids multiple hands off like approval time, waiting time for customer review and rebaselining of artifacts, etc. Saves time which means cost reduction

Customer Collaboration

Confidence to development team. The risk is limited (if at all present) to few days of work only. Indirectly empowers the development team to increase expertise in not only relating to software development but also in product domains.

Test Driven Development

This gives opportunity for defect prevention. Hence the notion of certain people that in AGILE the product quality is compromised owing to less reviews / walkthroughs gets defeated by adapting TDD. TDD provides opportunities for testing team to improve the quality of the product by suggesting test cases before development, and for development team it reduces rework related to bug fixes, reviews etc. This also improves development team ability to write Quality codes.

Peer Review

Two people see the code through four eyes. Cost of effort in terms of time is reduced. Waiting time for review and approval can be saved.

Defect prevention

All tenets of Agile help preventing defects. Defects here we can mean any thing that leads to customer dissatisfaction and not just product defects. Customer gets transparent about the status of the product development, software teams ensures they meet the schedule, product less defects and manage cost and work efficiently. Usage of code integration and automated tools are helpful in defect prevention too.

Automated unit testing

Saves lots of time for developer. Also the test coverage and efficiency will be more in case of automated testing. This is for any kind of testing.

Code Integration

Avoid manual integration and ensures more accurate code integration

Carry forwarding incomplete features to future sprints

Flexible development and evolving product

Ability to add delete and modify

Customer can modify the features delete and add features any time he/she wants.

Changes and Bug-fixes cost less

If the development team works on say sprints 1, 2 the customer can change features required for sprints 4.5 and 6 for free of cost. This is major advantage over waterfall development.

Risk containment

Agile adapts “better fail early” approach (if at all failure is unavoidable). Since high risk and priority features are planned for first iterations risk is mitigated early in the product development cycle.

Release at any time and in working condition

If customer wants to stop developing the product any further for any reasons he can ask the development team to stop the development and get the product in working condition till last day of development. Agile provides this kind of comprehensive ability for the product development.

Advertisements

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 )

Twitter picture

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

Facebook photo

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

Google+ photo

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

Connecting to %s

%d bloggers like this: