Agile Development Methodologies

32
http://www.nainil.com/research 1 ROAD TOWARDS AGILE DEVELOPMENT METHODOLOGIES Nainil Chheda www.nainil.com

description

Agile Development Methodologies with a detailed explanation on Agile Development and a Mind Map on Agile Development Methodologies.

Transcript of Agile Development Methodologies

Page 1: Agile Development Methodologies

http://www.nainil.com/research 1

ROAD TOWARDS AGILEDEVELOPMENT

METHODOLOGIES

Nainil Chheda

www.nainil.com

Page 2: Agile Development Methodologies

http://www.nainil.com/research 2

Intentionally Blank

Page 3: Agile Development Methodologies

http://www.nainil.com/research 3

What is Agile Development?

Page 4: Agile Development Methodologies

http://www.nainil.com/research 4

Agile development is a method of constructing software by:

– delegating and trusting people,

– acknowledging change as a standard, and

– promoting constant feedback

Page 5: Agile Development Methodologies

http://www.nainil.com/research 5

Agile Team follows practicesthat keep it focused on

customer needs

Page 6: Agile Development Methodologies

http://www.nainil.com/research 6

What are the PrinciplesBehind Agile Development?

Page 7: Agile Development Methodologies

http://www.nainil.com/research 7

Acknowledge Change as AStandard

Page 8: Agile Development Methodologies

http://www.nainil.com/research 8

PromoteConstantFeedback

Page 9: Agile Development Methodologies

http://www.nainil.com/research 9

Tailored Approach

Page 10: Agile Development Methodologies

http://www.nainil.com/research 10

Requirements Change

Page 11: Agile Development Methodologies

http://www.nainil.com/research 11

Continuous Attention is Required

Page 12: Agile Development Methodologies

http://www.nainil.com/research 12

Light on Documentation

Page 13: Agile Development Methodologies

http://www.nainil.com/research 13

Small Teams

Page 14: Agile Development Methodologies

http://www.nainil.com/research 14

Isolated Approach

Page 15: Agile Development Methodologies

http://www.nainil.com/research 15

Face To Face Communication

Page 16: Agile Development Methodologies

http://www.nainil.com/research 16

Self Organizing

Page 17: Agile Development Methodologies

http://www.nainil.com/research 17

Agile Methodologies

Page 18: Agile Development Methodologies

http://www.nainil.com/research 18

Page 19: Agile Development Methodologies

http://www.nainil.com/research 19

Extreme Programming (XP)

• Values – Communication – Simplicity – Feedback – Courage

• Programmer-centric • Customer prioritizes the project • Perform all

techniques/practices to the extreme

• Requirements Management – Short User Story – Note Cards

• Incremental • Small Releases • Simple Design • Automated Testing of

Everything • Collective Code Ownership • Team: Functions as a Whole • Not Deadline Centric • Pair Programming • Standardized Coding • Onsite Customer • Summary: Simplicity

Page 20: Agile Development Methodologies

http://www.nainil.com/research 20

Scrum

• Reference: Scrum in Rugby (Restart the game after an accident) • Project Management Framework • Delivery of Software Iteration Provide Highest Business Value • 30-day iteration called Sprint • Members organize themselves • Team Size: 4-9 • Meeting Length: 10-15 minutes • Backlog

– Product – Sprint – Release

• Summary: Prioritized Business Value

Page 21: Agile Development Methodologies

http://www.nainil.com/research 21

Lean Software Development

• Reference: Toyota Manufacturing

• Loose Unwanted Pounds • Project Management

Framework • Focuses on Gathering the

"Right" requirements • Requirements are measured

on their impact to the Business • Customer plays an important

role by giving constant Feedback

• Based on TQM – Process is Important – People build and improve the

processes • Principles

– Eliminate Waste – Build Quality – Constant Feedback – Defer Delivery until complete – Deliver Fast – Team Empowerment – Keep focused by interacting

with other teams • Summary: Return on

Investment

Page 22: Agile Development Methodologies

http://www.nainil.com/research 22

Feature Driven Development(FDD)

• Gather Domain Knowledge • Develop an Overall Model • Build a List of Features • Plan by Feature • Design by Feature • Build by Feature • Multiple Teams work parallel • Features can be combined into Feature Sets • Summary: Business Model

Page 23: Agile Development Methodologies

http://www.nainil.com/research 23

Agile Unified Process (AUP)

• Iterative & Incremental Framework • Risk Management • Testing for Quality Assurance • Assign Tasks • Version Control and Planning • Documentation is minimal and simple • Tools to accomplish the work are not defined • Process is Tailored to meet the requirements • Summary: Manage Risk

