We could code everything but then of course we’d never be finished! So how do we prioritise items for coding and design?
Implement the minimal that we need - TBX is great but lets code what we need now
Is their a user for this functionality - if not code that to test the validity of the implementation
Code to data - if you have data to exercise the featuer then code it. Considering of course the other points
Choose existing technologies - we don’t want to reinvent the wheel
Don’t fall in love with cool tech - the latest greatest protocol could be our downfall