Читать книгу Beginning Software Engineering - Stephens Rod - Страница 34

PART I
Software Engineering Step-by-Step
CHAPTER 3
Project Management
EXECUTIVE SUPPORT

Оглавление

Lack of executive management support is often cited as one of the top reasons why software projects fail. This is so important, it deserves its own note.

NOTE To be successful, a software project must have consistent executive management support.

The highest-ranking executive who supports your project is often known as an executive champion or an executive sponsor.

Robust executive support ensures that a project can get the budget, personnel, hardware, software, and other resources it needs to be successful. It lets the project team specify a realistic schedule even when middle management or customers want to arbitrarily shorten the timeline. Managers with limited software development experience often don’t understand that writing quality software takes time. The end result isn’t physical, so they may assume that you can compress the schedule or make do with fewer resources if you’re properly motivated by pithy motivational slogans.

Unfortunately, that usually doesn’t work well with software development. When developers work long hours for weeks at a time, they burn out and write sloppy code. That leads to more bugs, which slows development, resulting in a delayed schedule, greater expense, and a low-quality result. Not only do you fail to achieve the desired time and cost-savings, but also you get to take the blame for missing the impossible deadlines.

Executive support is also critical for allowing a project to continue when it encounters unexpected setbacks such as missed deadlines or uncooperative software tools. In fact, unexpected setbacks are so common that you should expect some to occur, even if you don’t know what they will be. (Donald Rumsfeld would probably consider them “known unknowns.”)

Overall the executive champion provides the gravitas needed for the project to survive in the rough-and-tumble world of corporate politics. It’s a sad truth that different parts of a company don’t always have the same goals. (In management-speak, you might say the oars aren’t all pulling in the same direction.) The executive champion can head off attempts to cancel a project and transfer its resources to some other part of the company.

In cases like those, work can be somewhat unnerving, even if you do have strong executive support. I once worked on a project where both our executive champion and our arch nemesis were corporate vice presidents directing thousands of employees. At times I felt like a movie extra hoping Godzilla and Mothra wouldn’t step on us while they slugged it out over Japan. After two years of unflagging support by our champion, we finished the project and transferred it to another part of the company where it was quite successful for many years.

Executive champion duties include:

● Providing necessary resources such as budgets, hardware, and personnel

● Making “go/no-go” decisions and deciding when to cancel the project

● Giving guidance on high-level issues such as how the project fits into the company’s overall business strategy

● Helping navigate any administrative hurdles required by the company

● Defining the business case

● Working with users and other stakeholders to get buy-in

● Providing feedback to developers about implemented features

● Buffering the project from external distractions (such as the rest of the company)

● Refereeing between managers, users, developers, and others interested in the project

● Supporting the project team

● Staying out of the way

The last point deserves a little extra attention. Most executives are too busy to micromanage each of the projects they control, but this can sometimes be an issue, particularly if the executive champion is near the bottom of the corporate ladder. If you are an executive champion, monitor the project to make sure it’s headed in the right direction and that it’s meeting its deadlines and other goals, but try not to add extra work. As Tina Fey says in her book Bossypants, “In most cases being a good boss means hiring talented people and then getting out of their way.”

However, studies have shown that more engaged executives result in more successful projects, so don’t just get things started and then walk away.

Beginning Software Engineering

Подняться наверх