Scrum is an alternate approach to the assembly line-style handoffs that occurred in traditional software development, with project team members often losing sight of where a project was, depending on which individual department was working on it. Meant to be an inclusive application development method, scrum ideally gets everyone engaged up front so that applications can get out the door faster.
When developers use a scrum approach to software development, they actively collaborate with end users and other application stakeholders and incrementally shape an application together. Concept development, programming and app testing all occur synchronously or near-synchronously. There are frequent and iterative revisions of an application until it reaches a final resting point where virtually everyone on the cross-disciplinary scrum team is satisfied.
However, scrum methodology isn't foolproof. As with any project, there are always ways things can go wrong. If you are managing scrum projects, here are several best practices that you should consider adopting so you can ensure things stay on course.
Make sure there's team buy-in
Don't micromanage the scrum process, but do enough walking around outside of the project war room to ensure that everyone has bought into the project. By nature, most people like to avoid confrontations during meetings, so they often signal acceptance of a given proposal publicly and then stew in their cubicles later. This is not the hallmark of a healthy project. As a manager, it's your job to ensure that team momentum and commitment remain high.
One good way to get around this is to encourage open collaboration and also active (but constructive) debate in meetings. When team participants understand that their opinions are welcome and that they aren't risking repercussions from colleagues or managers, they are more anxious to share their thoughts
Set a deadline — and stick to it
Collaborating and fine-tuning a project does not mean that it should never end. There are users who can become tinkerers, believing that the project will always be open for tweaks, so make it clear upfront to project members that there is a deadline. Eventually, project efforts need to pay out. The payout occurs when projects are placed into production so they can begin to deliver value to the business. The only way that you can ensure this is happening is to place some constraints on project work so team members understand what the expectations are, and when the company can expect to see results.
Make sure there is true team collaboration
In any meeting, there are dominant and less dominant personalities. Each member of the scrum team was selected because he or she would add something to the value of the application. It is the manager's job to let team members dialogue freely, but also to ensure that every voice is heard. One way to do this by asking less vocal members to present certain portions of meetings, to express their thoughts as discussions get going, or even to lead discussions
Know when to throw in the towel
Sometimes an app just doesn't work, no matter how closely you follow the process. Historically, projects fail when deadlines are missed, when team members are confused about the project's ultimate mission, and when the concept behind the project just doesn't work in practice. The scrum methodology is no different than any other approach to application development. In a scrum project, the telltale signs of failure are similar, but can also manifest themselves when too much collaboration is happening without commensurate progress in the project. When this starts to happen, you should step in. It is your job as manager to constantly assess project progress. Ultimately, you must make the call to end a project that is going to fail. When you do this, always communicate the decision, and why you made it, to everyone, and then get busy again on a new project so the momentum of the scrum process is not lost.
The challenge of scrum is that users can change their minds quickly during application design and app developers must respond to that. If too much change happens over a very short time period, frustration and anxiety can develop. At the other end of the spectrum, the benefits of scrum are that everyone is actively engaged in application creation, and there is a sense of ownership that is shared between IT and end users that didn't always occur in the days when it took weeks to develop apps and everyone worked on only one part of the process.
Project communications: What works, and what doesn't
How to apply Agile practices with your non-tech team or business
10 ways to improve time-to-market for your applications
HPE targets DevOps and agile with new application lifecycle management software
Mary E. Shacklett is president of Transworld Data, a technology research and market development firm. Prior to founding the company, Mary was Senior Vice President of Marketing and Technology at TCCU, Inc., a financial services firm; Vice President of Product Research and Software Development for Summit Information Systems, a computer software company; and Vice President of Strategic Planning and Technology at FSI International, a multinational manufacturing company in the semiconductor industry. Mary is a keynote speaker and has more than 1,000 articles, research studies, and technology publications in print.