Published on January 21, 2009
ROAD TOWARDS AGILE DEVELOPMENT METHODOLOGIES Nainil Chheda www.nainil.com http://www.nainil.com/research 1
Intentionally Blank http://www.nainil.com/research 2
What is Agile Development? http://www.nainil.com/research 3
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 4
Agile Team follows practices that keep it focused on customer needs http://www.nainil.com/research 5
What are the Principles Behind Agile Development? http://www.nainil.com/research 6
Acknowledge Change as A Standard http://www.nainil.com/research 7
Promote Constant Feedback http://www.nainil.com/research 8
Tailored Approach http://www.nainil.com/research 9
Requirements Change http://www.nainil.com/research 10
Continuous Attention is Required http://www.nainil.com/research 11
Light on Documentation http://www.nainil.com/research 12
Small Teams http://www.nainil.com/research 13
Isolated Approach http://www.nainil.com/research 14
Face To Face Communication http://www.nainil.com/research 15
Self Organizing http://www.nainil.com/research 16
Agile Methodologies http://www.nainil.com/research 17
Extreme Programming (XP) • Values • Incremental – Communication • Small Releases – Simplicity • Simple Design – Feedback • Automated Testing of – Courage Everything • Programmer-centric • Collective Code Ownership • Customer prioritizes the project • Team: Functions as a Whole • Perform all • Not Deadline Centric techniques/practices to the • Pair Programming extreme • Standardized Coding • Requirements Management • Onsite Customer – Short User Story • Summary: Simplicity – Note Cards http://www.nainil.com/research 19
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 20
Lean Software Development • Reference: Toyota • Based on TQM Manufacturing – Process is Important • Loose Unwanted Pounds – People build and improve the processes • Project Management • Principles Framework – Eliminate Waste • Focuses on Gathering the quot;Rightquot; requirements – Build Quality – Constant Feedback • Requirements are measured on their impact to the Business – Defer Delivery until complete – Deliver Fast • Customer plays an important role by giving constant – Team Empowerment Feedback – Keep focused by interacting with other teams • Summary: Return on Investment http://www.nainil.com/research 21
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 22
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 23
Crystal • Lightweight • Communication: Constant • Color coded to signify the size • Focus: Priorities based & criticality of the methodology • Automated Testing & needed Integration • Projects • Crystal Clear – Small: Use Crystal Clear, – All members working in same Yellow, Orange room – Big: Use Sapphire, Diamond – Minimal Documentation (involves Human Risk) – Easy Accessibility • If a Project Color changes, – Project Safety by efficiency characteristics of the new – Not life-critical Color should be adopted – Team: 6-8 members • Deliverables: Couple of – Team defines own standards Months and guidelines • Feedback: Continual • Summary: Size & Criticality http://www.nainil.com/research 24
Dynamic Systems Development Method (DSDM) • Most popular methodology in UK • Principles – Active User Involvement • Approach for Current Business Value – Team has control – Frequent Delivery • Phases – Iterative & Incremental – Pre-Project – All changes are reversible – Lifecycle – Requirements are based on high • Feasibility level info • Business – Colloboration & Cooperation • Functional Model • Design & Build • Mandate Testing throughout • Implementation Lifecycle – Post-Project • Team: 6 teams of 6 people each • Rules for Requirements • Not recommended for Safety (MoSCoW) Critical Systems (Nuclear – MUST Reactors, Life Support etc.) – SHOULD • Summary: Current Business – COULD Value – WOULD http://www.nainil.com/research 25
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 26
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 27
Nainil Chheda (Contact) • Email: email@example.com • Direct Line: +1 (267) 241 3796 • Website: http://www.nainil.com http://www.nainil.com/research 28
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 29
Questions http://www.nainil.com/research 30
Copyright Information • No part of this publication may be reproduced or transmitted in any form or for any purpose without the express permission of Nainil Chheda (firstname.lastname@example.org). 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. http://www.nainil.com/research 31
Agile software development describes a set of principles for software development under which requirements and solutions evolve through the collaborative ...
Agile development methodology helps companies ... agile Scrum Lean Agile Development Methodologies Agile Methodology agile manifesto agile engineering ...
Welcome to the Agile Development Methodologies Blog. We hope to write practical and educational articles about Agile project management methodologies and ...
Learn about agile methodologies (Scrum, Lean, Kanban, XP) for software development. Each agile framework has its own practices, terminology, and tactics.
"Agile software development" refers to a group of software development methodologies based on iterative development, ...
Manifesto for Agile Software Development We are uncovering better ways of developing software by doing it and helping others do it.
Agile Software Development is a set of methods and practices where solutions evolve through collaboration between self-organizing, cross-functional teams.
What is agile? Agile is one of the big buzzwords of the IT development industry. But exactly what is agile development? Put simply, agile development is
A Survey of Agile Development Methodologies Agile development methodologies are emerging in the software industry. In this chapter,
Software Development Methodologies. Category: IT Standards and Methodologies. Contents. ... There are the following methodologies: Agile Software Development;