The world of work post-pandemic has shaken up offices across the globe, moving people out of their normal workspaces and into their homes. This caused a lot of disruption for a number of companies, but more so for the programming teams that are so used to working in close proximity to each other daily. Being pushed to isolate or just work remotely has made it difficult for teams to use the typical methods of teamwork that they would normally. So what are programming teams doing now, and is it making their solutions better than before? Read on to find out.
Software Development Frameworks
In order to understand how development teams are changing the way they work remotely, it is important to first get an understanding of what a software development framework is and why it matters to an individual team who may be WFH. A software development framework is simply the process of dividing the software development into smaller steps, sometimes happening one after another, sometimes happening in parallel. The lifecycle of a piece of software in development is called the software development life cycle, or SDLC. The most modern and famous of these SDLCs include agile, spiral, waterfall, iterative, incremental, and extreme programming, with the most common tending to be agile and extreme.
Agile programming tends to follow a circle of meeting the client and deciding on what needs to be done, developing an in-house plan for how to implement these features, designing the layout and GUI, developing the framework and code, testing it out, evaluating positives and negatives and then showing it to the client. The client then takes a look, asks for changes and the cycle repeats itself.
Agile has proven invaluable for specific or niche projects, leading many people to choose this software development framework. Extreme programming, on the other hand, is very different, choosing instead to focus on fast and frequent releases in short development cycles. Extreme programming is famed for often having a pair of programmers, one doing the coding and the other watching over their shoulder to make sure nothing goes wrong, the pair switching often to ensure there is always maintenance over the code.
How Have Teams Changed?
Agile teams have had to change a number of ways of how they work together in order to deliver similar pre-remote working results. As colocation benefits have become a thing of the past, team leaders are having to arrange specific times for everyone to come together and work together to generate ideas and fixes, instead of the frequent chatter that could occur in an office space. This has led to teams having to find new ways to communicate, such as Zoom, Slack or Discord. Extreme programming teams, on the other hand, have had to revolutionize their original systems.
In some cases, paired programming is no longer possible, due to distractions in one person’s space, network lag, or even time zone differences. This has led to some teams abandoning the idea and favoring frequent team feedback instead, with multiple people chipping in on code regularly so that solo programmers can have eyes on all parts of code. Teams are also finding new ways to communicate without immediate oral feedback as they can be used to using, relying on comment based or ticket based systems to provide consistent feedback to each other. This is wholly new for some people who have only ever experienced colocated programming.
As can be seen here, teams are adapting slowly to their new working environments with remote working becoming an easier and easier situation to be in. Moreover, teams are not suffering a huge loss in turnaround times nor in quality, indicating that these new solutions are working effectively. It seems that no matter the software development cycle, teams are adapting well to the new world they find themselves in.