June 25, 2021 CTO Dave Messenger on Modern VSM in the Gig Economy
Topcoder CTO Dave Messenger recently delivered a keynote address at the Software Development Times’ Virtual VSM DevCon. The conference — focused on value stream management for development teams — invited Dave as a thought leader on gig economy talent.
Throughout his keynote, Dave shared ways to better integrate internal/external teams to improve collaboration and overall development success. He also dove into how companies could use value stream engineering to manage and measure modern software development, and shared what Topcoder has learned from incorporating VSM into our engineering process.
Dave’s session was one of the most well-received at the conference. If you missed It, we’ve got you covered. Explore some of Dave’s biggest takeaways and key points below!
The why behind value stream engineering
With the digital way that products are moving, businesses that want to stay competitive have to be more agile. That means delivering faster, higher quality results. People are tackling that by looking at unique talent models and bringing in new technologies. That’s all great, but as Dave put it, “writing a single line of code is the most expensive thing you can do.”
This is where value stream engineering really comes into play. After all, the mantra of “developers, developers, developers” grows hollow when you realize how scarce and how expensive good developers are. Making the process better improves the outputs.
“In order to get the best quality out of people, you really need to find them the right projects to work on, have them work on a single project, and have them focused.” —Dave Messinger
Topcoder is Tackling VSM In Its Own Space
In his keynote, Dave gave audiences a sneak peak at how Topcoder is increasing agility, innovation and speed internally, and what insights or learnings you can take from Topcoder’s processes:
- Instead of looking at the entire big picture, try to tackle small pieces in your DevOps pipeline one step at a time.
- Topcoder tackled focus and prioritization first. Do you split up projects through the stack, where a developer does the front end all the way to the back end? Do they just have to do one piece? Being able to split something into small units versus looking at the entire project at once also helps with that focus.
- Once you have that focus, you have the data you need to find the right people at the right time.
- Track how long it takes to hire/staff a person on a project. Let’s say you want to now do iOS development, and then three months later, you’re going back to web development. In such instances, you should always be tracking staffing time so that you can start to reduce that time and shorten project timelines.
Other areas of improvement and agility that Dave shared included:
1. Have Clearer Code Review
Being able to find defects early will dramatically reduce your costs. It also increases your speed to release. The savings and improvements that this can generate can be enormous for your organization.
Dave suggests using a standard scorecard process with code reviewers:
- Reviewers look at the pull request.
- Reviewers then fill out a numerical scorecard that asks questions, such as “Did their person implement all the requirements? How well did they do that, on a scale of one to four?”
- Topcoder then tracks and gives a numerical score to every code review. This gives the team the ability to look back and identify clear patterns in bugs and errors, and then make proactive changes to address them.
2. Incorporate Better Testing
Topcoder also looks at testing. Dave discussed how split testing can be done in two ways:
- Topcoder developers are responsible for unit tests
- Topcoder also has a team that writes functional tests against the unit of work
“Let’s say we design an API,” says Dave. “We’ll generate the rest interface and the stubs. We’ll actually go straight now to writing functional tests. That pulls up the speed of when we can get tests done. And we can even get test-driven development, not only by the developer doing unit tests, but also the reviewers who are doing functional tests in advance.”
“It’s very risky to add additional features,” warns Dave. “No matter if it’s a sprint cycle, a waterfall cycle, etc., you want to be measuring that you’re getting what you have done.”
Dave shares how he loves the YAGNI acronym: You Aren’t Going to Need It, “so don’t add it now.”
And this is something that Topcoder’s code reviews and scorecards take into account, where they actually score you down in their process if you add additional features. It introduces more bugs. It introduces more code. And more code creates more liabilities for security and for maintenance.
Crowdsourcing and Modern VSM
In all of the scenarios that Dave outlined above, crowdsourcing introduces major advantages for everyone. It allows you to tap into focused developers who are ready and able to tackle one piece of your pipeline, while also dramatically shortening staffing times. It also creates the agility and flexibility your team needs to respond in real time to changing demands.
For more resources on crowd talent and on-demand technologists can enhance your approach to VSM, check out these industry-leading ebooks and whitepapers. And for more thought leadership from CTO Dave Messinger, check out these episodes of the Uprisor podcast: