Latest Blogs by Wai Ling
See all blogs
Icebreakers: are they a complete waste of time or do they add value? Some people absolutely love them, other absolute dislike them because they didn’t add any value. I believe a well-designed icebreaker can kickstart your session, can be fun and get people warmed-up for the rest of the session. Learn about how you can design icebreakers that add value and that grow connection between the participants and the purpose of a session.
Aug 23, 2019
Have you ever been curious about what really motivates the people you work with? What are they looking for in their role and in their work? If you can find an hour with your team, I recommend you to try the Moving Motivators practice (Management 3.0). Let's unpack how to prepare and run the exercise and end with some learnings.
Aug 15, 2019
It was only about 30 minutes into the meeting when the senior developer uttered the dreaded words: “Rewrite”. That was the point where what should have been a simple 6-step upgrade turned into a 9 month nightmare upgrade/rewrite costing us millions with nothing new to show for it and left us with a broken team and a disillusioned business.
A few years earlier the company (a bank) had decided to buy a Business Intelligence (BI) product from Oracle to generate insights into badly performing commercial loans. By now not just a vital part in saving tens of companies a year from bankruptcy, but also played a big part in our regulatory obligations.
Buying the Oracle product had allowed the bank to quickly get a working version up and running and as a result feature requests quickly started pouring in and a team was formed to keep adding features to the BI solution.
A few years later and a month or two before I joined the team Oracle dropped extended support for the version of Oracle BI and after trying to upgrade for a few months the decision was made to cut our losses and rewrite it from scratch.
How did we get into this mess?
Off-the-shelf turned into custom made
The decision to buy COTS (Commercial Off-The-Shelf) was made so we could get started quickly, which was (quite literally) invaluable, because not just the amount of money involved, but also to keep regulators happy. But at no point was that decision revisited or underlying assumptions reconsidered. More and more complex features were added until it was no an off-the-shelf product anymore. I have seen this so many times I call it the “Custom Off-The-Shelf” pattern.
More features over keeping up with upgrades
The business and technology teams were not understanding each other. The business cared only about getting the most bang for their buck and when features would be delivered. The technology team in turn was not transparent what the consequences were of those decisions. One major example of that, was that features were consistently prioritized over things like upgrades. This building up of technical debt dramatically decreased the maintainability and the transparency of progress. By the time we were forced to rewrite the application, it was years out of date and Oracle had dropped even extended support.
Unclear coding standards & design guidelines
Most of the features were custom built into the product, and it was not transparent how these features were exactly built into the product. In the bank, the product was seen as off-the-shelf and very specific to this business area, so setting up coding standards was deemed unnecessary. The team was only one of the two teams in the bank that were using this product. And because of the relative low amount of development on this product, the team had never spent much time on getting clear coding standards and design guidelines. Over the years, team members had come and gone, and design decisions had gone with them. Back tracing specific design decisions for the custom built features were very hard..
What should we have done differently?
Say ‘No’ and be transparent
The Development Team felt pressured to always say ‘Yes’ to all requests of the business, and failed to articulate the impact and consequences of those decisions: increasingly building up technical debt over the years to a point that it was no longer maintainable. Learn to explain the impact of technical debt, and learn to say ‘No’.
Reassess the buy the decision versus custom built
The reality was that this was not an off-the-shelf product anymore. The custom built features were the majority of the application. We should have reassessed the buy versus custom built decisions regularly.
Never ask permission to do your job properly
The Development Team is responsible for delivering high quality Increments. As a Development Team Member you should never ask permission to do your job properly. Upgrades, design & coding standards, tests and anything else you need to delivery quality are non-negotiable. Leave technical decisions to the people accountable for technical quality. Do not give that choice away.
To summarize
Buying an off-the-shelf product can be a great solution for your business problem. But as soon as you start customizing, you need to regularly revisit that decision. As in all software development it is vital to be transparent about impact of any decision Product Owners & stakeholders need to make. And most importantly, never ask permission to do your job properly.
Apr 7, 2017
Wai Ling's Certifications
Professional Scrum Master I
Professional Scrum Master II
Professional Scrum Master III
Professional Scrum Product Owner I
Scaled Professional Scrum
Professional Agile Leadership I
Classes Attended by Wai Ling
Professional Scrum Master - Advanced
Trainer:
Jesse Houwing
Partner:
Professional Scrum Master II
Date:
Dec 20-21, 2018
By using this site you are agreeing to the Privacy Policy and Terms of Service