Agile Development Methodologies

Preview:

DESCRIPTION

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

Citation preview

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

ROAD TOWARDS AGILEDEVELOPMENT

METHODOLOGIES

Nainil Chheda

www.nainil.com

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

Intentionally Blank

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

What is Agile Development?

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

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

Agile Team follows practicesthat keep it focused on

customer needs

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

What are the PrinciplesBehind Agile Development?

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

Acknowledge Change as AStandard

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

PromoteConstantFeedback

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

Tailored Approach

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

Requirements Change

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

Continuous Attention is Required

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

Light on Documentation

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

Small Teams

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

Isolated Approach

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

Face To Face Communication

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

Self Organizing

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

Agile Methodologies

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

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

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

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

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

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

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

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

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

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

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

• Email: nainil.c@eliteral.com

• Direct Line: +1 (267) 241 3796

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

Nainil Chheda (Contact)

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.

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

Questions

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 (nainil@eliteral.com). 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.

Recommended