An Introduction to Scrum
Understanding and Applying the Software
By: Ted Owens
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
Manufactured in the United States of America
WHAT YOU WILL LEARN IN THIS BOOK
How This Book Will Help You and Why
To put it in plainer language, scrum was designed as a way to turn a software development team into a single, cohesive, organic unit which was focused on creating a program to fulfill a client's needs. This book will help you to learn the basics of Scrum and is essential if you need to become certified as a Scrum master.
TABLE OF CONTENTS
DEDICATION
If you need to learn Scrum or in fact any technology based system you need to start from the basics. Lots of techs wont tell you that before Geek there was Non-Geek. I was and still am a Non-Geek and so I dedicate this book to the Non Geeks out there trying to learn Scrum Agile Development!
It has become appallingly obvious that our technology has exceeded our humanity.
- Albert Einstein.
CHAPTER 1- SCRUM-THE BASICS
History
In its original context the word "scrum" is actually a rugby term. It refers to re-starting the game after there's been a minor infraction on the field. The concept was adapted and used in the world of software development in 1986. That was the year when Hirotaka Takeuchi first defined scrum as "a flexible, holistic product development strategy where a development team works as a unit to reach a common goal." Scrum was a new concept at the time, and it was in direct opposition to the older method which is usually referred to as the traditional, sequential approach to programming.
Software companies got the idea from studies in the automotive industry, as well as in printer and photocopier industries, where experiments had been done assembling a single, cross-discipline team to complete a single project. The approach was called the holistic approach, or the rugby approach, because the team would pass the ball back and forth with each member doing his or her part to reach the goal that had been set forth for them as a whole.
It took until the early 1990s for the idea of an adaptive, team approach to software development to be referred to as scrum. It was used at a company called Easel Corporation, and though the idea wasn't theirs alone they were the first company to use that particular 5-letter word to describe how they were managing their development teams. The term continued to grow in popularity, and it was solidified in place by the book Agile Software Development With Scrum, which was published in the year 2001. Since that time scrum and agile software development have been linked in the minds of programmers, as well as in the culture of the software design industry. In 2009 Scrum.org was founded by Ken Schwaber in an attempt to refine and improve on the ideas that he and his company had already helped create.
What Is Scrum?
To put it in plainer language, scrum was designed as a way to turn a software development team into a single, cohesive, organic unit which was focused on creating a program to fulfill a client's needs. Previously programming was more like an assembly line, where each individual would do his or her part, and then pass it along to the next programmer in line to handle. While making programming an assembly line was occasionally efficient, it didn't allow for the possibility that the client might change his or her mind, or that something would need to be re-thought or re-designed. That's why programming has moved to endorse the scrum style more than the traditional, sequential approach.
How Scrum Works
Most people have participated in a scrum style situation, even if they don't know it. Say that a client wants an app designed for her company. In order to put the project together the company would put together a number of specialists from a variety of disciplines, all of whom can come together to form a complete machine to produce the end product. The team will start each day with a face-to-face (or Skype, if in-person isn't possible) meeting where progress is discussed and the goals for the future are set up. Typically the team will also work in close proximity physically, and keep in contact electronically, so that any problems can be handled and fixed among the group. This helps speed up how quickly programs can be created, and it helps cut down on time for repairs and error correction.
Where the "starting over" part of it comes in is that sometimes the goals change when a software team is putting together a project. For instance, say that the client originally wanted an app to allow customers to find their stores, but now the customer has decided that a small, amusing game featuring the company mascot would be better. A scrum team can look at the work they've done so far, ask what can be salvaged, and scrap the rest to focus on the new goal. Because it's a small unit, and that small unit can respond much more quickly than an assembly line, even such a drastic change in focus can still be taken in stride and adjusted to with relatively little change in the workday.
Is Scrum Here to Stay?
While scrum has evolved since its creation nearly 30 years ago, it is still not a universal methodology. There are still companies, who use the traditional, incremental approach to create software, and they do so for a reason; often times it works just fine.
That's one of the untold stories of scrum's fairly brief history in the world of technology. It is faster, more adaptable, and results in a product that can change focus fairly quickly. However, scrum can also be fairly labor intensive, and it requires small islands of professionals to act together as teams to get the job done. Not every program requires that sort of setup, and there is still a case to be made for the incremental approach being used in a variety of different programming situations. In many cases it's easier, simpler, and cheaper when the programs being created don't require the intensive, small-unit tactics that a scrum approach delivers. Scrum is becoming the more dominant form of programming in many areas though, and for that reason it's gaining more and more attention.
With reams of reviews, thousands of pages of offline text, and a great deal of research done regarding scrum and its advantages, chances are good that it's going to remain the standard way that software designers provide product for their clients for some time to come. In fact scrum has spread beyond software, and it's become a model for how huge varieties of businesses now create products, handle production, and troubleshoot problems. As a solution it's adaptable and functional, and when a business finds something that works it will hang onto it until a better, and more profitable, solution comes along and makes itself known.