Today one of our hardware folks came in to complain about how
complex on of our software projects has become. He tried to check out
package A and it has many dependencies called externals underneath the
top level. He had to get project to build all the way
though just in
order to get his one little bit to work. Sure enough one of the
external packages would have some issue because we are in the middle of
a lot of development. These things happen. He wants to add his change,
so he needs to check out the latest.
So, he walks in my office and says "What happened to blah project?!"
His problem was project A had and externals folder with project B that
also had an externals folder which might contain project C which ...
Well, you get the idea.
One of the other developers was walking by and got drug in to the
conversation. We discussed scenarios and battled our opinions and
observations back and forth. During this impromptu meeting, there were
a couple of global design changes that will affect several projects.
They are good things in my book.
This all started as one developer complaining to another out of
frustration for making a very minor change in I believe one file on a
Friday afternoon. It struck me as funny how that worked. This is
something that can only happen with a limited number of developers.
Huge companies have a problem fixing things like this down the road.
We have a development manager at our company now. I have a feeling
that once he gets up to speed on larger projects he will make these
kinds of decisions and changes like this will not occur after a quick
meeting on a Friday afternoon as a result of frustration over checking
out a bunch of files and trying to make a minor change then build a
bloated project.