Page 24: Agile Development Methodologies

http://www.nainil.com/research 24

Crystal

• Lightweight • Color coded to signify the size

& criticality of the methodology needed

• Projects – Small: Use Crystal Clear,

Yellow, Orange – Big: Use Sapphire, Diamond

(involves Human Risk) • If a Project Color changes,

characteristics of the new Color should be adopted

• Deliverables: Couple of Months

• Feedback: Continual

• Communication: Constant • Focus: Priorities based • Automated Testing &

Integration • Crystal Clear

– All members working in same room

– Minimal Documentation – Easy Accessibility – Project Safety by efficiency – Not life-critical – Team: 6-8 members – Team defines own standards

and guidelines • Summary: Size & Criticality

Page 25: Agile Development Methodologies

http://www.nainil.com/research 25

Dynamic Systems DevelopmentMethod (DSDM)

• Most popular methodology in UK • Approach for Current Business

Value • Phases

– Pre-Project – Lifecycle

• Feasibility • Business • Functional Model • Design & Build • Implementation

– Post-Project • Rules for Requirements

(MoSCoW) – MUST – SHOULD – COULD – WOULD

• Principles – Active User Involvement – Team has control – Frequent Delivery – Iterative & Incremental – All changes are reversible – Requirements are based on high

level info – Colloboration & Cooperation

• Mandate Testing throughout Lifecycle

• Team: 6 teams of 6 people each • Not recommended for Safety

Critical Systems (Nuclear Reactors, Life Support etc.)

• Summary: Current Business Value

Page 26: Agile Development Methodologies

http://www.nainil.com/research 26

Cowboy Coding

• “Cowboy Coding” is often used as a pejorative (down grading) term by supporters of software development methodologies, such as Agile

• Method: Not Defined (Self Governed)

• Updates: Frequent Re-evaluation

• Communication: Face-to-face

• Documentation: Sparse

Page 27: Agile Development Methodologies

http://www.nainil.com/research 27

References

• Wikipedia: http://en.wikipedia.org/wiki/Agile_software_development

• Devx: http://www.devx.com/architect/Article/32761

• Devx: http://www.devx.com/architect/Article/32836/0

• Image Source: http://rfc007.blogspot.com

• Image Source: http://rasterizedworld.blogspot.com

• Image Author: Sapankumar Parikh

Page 28: Agile Development Methodologies

http://www.nainil.com/research 28

• Email: [email protected]

• Direct Line: +1 (267) 241 3796

• Website: http://www.nainil.com

Nainil Chheda (Contact)

Page 29: Agile Development Methodologies

http://www.nainil.com/research 29

Nainil Chheda (About)• Nainil Chheda, (http://www.nainil.com) MS (MIS) is a Knowledge Research Specialist at

eClinicalWorks LLC MA (USA), providing technical coordination services in a web application development environment. In addition, he is responsible for ensuring the overall development of the product in compliance with the various healthcare standards (CCR, CDA) and certifications (CCHIT).

• He specializes in Section 508 Compliance for website usability and design. In addition he specializes in change management, task co-ordination, process improvement and identifying and addressing organizational concerns. He also consults to firms in the healthcare industry, as well as the web hosting industry.

• He is a frequent attendant at the nationwide healthcare conferences and various standards and interoperability committee meetings. His most recent research concentrates on the aspects of the game theory in application towards finding equilibrium in the healthcare industry. His research concerns reaction from electronic health record (EHR) vendors, healthcare providers, end-user issues in medical informatics.

• Nainil has written a variety of healthcare and information system research papers and presentations.

• He holds a Masters (in MIS) from the Temple University (PA, USA) and a B.Com from Mumbai University (Maharashtra, INDIA). He has research interest in the Game Theory and the Governing Dynamics of the Internet.

Page 30: Agile Development Methodologies

http://www.nainil.com/research 30

Questions

Page 31: Agile Development Methodologies

http://www.nainil.com/research 31

Copyright Information

• No part of this publication may be reproduced or transmitted in any form or for any purpose without the express permission of NainilChheda ([email protected]). The information contained herein may be changed without prior notice.

• Data contained in this document serves informational purposes only.

• The information in this document is proprietary to Nainil Chheda. This document is a preliminary version and not subject to other agreement with Nainil Chheda. Nainil assumes no responsibility for errors or omissions in this document. Nainil does not warrant the accuracy or completeness of the information, text, graphics, links, or other items contained within this material. Nainil shall have no liability for damages of any kind including without limitation direct, special, indirect, or consequential damages that may result from the use of these materials.

Page 32: Agile Development Methodologies