Being agileDevinition adopted the agile way of working some years ago and have since then gained expert knowledge on it. Being agile gives us the advantage to quickly respond to any changes in the clients requirements or situation, even while we are thousands of kilometers separated from each other. Our clients have expressed their satisfaction by signing long term contracts and extending their cooperation with us. Devinition is using SCRUM to manage its projects. We have successfully applied SCRUM into our organization and modified it slightly so it is successful in an outsourcing environment as well.
SCRUM
Scrum is an iterative incremental process of software development commonly used with agile software development. Despite the fact that "Scrum" is not an acronym, some companies implementing the process have been known to adhere to an all capital letter expression of the word, i.e. SCRUM. This may be due to one of Ken Schwaber's early papers capitalizing SCRUM in the title. Although Scrum was intended to be for management of software development projects, it can be used in running software maintenance teams, or as a program management approach.
Characteristics of ScrumScrum is a process skeleton that includes a set of practices and predefined roles. The main roles in Scrum are the ScrumMaster who maintains the processes and works similarly to a project manager, the Product Owner who represents the stakeholders, and the Team which includes the developers. During each sprint, a 15-30 day period (length decided by the team), the team creates an increment of usable software. The set of features that go into a sprint come from the product backlog, which is a prioritized set of high level requirements of work to be done. Which backlog items go into the sprint is determined during the sprint planning meeting. During this meeting the Product Owner informs the team of the items in the product backlog that he wants completed. The team then determines how much of this they can commit to complete during the next sprint. During a sprint, no one is able to change the sprint backlog, which means that the requirements are frozen for that sprint. After a sprint is completed, the team demonstrates the use of the software. Scrum enables the creation of self-organizing teams by encouraging co-location of all team members, and verbal communication across all team members and disciplines that are involved in the project. A key principle of Scrum is its recognition that during a project the customers can change their minds about what they want and need (often called requirements churn), and that unpredicted challenges cannot be easily addressed in a traditional predictive or planned manner. As such, Scrum adopts an empirical approach by accepting that the problem cannot be fully understood or defined, focusing instead on maximizing the team's ability to deliver quickly and respond to emerging requirements. There are several implementations of systems for managing the Scrum process which range from yellow stickers and white-boards to software packages. One of Scrum's biggest advantages is that it is very easy to learn and requires little effort to start using.
The Scrum meeting
Each day during the sprint, a project status meeting occurs. This is called a scrum or "the daily standup". The scrum has specific guidelines: The meeting starts precisely on time. Often there are team-decided punishments for tardiness (e.g. money, push-ups, hanging a rubber chicken around your neck) All are welcome, but only "pigs" may speak (pigs refers to the people that are most important in the project. The meeting is timeboxed at 15 minutes regardless of the team's size. All attendees should stand (it helps to keep meetings short) The meeting should happen at the same location and same time every day During the meeting, each team member answers three questions: [1] What have you done since yesterday? [2] What are you planning to do today? [3] Do you have any problems preventing you from accomplishing your goal?
(It is the role of the ScrumMaster to remember these impediments.) At the end of a sprint cycle (every 15-30 days) a sprint retrospective is held, at which all team members reflect about the past sprint. The purpose of the retrospective is to make continuous process improvement. This meeting is timeboxed at four hours. Two main questions are asked in the sprint retrospective: What went well during the sprint? What could be improved in the next sprint?
Extended usage of Scrum
Though Scrum was originally applied to software development only, it can also be successfully used in other industries. Now Scrum is often viewed as an iterative, incremental process for developing any product or managing any work.
|