The Scrum approach to agile software development marks a dramatic departure from waterfall management. Scrum and other agile methods were inspired by its shortcomings. Scrum emphasizes collaboration, functioning software, team self management, and the flexibility to adapt to emerging business realities.


A Career In Scrum

Posted by admin under Scrum Discussion, Uncategorized

As Scrum’s popularity increases, there is a rising demand for professionals with Scrum experience. However, since Scrum is still a fairly new management method, that puts many aspiring Scrum practitioners in a tough spot: They want the experience of working in a Scrum environment, but they need Scrum experience to get the job. Obviously, then, there is no better experience than actually working in a Scrum environment, but there are plenty of ways to build experience that will pay off in that environment.

One way to secure valuable experience is to attend a two-day Certified ScrumMaster (CSM) course. CSM courses focus on an interactive approach to learning the basics of Scrum, including its vocabulary, principles, and practices. The course lasts only two days, but most attendees find that the information covered really sticks due to the hands-on nature of the course. Several companies offer CSM courses and a full list of trainers and their schedule of courses is located on the Scrum Alliance website.

Of course, real life experience working in a Scrum environment is far more compelling than simply attending a CSM course. When an individual works on a Scrum team—whether as a ScrumMaster, Product Owner, Analyst, Developer, Tester, etc.—for a full year since completing a CSM course, he or she may apply to become a Certified Scrum Practitioner (CSP). The Scrum Alliance reviews and, based on one’s qualifications, approves the CSP designation. Clearly, the CSP title is attractive for employers, who view it as proof that an individual understands Scrum’s principles and processes and has practiced them.

Short of getting experience on a Scrum team, the next best thing is to illustrate to your prospective employer that you possess qualities valued within a Scrum environment. These might include skills such as pair-programming, test-driven development, continuous integration, and refactoring code. Apart from these development techniques, it’s important to demonstrate a strong background in collaboration and facilitation. Since Scrum places greater emphasis on the success of the team, rather than personal heroics, an individual who has proven his or her leadership potential—without extensive authority—would be an excellent candidate for the ScrumMaster role.

Beyond Scrum courses or, of course, working in a Scrum environment, an individual can prepare for a career in Scrum by developing certain skill sets and demonstrating personality attributes that would fit within the Scrum paradigm.



Choosing a Scrum Pilot

Posted by admin under Scrum Basics

When a company is ready to migrate to Scrum, the first thing it will want to know is which of its projects would make a good Scrum pilot. If no one at the organization has past previous experience working in Scrum environments, figuring out which project to start with can leave a team feeling in the dark. After all, what attributes of a project makes it right — or wrong — for Scrum? Unfortunately, there are no cut-and-dry requirements for a Scrum project, but there are several factors to take into account when making a decision. For example, a few questions to ask would be: How does this project relate to the overall business? What kind of project is it? And does the development team have the technology to succeed?

From a business standpoint, an ideal Scrum pilot visibly demonstrates success for senior management. For a Scrum adoption to really take hold at an organization, it needs the support of management. Choosing a pilot that will directly affect the bottom line will hold management’s attention and create a compelling illustration of Scrum’s potential.

When choosing among a group of candidates, there are several factors to take into account.

  • Is there a single Product Owner dedicated to the project? Working with a single customer helps simplify communication and reduce confusion among the team.
  • Is there an experienced Scrum coach or mentor attached to the project? If the answer is yes, the team has a tremendous advantage over a Scrum team starting from scratch and learning by trial-and-error. An experienced Scrum practitioner can share best practices and strategies to resolve impediments with the team, helping steer the project toward success.
  • Is the whole team located in the same place? While a single location for the team won’t ensure success with Scrum, it helps a lot. When a team is able to work within the same, small vicinity, Scrum’s emphasis on communication and collaboration can be maximized. When a team is dispersed geographically, however, a Scrum tooling solution is usually required to keep a team focused.
  • Are the project’s requirements known? How well defined are they? Scrum is so well-suited to the unpredictability of software development because it gives teams the safety of a stable work cadence. That means that, while a waterfall project would require well defined requirements, Scrum projects can begin even when the team only has a foggy sense of its requirements.
  • Is the team made up of cross-functional members? Unlike waterfall, Scrum teams are made up of cross-functional members (or they should be, at least). The idea is that if an entire team can perform the range of necessary skills, it is capable of executing every stage of the development work cycle. That range of skills coupled with the close-knit team’s spirit of collaboration shortens the feedback loop and helps teams expose and resolve impediments quickly.

The last thing to consider is whether the team has access to the technological resources it requires. Namely, does the team have the equipment and tools it needs to complete its sprint goals? Also, which agile programming practices are being employed? I would suggest that all Scrum teams use Continuous Integration, Test Driven Development, as well as Pair Programming to help tighten up processes and enable teams to do their best.