The Agile Fundamentals for Scrum Masters – Part 2
The Agile Principles
There are the 12 principles that support the Agile values, and they are as follows:
1. Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.
2. Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.
3. Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.
4. Business people and developers must work together daily throughout the project.
5. Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.
6. The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.
7. Working software is the primary measure of progress.
8. Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.
9. Continuous attention to technical excellence and good design enhances agility.
10. Simplicity – the art of maximizing the amount of work not done – is essential.
11. The best architectures, requirements, and designs emerge from self-organizing teams.
12. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behaviour accordingly.
They embody the Agile Manifesto and give more concrete ways of doing Agile at a lower level.
Agile Frameworks
Agile frameworks are processes and frameworks that put the Agile manifesto and principles into specific practices. Some of the most popular Agile frameworks are Scrum, Kanban, XP, Crystal, DSDM, and FDD. Choosing an Agile framework to use would require knowing how the organization can support them, who the target market is, how much time they have for building the product, and what the priorities are for development. Some take the best practices from the different frameworks and come up with their own Agile framework because it works for them. Each of these frameworks has different ways of implementing Agile, and it’s acceptable to experiment with which one works – it’s part of the process of continuous improvement.
Our Favourite Agile Books
We found these books great for finding out more information on Agile Scrum:
Traditional Software Development
Traditional software development, also commonly known as the Waterfall model, is a sequential and phase-by-phase approach to software development that was popularised during the 70s. The process is fairly straightforward: gather requirements, analyze requirements, design solution, implement a solution, integrate components, test the solution, and deploy the final product. Finishing everything in a phase before moving to the next gives assurance that the rest of the project should go smoothly.
However, seeing that testing and client approval are reserved at the last stages, discovering shortcomings that were not foreseen at the start or a change in business priorities can cost a lot for the project. Even though it was originally meant to accommodate changes by allowing teams to go back to a previous stage and adjust some decisions and expectations, project schedules and budgets often restrict these in practice. And in reality, software development does not have the same stability as traditional engineering projects. Business needs can change in as short as a day, and software needs a different approach to its development.