In this interview, Sven Peters, the lead evangelist for Atlassian, discusses whether making software has become harder. He tackles whether being agile is enough in the current landscape and questions if we're sacrificing quality for the sake of speed.
Josiah Renaudin: Welcome back to another TechWell interview. Today I’m joined by Sven Peters, the lead evangelist for Atlassian and a keynote speaker at our upcoming Better Software West Conference. Sven, thank you very much for joining us. First, could you tell us a bit about your experience in the industry?
Sven Peters: In my twenty years of experience in the software development business, I've worked with a lot of technologies. Some don't exist anymore, but most are still out there—from embedded systems (what we now call IoT) to React for building web apps. Technology has changed a lot, but working with other people has been a constant in all of my projects.
Josiah Renaudin: Has software development gotten harder, or has it always been difficult to keep everyone in sync?
Sven Peters: Keeping everyone in sync has always been challenging, but it's gotten increasingly more complicated over the years as more people have been added to the process. For example, because software is now used by nearly everyone, UI/UX plays a much bigger role. That requires more designers. Additionally, software now runs on servers and users expect updates frequently. That requires software development teams to work more closely with IT and operations teams, support, marketing and many more.
Software today is a very collaborative effort between many teams, so it's incredibly important to keep everyone in sync and find a common language for getting work done across technical and non-technical teams
Josiah Renaudin: How tricky is it to deliver high-quality code at the breakneck speed people expect things to be developed in today? Are we sacrificing quality for the sake of speed?
Sven Peters: These days, we have much better tools to help with quality control. I remember times when manual testing was the only quality check of new software. Nowadays we write automated tests, do asynchronous code reviews, use pair programming, implement static code analysis, constantly monitor our services, roll out new software to a small subset of customers first and much more to prevent bugs reaching end users.
Is software less buggy now? I don't think so, but we find and fix problems much faster because we don't have such a long quality check phase anymore. Last month, for example, I had problems with an application from a large cloud app vendor. I contacted support and within just one hour the problem was fixed.
Importantly, I think we need to understand and carefully weigh the risks and benefits of shipping for speed. Not all issues can be fixed quickly. Security is incredibly important and needs to come first.
Josiah Renaudin: You argue that just being agile isn’t enough. Can you explain why that is, and what else teams need to do to succeed?
Sven Peters: Being agile is important. But often people mix doing Scrum, Kanban, or even daily stand-ups with being agile. Agile is a mindset that everyone involved in software development needs to understand.
The biggest problem is that it's quite an abstract concept. What do the principles and values mean for the day-to-day job of a developer? Doing things others haven't tried, coming up with new concepts for better engineering collaboration, or taking time to work on automating parts of QA helps software development teams be more effective. Every team, organization, and software product is different, and so should be your development.
Josiah Renaudin: How can you avoid meetings in order to speed things up? Does avoiding meetings hurt teamwork and collaboration at all?
Sven Peters: We all attend too many meetings. The first step in fixing this issue is considering whether every person on the invite list really needs to be part of a meeting. The second step is applying certain techniques to make meetings more effective, such as requiring an agenda, making sure people are properly prepared, encouraging a culture of staying focused and so on.