Yesterday I landed in beautiful Denver CO attending this year's North American ThoughtWorks Away Day held at Keystone Resort for the weekend.
For large part of today I have been inspired and challenged by brilliant sessions given by fellow thought workers and in this blog I would like to share some of my random thoughts on these topics. The following thought fragments are written as notes, not in any particular order:
- Deliver but don't be afraid of failure
- Fail fast and cheaply
- Ideally fail before delivery and in small increment
- Focus on idea validation
- Open to differences in idea
- Success criteria should be defined with client not by implementer
- Stake holder should become influencer and even implementer not just holder
- Classic (state driven) vs. Mockist (interaction driven) unit testing
- Unit Test, Integration Test, Component Test, End2End Test, Contract Test -> MicroService Test Strategy
- Internal service resource to facilitate testing
- Give contract test kit to up-steam service team so they can integrate it into their pipeline
- Contract for the same service is different for different service consumer
- Test brittleness goes up as you climb the pyramid
- Lower the cost of failure and faster we can fail the higher the anti-fragility
- Tossing out code is better than maintaining unused feature
- Design/Validation by elimination
- Use "specification by example" to drive requirement
- QA engagement early on
- Think of QA as XD for negative path
- XD tends to focus more on happy path
- Path mapping: map happy/sad path for different persona to bring visibility to product and stake holders
- Analytics (facts) driven experience design
- Everything becomes better with example
- Analytics - better business decision support