Scrum and Agile Development - Scrum Bootcamp: Learn the Basics of Scrum Programming (2016)

Scrum Bootcamp: Learn the Basics of Scrum Programming (2016)

Chapter 1. Scrum and Agile Development

Scrum is a method used in“Agile” development models. Before discussing what Scrum really is, let’s define Agile first. This way, you’ll understand how the Scrum method works and how you can use it to complete programming projects.

Agile Development

Basically, Agile is a repetitive and incremental development strategy used in completing projects (e.g. software products). This strategy requires people to work together in order to finish a project quickly. Agile involves a time-boxed repetitive approach, and it requires fast and versatile responses to any changes. According to Agile practitioners, this strategy is a theoretical outline that doesn’t indicate any specific activity that a team should do.

Scrum, which is one of the methods used in Agile, defines the techniques and processes that must be done to complete any given project.

Important Note: Agile and its methods (e.g. Scrum) are originally used for software development; thus, Scrum is not a programming language or computing technique. It is a development framework that helps people in completing projects quickly and efficiently. In this book, however, you’ll learn how to use Scrum in completing your programming-related projects.

The Major Principles of Agile Development

When using Agile, you should remember the principles listed below:

· Focus on details– Pay close attention to the details of your project. This way, you can attain great project design and technical excellence.

· Less is more– The Agile development framework emphasizes simplicity. Here, you don’t have to spice up your projects through insignificant techniques/activities. Solve the problems related to your projects in the simplest way possible.

· Communication is important– To ensure excellent quality, developers (i.e. the people working on the project) must communicate regularly with the business people (the management team or the clients).

· Deliver customer satisfaction– In general, people who use Agile want to satisfy the needs of their customers. These developers use continuous processes to complete the project early and send it to the client/s as soon as possible.

· Changes must be accepted– Agile practitioners must welcome changes (in terms of the working environment and/or project requirements) while working on any project. That means you have to observe all of the changes related to your projects and make the necessary adjustments.

· Trust and motivation– The Agile framework is inherently repetitive and complicated; thus, it requires motivated individuals. Look for people who can be trusted since unreliable staff can ruin your projects.

· Flexibility is the key– Teams must be able to adapt to changing circumstances. You can’t be an effective Agile practitioner if you won’t adapt to the changes in your working environment.

· The Output is the true measure of success– You can only say that you are successful if you have a working output. Simplicity, productivity, cost-effectiveness and all the“good stuff” are useless if you don’t have an output that meets the client’s requirements.

Conclusion

Countless companies have benefited from Agile development practices. This is the main reason why Agile frameworks are now adopted in different industries and projects (e.g. programming).

Agile frameworks offer the following benefits:

· Improved delivery time

· Reduced risks and uncertainties

· Better ROI (i.e. Return on Investment) by concentrating on the customers’ needs