A Little More Planning
First, a little more planning…
As far as the length of the brackets, I wasn’t sure if my ceiling joists would line up with where I needed my shelves to be. Rather than take the time to figure it out, and potentially end up with smaller shelves due to where the joists were relative to the garage doors, I decided to be less efficient in my use of materials.
I decided to use larger brackets and hang them across several joists. This would allow me to position the shelf wherever I needed, rather than locking me into the location of the ceiling joists. In programming terms, I created loose coupling between the ceiling joists and the location of the shelf.
This would be more expensive. I would have to buy longer pieces of angle iron to bridge the gap between the joists, but it gave me two key advantages. First, I didn’t have to determine up front exactly where the shelves would hang. It reduced up front planning and allowed me to defer key decisions. Second, I didn’t have to reassess the size of the shelves relative to where I could hang the ceiling brackets.
I had to remind myself that my goal was a set of 2 foot by 4 foot shelves over each garage door. That was the only goal that mattered. Optimizing to use less materials (optimizing to reduce cost) was going to take me away from my goal. I also realized a secondary goal: To finish the project quickly. Because I was doing this on my own time and I highly value my time, I was willing to make some concessions on cost.
In terms of the iron triangle, I fixed my scope, wanted to control my schedule and was willing to give a bit on cost. Which, now that I think about it is not the way most software projects run…