|
|
|
|
|
by and-not-drew
1513 days ago
|
|
> It's not unlike the military priority of 1) mission accomplishment and 2) troop welfare. I hear what you're saying, but I would be careful taking a military type model and applying it to a team of software US engineers mainly because I think the power balance is so different. If I'm in the military and I tell one of my subordinates that they need to dig trenches in the rain all weekend for the next 6 weeks, they may bitch and moan, but they've signed a contract so they're just kind of stuck. If I tell one of the engineers on my team that they need to work weekends for the next 6 weeks, they can probably have 3 interviews with other companies lined up by Monday. I agree that achieving results is still priority #1, but the distance between that and #2 is very different. |
|
I think those managers that ask their software engineers to pound sand are generally going to be bad managers. Notably, who should you ask advice from, someone that has designed 10% of the system specs, or the person that designed 90%? (Guess what, software engineers design about 90% of system specs!) Citation needed, but the amount of specifications that engineers have to fill in is quite mind boggling (what happens to this web page if DB is slow? What happens when a user clicks this button while this other thing is still loading, etc..). So while the 90/10 split is an exaggeration, the point remains, software development is a highly collaborative activity, particularly with the engineers. Some have said that a software's engineer main job is to figure out how to achieve 80% of the benefit, with 20% of the work. This aspect is missing from the typical unit-level command and control example, notably the "commanders" in software really don't know what the hell they are talking about unless they engage in actual conversations with the developers and users.