Wednesday, November 12, 2008

Joel on Project Managers

This quote is long, in typical Joel On Software style. He said this in his latest podcast over at Stack Overflow with Jeff Atwood. I've ripped it off the transcript wiki. Definitely worth a read.

Here's my feeling about project managers:

One of the things that is interesting is that project managers, traditionally, are brought on because you have a team of yahoos - and this is just as true in construction, or in building an oil rig, or in any kind of project as it is in the making of anything - making a new car at general motors, or designing the new Boeing 787 dream liner - as it is in the software industry. Project managers are brought in because management says: "Hey, you yahoos! You're just working and working and working and never get the thing done and nobody knows how long it's going to take." If you don't know how long something's going to take and you can't control that a little bit then this really sucks from a business perspective. I mean; if you think of a typical business project - you invest some money and then you make some money back. The money you make back - the return on investment - might be double the amount of money you invest and then it's a good investment. But if the investment doubles because it took you twice as long to do this thing as you thought it would then you've lost all your profit on the thing. So this is bad for businesses to make decisions in the face of poor information about how long the project is going to take and so keeping a project on track and on schedule is really important.

It's so important that they started hiring people to do this and they said: "OK, you're the project manager - make sure that we're on track." These project managers were just bright college kids with spreadsheets and Microsoft project and clipboards. They pretty much had to go around with no authority what so ever and walk around the project and talk to the people and find out where things were up to and they spent all their time creating and maintaining these gigantic gantt charts - which everybody else ignored. So the gantt charts, and the Microsoft project, and all those project schedules, and all that kind of stuff, was an artifact created by a kind of low level person. Although it might be accurate depending on how good that low level person was, but it was still an output only thing from the current project: Where are we up to? What have we done? How much time have we spent? What's left? Who is working on what?

Then, for some reason, these relatively low level people, who were not actually domain experts, (if they were at Boeing they don't know anything about designing planes, if they were on the software team they're not programmers - they're project managers, and they don't know anything about writing code) they start getting blame when things went wrong and they started clamoring for more responsibility, more authority to actually make changes and to actually influence things and say: "Hey, Joe's taking too long here - we should get Mary to do this task, she's not busy." The truth is that they started getting frustrated because they were low level secretarial-like members of their teams and they wanted to move their profession up the scale so they created the project management institute - or whatever it's called - and they created this thing called... ah, I don't even know! But they created a whole professional way to learn to be a professional project manager and they decided to try to make it something a little bit fancier than just the kid with the clipboard that has to maintain these gantt charts all day long. You can tell this is what happened because the first thing project managers will tell you about their profession is that the most important thing is that they have the authority to actually change things and that they are the ones that actually have all the skills that can get a project back on track, or to keep a project on track, and therefore they need to have the authority to exercise these skills otherwise they'll never get anything done, they'll never be able to keep the project on track, they don't just want to be stenographers writing things down.

The trouble is, they don't actually have the domain skills - that's why they are project managers. If you are working on a software project you know how to bring it in on time and you've got to cut features, and you know which features to cut, becuase you understand software intrinsically and you know what things are slow and what things are fast and where you might be able to combine two features into one feature, where you might be able to take a shortcut. That's the stuff a good developer knows, that's not the stuff a project manager knows. In a construction project it's the architects and the head contractors who know where shortcuts can be taken and how to bring a project in on time not the project manager. The project managers don't have any of the right skills to affect the project and so they inevitably get really frustrated and everybody treats them like secretaries, or treats them like 'annoying boy with clipboard', when they really don't have a leadership role in the project - and they're not going to be able to because they don't have the domain expertise. No matter how much they learn about project management, no matter how many books they read, or how many certificates they get, no matter how long they've been doing project management: if they don't know about software, and software development, if they don't have that experience, they are always going to be second class citizens and they're never going to be able to fix a broken project.

23 comments:

Jack son said...

The PMP (Project Management Professional) Certification is an accreditation program regulated by the Project Management Institute (PMI) since the late 1990s as the main business perceived confirmation planned explicitly to qualification venture supervisors in undertaking the board. ExcelR PMP Certification

digitaltucr said...

Regular visits listed here are the easiest method to appreciate your energy, which is why why I am going to the website everyday, searching for new, interesting info. Many, thank you!
ExcelR pmp certification

Swhizz technologies said...

Thanks for this blog. good post...!!!
swhizz technologies is one of the best software training institute in Hyderabad.
we offer courses: -
salesforce
devOps
python
aws
mulesoft

Swhizz technologies said...

Thanks for this blog. good post...!!!
swhizz technologies is one of the best software training institute in Hyderabad.
we offer courses: -
<a href= "https://www.linkedin.com/feed/?trk=guest_homepage-basic_nav-header-signin”>salesforce</a>

