Scrum
Scrum was first introduced is mid-1990’s, and its most well known developers were Ken Schwaber, Jeff Sutherland, and Mike Beedle. Scrum concentrates on the management aspects of software development, dividing development into short iterations (called Sprints) and applying closer monitoring and control with daily Scrum meetings. It is not prescriptive with regards to engineering practices, and StarSoft teams have been successfully combining its project management approach with Extreme Programming's engineering practices. Scrum is especially well suited for projects with rapidly changing or highly emergent requirements, and has been applied mainly to product development.

Below are some of the key concepts and principles of Scrum.
- In Scrum, projects progress through a series of iterations called Sprints. A Sprint is typically 2 to 4 weeks long. Typically, a scope of what needs to be implemented within one Sprint (Sprint Backlog) is frozen and protected from change.
- Scrum development teams are most often referred to as "self-organizing and cross-functional". This means that they are not dependent upon a higher authority for constant hand-holding and direction. Rather, they are given an overall goal to achieve, but how they do it is entirely up to their discretion. Team members divide the tasks up among themselves, and are responsible for helping each other out beyond their "specialties". A Scrum team is collaborative and cooperative, and does not retreat behind job descriptions, but rather focuses on the work that needs to be done.
- The work to be done on a Scrum project is listed in the Product Backlog – the master list of all functionality desired in the product. Since the Product Backlog is allowed to expand and change throughout the life of the project, there is no need for comprehensive, time-consuming effort to write down all foreseeable tasks or requirements at the beginning.
- Product Owner is “the customer on the team”. It is most often someone from marketing (in product development projects), or a key user (in internal development projects). Just as the name implies, Product Owner owns (i.e., is allowed to introduce changes to) and prioritizes the Product Backlog.
- At the start of each Sprint, a Sprint Planning Meeting is held during which the Product Owner prioritizes the Product Backlog, and the Scrum team selects the tasks they can complete during the coming Sprint, and commits to this subset of scope. These tasks are then moved from the Product Backlog to the Sprint Backlog.
- Sprint Backlog is the list of tasks that the team commits to completing during the sprint. The team takes the top priority items off the top of the Product Backlog and commits to completing them based on their estimation of the time they will take to implement.
- Each day during the Sprint conducts a brief daily meeting called the Daily Scrum, which helps the team stay on track. During the meeting, each team member answers the following three questions:
- What did you do yesterday?
- What will you do today?
- Are there any impediments in your way?
By focusing on what each person accomplished yesterday and will accomplish today, the team gains an excellent understanding of what has been completed and what remains to be done. The Daily Scrum is not a status update meeting held for the sake of the management; rather, there team members make commitments to each other, which has the effect of solidifying the team’s own internal sense of responsibility and the overall focus on delivering results.
- The ScrumMaster facilitates the Daily Scrum and is responsible for quickly resolving any issues or problems raised during the Daily Scrum by the team members. If the ScrumMaster is unable resolve these issues himself (e.g., usually the more technical problems), he is still responsible for making sure someone on the team does quickly deal with the impediments. Scrum Master also protects the team during the Sprint Planning by making sure they do not commit themselves to more than they are able to achieve. The ScrumMaster role is typically filled by a project manager or a technical team leader.
- At the end of each Sprint, the team demonstrates the completed functionality at a Sprint Review Meeting. During this meeting, the Scrum team shows what they accomplished during the sprint, typically in the form of a demo of the new features. Participants in the sprint review typically include the team members, the ScrumMaster, the Product Owner, management and customers.