Part II of III. Read Part I.
Document and Code Better
What a fun topic. Thankfully, Garrett Dimon injected this section with both humour and some hard-learned lessons.
Obviously no one wants to make documentation, but it needs to be done. On the flip side, documentation for the sake of documentation is not a positive thing either - It can often lock you into a way of thinking or operating that may not even be right.
Essentially, documentation needs to communicate something valuable regardless of how many pages it takes up. Design for people not bullet lists.
Otherwise, you may get "paralysis through analysis" - Getting Real
On coding specifically, Dimon recommends working as fast as possible to get your hands dirty because you're going to make mistakes anyway.
All the same, he stressed the need to refactor your code after you build it. He called it “code-debt,” when you write sloppy code, you’re going to be paying interest on that all the way down the line. It’s better to pay down the principle and move forward.
Avoid Specialization
This is a philosophy I like, and fits pretty well with how Raincity works. We have our fortes, but if we need to, we can pop on new caps and do what needs to be done.
When you ask a Javascript specialists to solve a problem, they are likely to use Javascript to solve it even though that might be the wrong tool. This is is true for any specialty, whether you’re on the front-end side or the back-end.
Avoid premature optimization - a lot of time gets invested on something that's not even a problem yet. See the big picture before sending in a specialist to optimize. See more than just your little world.
To back up this point, Dimon pointed to Windows Vista and the multiple ways to shut down the OS when one would have suficed. This is a clear reflection of design by committee. Each way to shut down Vista was probably justified, but it could have been boiled down to one method if each specialist could give up their position for the greater good.
Cut Features
Remove the clutter. Important features stand out and less important features go away.
"Innovation comes from saying no to 1000 things to make sure you don't get on the wrong track..." - Steve Jobs
Dimon spoke of many clients who want what their competition has. Why would you want what your competition has when you want to do better than them? Rather than giving the clients what they say they want, try to give them what they really want.
“Eliminate the unnecessary so the necessary may speak” - Hans Hoffman
End of Part II. Read Part I. Garrett's Notes
To be continued.