Lorriel Sims said...

A project manager is a person who has the overall responsibility for the successful initiation, planning, design, execution, monitoring bathroom design seattle

Carylle said...

Wow, the post seems to be really nice. Thanks a lot for sharing that!check site

Vengie said...

Its a really interesting and informative article for me. I appreciate your work and skills, www.contractorlethbridge.com

Sruthi Karan said...

Nice article! It was very innovative thing with unique title and keep it up...
online solicitation of a minor

shazam said...

Very informative articles
is a dui a felony in Virginia
what is a dui in Virginia

jselleck893 said...

Great advice from a professional, hats off to you sir! grandrapidsgeneratorservices.com/

Anonymous said...

Thanks for sharing this article ! it's really useful
Plastic Surgery In Scottsdale

Anonymous said...

"Thank you very much for this wonderful topic!
"
Concrete Edmonton

Anonymous said...

Excellent blog post, keep up the great work
Movers in Red Deer

Anonymous said...

Such a well-researched and informative piece.
Winnipeg Accountants

Anonymous said...

I really loved it and thank you very much for sharing this with us.Great site with an awesome post. Thanks for sharing.
Landscaping

tyrionlannister said...

truck accident injury lawyerJoel's perspective on project managers reflects his unique insights. It's clear that he has a nuanced view on their role and impact on software development. The mention of them being "experienced developers" highlights the importance of understanding both the technical and managerial aspects of a project. The analogy to conductors of an orchestra is apt, as project managers often orchestrate diverse teams to create a harmonious product.

Joel's acknowledgment of the need for clear communication and setting expectations is crucial in project management. His emphasis on using project management tools effectively aligns with modern practices in the field. Overall, his thoughts provide a valuable perspective on the role and value of project managers in software development. 🖥️📊👥

Angel17 said...

Thanks for sharing this. Keep sharing. eco-55 ct

Anonymous said...

Glad to see this post.
Tree Services Clarksville TN

tyrionlannister said...

abogado dui henrico vaThe passage emphasizes the importance of project managers in various industries, highlighting the challenge of unpredictable timelines. It highlights the universal need for effective project management, whether in construction, manufacturing, or software development. The use of the term "yahoos" humorously captures teams working without clear timelines and deliverables. Project managers bring order to projects, ensuring timely completion. The business perspective links project timelines to return on investment and profitability. Accurate planning is crucial for successful project outcomes. The passage underscores the critical role of project managers in maintaining control, managing timelines, and ensuring projects are delivered within expected parameters for optimal business outcomes.

Navel said...

Wow... What a nice post. I really like it, Dryer Vent Cleaning Services

whitebilly said...

Joel Spolsky, a software engineer, writer, and entrepreneur, is known for co-founding Fog Creek Software and creating the Joel Test, a set of criteria for evaluating a software development team's effectiveness. His views on project managers can vary widely in the software development industry, influenced by factors such as organizational structure, team dynamics, and project complexity. In his past, Spolsky has emphasized the importance of effective communication, teamwork, and developer satisfaction in the software development process. He promotes an environment where developers can work efficiently and produce high-quality code. Spolsky's principles include version control, bug tracking, and respecting the work-life balance of developers. In terms of project management, Spolsky emphasizes the value of clear project goals, well-defined specifications, and avoiding unnecessary bureaucracy. His focus is on creating an environment that fosters creativity and productivity among developers. To get the most accurate and up-to-date information on Spolsky's views on project managers, it is recommended to check his official blog, articles, or recent interviews. His perspectives on management and software development practices can provide valuable insights for those interested in effective project management within the software industry.fatal motorcycle accident

dean said...

Joel Spolsky, a renowned software engineer, writer, and entrepreneur, co-founded Fog Creek Software and Trello, a popular project management tool. He has written extensively about software development, management, and entrepreneurship, introducing several principles related to project management and software development. Spolsky introduced the "Joel Test," a set of 12 questions aimed at evaluating the quality of a software development team, focusing on aspects like version control, bug tracking, and the effectiveness of the build process. He also introduced evidence-based scheduling, emphasizing the use of historical data and evidence to make realistic estimates for project timelines. Spolsky also discussed the importance of a quiet working environment, minimizing interruptions, and providing the right tools for developers for effective project management. Trello, co-founded by Spolsky, is a widely used project management tool that uses boards, lists, and cards to help teams organize and prioritize their projects and tasks. Spolsky's blog, "Joel on Software," contains a wealth of articles covering a wide range of topics related to software development, management, and business, providing insights into project management practices, team dynamics, and building successful software products.truck accident lawyer near me

Click Here For More Demolition Info said...

Very interesting information, worth recommending.

ShareThis