5 Ways to Do SCRUM Poorly

As a developer that frequently leads projects and operates in various leadership roles depending on the current project lineup, the Agile development methodology is a welcome change from the Waterfall and Software Development Life Cycle approaches to software development. SCRUM is the specific type of Agile development that I have participated in at a few different workplaces, and it seems to work well if implemented properly. However, there are several ways to make a SCRUM development team perform more poorly than it ought. The top 5 I have seen include:

  1. Micro-Management - When a member of management or “pseudo-management’ thinks that they know how to do something better than everyone else, and has to tell every member of the development team exactly how to do their job. The company hired the developers in the first place, give them the space to succeed or fail on their own before imposing your unwelcomed “assistance”.
  2. Poor Leadership - Any time a manager goes to a team to explain that an individual is being put in a leadership position within the team because they “go to conferences” is a huge red flag. Imagine my surprise when, after the individual is added to the team and has been in place for more than 3 SCRUM sprint cycles, and this developer has changed a grand total of, wait for it, 0 lines of code.
  3. Office Politics - Part of the ideology of SCRUM requires trust among members of the SCRUM team. However, when members of the team are going outside of the team as a first step, or taking credit for ideas generated in the team as their own, trust erodes extremely quickly.
  4. Create an Adversarial Relationship with the Customer - SCRUM and Agile development are designed to provide greater value to the project’s internal and external customers more quickly. When the Development Team Lead actively advocates the attitude that the customers are “dumb” and are the “enemy”, and then members of the development team get in trouble for treating the same customers like they are “dumb” and the “enemy”, it is an extremely de-motivating situation.
  5. Let CPAs Run the Company - Whenever a technology company’s CTO or similar type position is filled by a CPA with absolutely no technology background before taking the lead technology position for the company, many things go wrong. When you start trying to force developers in a SCRUM environment to track time based on how it can be expensed on the balance sheet, and if the same developers do not reach the desired percentages of each type of time, force them to change their time entries to match the goals required by the same technology leader, it is clear that this is not a true technology company.

SCRUM is a great tool to empower developers and provide immense value to customers quickly and on a regular basis. However, it cannot be managed like the traditional Software Development Life Cycle development teams.

Related Posts

Jun 2, 2014
2 minutes

Defensive Development - Fail Fast or Go Home

Defensive Development is a programming practice that is frequently misunderstood, but is nevertheless a critical practice to follow when working in many environments. I have seen articles written that argue that defensive development simply causes nonsensical null checks to be written, and as a result of seeing people writing bad code defensively, argues that no one should practice defensive development. There are other articles that, like many things in software development, argue that you should always use defensive development for everything.

May 7, 2014
2 minutes

Micromanagement Ruins Teams

It seems that the management thinking these days is that managers should empower their employees to make decisions and implement the actions behind these decisions. This works great when you have a team and management that has mutual trust with a mutual goal. However, when the manager does not trust the members of the team, or thinks that they have to be the one to make every decision or have input into every task, the empowerment disappears.

Apr 16, 2014
2 minutes

Top 5 Ways to Make a Developer Your Enemy

Developers are known to be some of the most finicky employees you will encounter in the workplace. However, this is a list of things that will annoy or infuriate developers and non-developers alike.

  1. Have the IT Manager send an email to all staff saying that all computers will have a keylogger installed. – This one is wrong on so many levels, the least of which is that it shows how little faith the company has in its employees and breeds mistrust of authority.
  2. As a Manager or Team Lead, take ideas and suggestions from meetings with your team, and pass them off to upper management as your own. – This just reeks of someone that is only in it to gain more and more power.
  3. As a Manager, don’t take the heat when things go wrong and blame the lowest-level employee instead. – I’ve seen senior management that is supposed to keep track of projects, ignore the project, and when it is the due date, blame those doing actual work on the project, throwing them under the bus.
  4. As a new employee, on your second day of work, tell anyone that will listen or is within earshot that you are able to rewrite the entire codebase in three short months. Bear in mind, this codebase is over 7 years old and has a team of more than 20 developers working on it, but of course the newbie can rewrite the entire thing in no time flat.
  5. As Management, when a developer hands in his/her resignation, schedule a meeting to try to first place a guilt trip on said employee to convince them to stay. If that doesn’t seem to work, then threaten to give the employee negative referrals if they don’t rescind the resignation and continue working for the company. Keep in mind that this occurred in a right to work state, meaning that there is no agreement in place that the employer would not wait a day or week or month and fire the employee without cause, just out of spite for wanting to work elsewhere.

These are just some of the things that will anger a software developer, so, be aware to avoid these if it matters at all to you.