I wrote this in my notebook 3 weeks ago. I got home to find my wife about to go into labour. 12 hours later we had a baby girl hence I’ve been a bit busy!
I’m on my way home after some spur of the moment “There’s no bugs left lets go for a drink” drinks. Its been a good day with some great discussions. Creative juices are flowing. I’m reading Organizational Patterns of Agile Software Development. Typically of pattern books its about naming and clarifying things you may have already experienced. So I’ve been pondering the organizational and design patterns that were at work in the office today.
Breaking dependencies opens doors – Our software is too closely coupled. Breaking the dependencies takes a lot of work which may not bring immediate benefits (See “coupling decreases latency”?) but combine with “CTO feeds direction” powerful business cases can be found for the necessary re-factoring.
CTO feeds direction – Whilst out sprints focus on satisfying our customer’s immediate needs, informal chats with the CTO give us insight into the needs we could be satisfying next. Ultimately our strategy is not decided by the customer but by management. Perhaps there is a related anti-pattern, “Management overrule customers”
Superstar clears muddy waters – Our new superstar developer sees through the mud we have been wading through. After working on the same products for many years we assume many things need to be the way they are . Our new superstar sees things in different ways. This opens up opportunities for dramatic improvements to our product.