This Computer Weekly Developer Network series is devoted to examining the leading trends that go towards defining the shape of modern software application development.
As we have initially discussed here, with so many new platform-level changes now playing out across the technology landscape, how should we think about the cloud-native, open-compliant, mobile-first, Agile-enriched, AI-fuelled, bot-filled world of coding and how do these forces now come together to create the new world of modern programming?
Krug writes as follows…
Software development isn’t only about tools and technology. It’s also about the processes and best practices we use to ensure teams operate as efficiently – and effectively – as possible. The Covid-19 (Coronavirus) lockdown has accelerated a number of changes in how teams collaborate and communicate that were already underway – and even [as] lockdown lifts we are going to see profound changes in terms of how teams operate.
Top-down hierarchical software development will become an even bigger obstacle.
Quite simply, communication now runs at the pace of Slack. Whether through open source or InnerSource, companies with very traditionally run software product development or IT departments will have to adjust their practices.
Those taking a ‘top-down’ approach must make the biggest changes. Work that’s directed from above (and vigorously protected territorial silos) will result in a lot of time on Zoom. New management techniques and approaches to distributed communication and computing technologies will mean some companies race ahead of the competition.
From cellular manufacturing practices to InnerSource, there are long-studied methods of distributing authority and accountability in ways that enable decision making at lower levels – which is now less an option, more a necessity. Doing so means moving management from decision-making to goal-setting and organisational structuring.
Design for Conway’s Law
“Any organisation that designs a system will produce a design whose structure is a copy of the organisation’s communication structure.” Conway’s Law can’t be fought, but you can understand its influence and work within its constraints.
Essentially, you need to collaborate in order to successfully develop applications. For instance, if new ways of working make close collaboration difficult, collaborate loosely. If shared resources are causing constraints and bottlenecks, couple software more loosely to its foundations. Trends like microservices are an explicit recognition of these constraints and should now be coming into their own.
In a socially distanced world, product managers are more important than ever. Developers will know what needs to be done to create a solution – if they know what they’re supposed to solve. However, solving these issues means getting inside the customer’s head.
Expecting developers to become psychologists is a step too far. Instead, there needs to be clear communication between product managers and developers over what customers’ issues are and ideally what they want their end state to be.
This means fast communication with distributed teams is essential. If it isn’t in place, a priority for all teams in a business should be making sure it is.
Use workflows, not meetings
As alluded to above, the new normal should cause us to question what we want from meetings. Meetings with more than a few people involved are not productive – at best, they are announcements or at worst two people talking to each other while everyone else waits for their name.
Management, marketing and other parts of an organisation need to take a note from developers and learn to use issue tracking, sprints and a general workflow to make meetings run more effectively. Think of a meeting like a computer. The aim should be to make meetings a fast system – and to remove constraints on action. The aim should be to give people the data and the power they need to work more independently
Organisations that fail to do this will fail to adapt.
In the end, it’s a brave new world. Change is happening fast.
Company’s supply chains are no longer centred strictly on China with distribution through major hubs. It’s a bigger globe, with more places. Adaptability – whether in manufacturing or software – is essential. Meaning the decision making capability needs to be close to the data.
To thrive in 2020, we must distribute decision making, adapt tools and structures that empower people (especially developers), and fight the desire to make everything a Zoom meeting. You’ll find people generally do want to do the right thing and, given the opportunity, they will.