<p><pre><code> No excuses for failures given, just facts and requests for help
No excuses for failures accepted, just facts, and offers to help
Relentless execution
Individual honesty and integrity
</code></pre>
Wow! I didn't know that the political aspects of small in-groups was so simple!<p>We can just proclaim "PROBLEMS BE GONE!" and so it shall be! It's also so clear to me now!<p>What a load of crap. I've been on at least six developer teams, and the one thing that's proven true every time is that third party externalities will always find a way to hobble progress, introduces stalls in productivity, and wear down morale.<p>But there are deeper issues, particularly with software development, and undisprovable beliefs about which implementation of technology is THE ONE TRUE WAY.<p>People will always use that as a wedge, to alleviate the amount of work on their plate, and declare efficiency as the driving principle. But then! Non-technical people, clueless as ever about the machines that govern their livelihood (as glorified CRM receptionists) fail to understand, the truth is that it's just technical people pushing work around, spreading it in different arrangements, according to their liking.<p><pre><code> Let's bind everything to UNIX users
and LDAP permissions, that way the
system administrators can control
progress, and must be aware of all
tangential events.
Gee, I can't create a folder structure
on this file system, because I have to
wait for a sys admin to provide permissions
just so I can create an index.html file
at the location I need.
How about we throw everything in a MySQL
database, and persist our data over there?
Awesome, but wow, our table schema is
getting kind of huge. Managing it is
a chore unto itself.
Let the DBA team control every aspect
of the RDBMS, so that every change to
the database schema requires their
involvement. This way, we'll always
have to ask them for permission to
introduce a new table or column.
Okay, how about we just design our
tables, to be gigantic structured
text blobs, of unlimited size, so
that we don't have to wait for a DBA
to respond to our schema change
requests? Sounds great! It's less work!
NoSQL vs. SQL. Which is the one TRUE way?
Man, this CGI programming is really
hard, and our PERL codebase is tough to read.
Let's try PHP since it's so much easier to code.
Wow, our PHP code is so disorganized.
We should organize it into classes.
That didn't help. PHP permits too
many ambiguities, and it's counter-productive.
Javascript everywhere, at all times?
Why not a full re-write of the entire
system, because all we know how to use
is one client-side technology?
Object Oriented Programming or Functional
Programming. Which is the one TRUE way?
I'm having trouble sorting out which
functions are in scope, because there
are so many modules in this file tree,
and I can't easily discern which file
references which, and in which order.
So many functions are similarly named,
and many developers are simply overriding
namespaces to control scope. We should
restrict who can create new files in
this tree, so the library stays sane.
Let's bind everything to UNIX users
and LDAP permissions, that way the
system administrators can control
progress, and must be aware of all
tangential events.
</code></pre>
And so on...