Scrum
Ultimate Guide to Scrum Agile Essential Practices!
The Blokehead
Yap Kee Chong
8345 NW 66 ST #B7885
Miami, FL 33166
Digital Edition
Copyright 2014
All Rights reserved. No part of this book may be reproduced or used in any way or form or by any means whether electronic or mechanical, this means that you cannot record or photocopy any material ideas or tips that are provided in this book.
Get Notice of Our New Releases Here!
http://eepurl.com/5x58P
Like Us On Facebook
https://www.facebook.com/theblokehead
Check Out Our Other Books
Habit Stacking: How To Change Any Habit In 30 Days
Habit Stacking: How To Beat Procrastination In 30+ Easy Steps (The Power Habit Of A Go Getter)
Health
Ebola Outbreak Survival Guide 2015: 5 Key Things You Need To Know About The Ebola Pandemic & Top 3 Preppers Survival
TABLE OF CONTENTS
PUBLISHERS NOTES
Disclaimer
This publication is intended to provide helpful and informative material. It is not intended to diagnose, treat, cure, or prevent any health problem or condition, nor is intended to replace the advice of a physician. No action should be taken solely on the contents of this book. Always consult your physician or qualified health-care professional on any matters regarding your health and before adopting any suggestions in this book or drawing inferences from it.
The author and publisher specifically disclaim all responsibility for any liability, loss or risk, personal or otherwise, which is incurred as a consequence, directly or indirectly, from the use or application of any contents of this book.
Any and all product names referenced within this book are the trademarks of their respective owners. None of these owners have sponsored, authorized, endorsed, or approved this book.
Always read all information provided by the manufacturers product labels before using their products. The author and publisher are not responsible for claims made by manufacturers.
Digital Edition 2014
Manufactured in the United States of America
CHAPTER 1- INTRODUCTION TO AGILE DEVELOPMENT
Chapter 1 Objectives:
**An Overview of the Software Development Methodologies
**The Flaws of the Waterfall Development Model
**Introduction to the Agile Development Practices
There are different methodologies that can be applied in the process of software development. Of course, development teams segregate entire projects into smaller distinct phases or a collection of activities that can cultivate better management control and work flow. And to fully function as a development team, careful consideration is required to assess which development method works best for their resources (including human resources), experience, and the final product theyre trying to deliver. Hence, choosing an effective software development method or software development life cycle to follow is one of the first steps to accomplishing any big project.
The most common methodologies for software development include spiral development, extreme programming development, prototyping, waterfall, and iterative & incremental development. Agile (and Scrum) falls in the category of iterative & incremental development. But before that, the waterfall development method was more commonly used.
Hows it Like Before Agile?
The traditional approach when it comes to software engineering is to use the waterfall model. It consists of direct and contiguous phases that are sequentially executed:
Requirement {MISSING SYMBOL Wide-headed rightwards arrow} Design {MISSING SYMBOL Wide-headed rightwards arrow} Implementation {MISSING SYMBOL Wide-headed rightwards arrow} Verification/Testing {MISSING SYMBOL Wide-headed rightwards arrow} Maintenance
Whenever this process was illustrated in meeting rooms, the next step is always aligned below the former making the entire outline look like a waterfall. This is, in fact, where the term waterfall in development was coined.
The very first step in this development process is the requirement phase. In this phase, analysts would gather the necessary data and more importantly; the requirement in which the end result is meant to fulfill. The next phase, design, is where the software code and other artefacts are sculpted and planned. This leads to the next phase, which is the implementation phase in the waterfall model. In this next phase, the codes and resources created in the design phase are put together to create a functional product. After which comes the verification or testing phase of the product which is for detecting existing issues. Additionally, the testing phase looks back and makes sure the outcome meets the requirements specified in the first phase. Finally, the maintenance phase is the on-going process of providing support and necessary fixes once the product is released.
However, there are many identifiable, significant flaws in this development process.
First of all, the testing phase comes directly before the release of the product. This means any possible defects or issues concerning all other phases are usually only detectable during this phase of development. This often leads to delays with the launch date and other inconveniences. Moreover, additional requirements may be introduced any time during a projects development.
Additionally, there is no reliable way of predicting how many issues a project will have after the implementation phase. Not only will this make it more difficult to manage resources, there is also the possibility of detecting one major flaw in the requirement phase that can knock an entire development project to its knees. This can also lead to the decreased morale and increased stress for each member of the development team.
All these couldve been avoided if only these issues were detected in the earlier stages of the development cycle.
The Need for a New Method
The main problem with the waterfall method is that the development stages are cut into huge chunks. This overly-incremental approach in prevents flexibility throughout the entire development process. In time, incremental software development methods were introduced to solve the underlying problems with the traditional waterfall model. One of the most popular of these incremental and iterative methods is called the agile practice.
The agile practice is only one of the many iterative methods devised by development leaders in the past. Fundamentally speaking, iterative methods opposed the overly-incremental approach of the waterfall method by using a multitude of smaller phases. These phases encompass the main parts of the waterfall method (requirement, design, implementation, verification, and maintenance); but done so in smaller, more frequent increments. These are also called mini-waterfalls.
In essence, the agile practice moves through a life cycle of the waterfall development method in a much shorter amount of time. The thought leaders behind the formation of the agile development practice refined it using 12 key principles. These principles will be discussed in Chapter 7 The 12 Agile Principles, and will be applied in most of the lessons throughout this eBook.
Many iterative & incremental methods were already being used and developed prior to the realization of agile development in 2001. This event was brought about by the creation of the Agile Manifesto:
Manifesto for Agile Software Development