What is Agile and Scrum Development?
Agile isn't a new methodology, but it's much younger than traditional software development management. Agile combines with Scrum to offer a more flexible way to develop and manage software teams than the older Waterfall methodology. Waterfall is more of an "all or nothing" style development life cycle, but Agile segments development into sprints and accounts for any changes that might occur during the project.
Developers who have never been involved with an Agile software development project might find it a bit confusing at first. It requires more meetings and collaboration with other developers, which is one of its benefits. Collaboration helps developers code projects faster since they can share knowledge.
Developers are placed in a room where they vote on the difficulty of each task. This step is called "planning poker." A task is presented, discussed, and each developer plays a card in his hand that indicates the difficulty of the task. Whatever difficulty level is played the most is the level set on the task.
Tasks are assigned to developers, and they have a sprint assigned. Sprints can be anywhere from a week to a month in duration. The time frame is determined by the project and organization.
What is Scrum?
Scrum is often used to help with collaboration and updates. Instead of giving developers a month to finish a large group of tasks, Scrum requires developers to sit in a meeting with a planner called the Scrum master. The Scrum master has a list of tasks in a spreadsheet and asks each developer for an update.
Agile and Scrum are often customized to the team environment. Usually, development teams don't do pure Agile. That's what makes Agile useful - it's flexible. It's flexible enough to give teams options for software development planning, but it's structured enough to provide companies with more efficiently developed software.