Least intuitive: NOT making decisions until you have to, thereby avoiding building complex cathedrals of software that don't quite do what the team eventually need, but carry lots of debt that deters the team from refactoring it, instead it gets layered upon.. My OCD always kicks in and I find myself creating frameworks that "you ain't gonna need"...
Best practice: I'm with a number of folks, in NOT writing code until you have solved the problem, or at least have some ideas to try out and measure what matters. We don't "churn out code", we solve problems as obviously and elegantly as we can :)
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.