As the nature of software development evolves, so should your dev team

Jeff Mazur is the executive director for LaunchCode, a nonprofit organisation aiming to fill the gap in tech talent by matching companies with trained individuals. As one of the winners of the 2017 MIT Inclusive Innovation Challenge, LaunchCode has been recognised for expanding “the tech workforce by providing free coding education to disadvantaged job seekers.”

Companies have been leaning on the waterfall method of software development since the 1970s. But tech has changed a lot since then — so shouldn’t development processes, too?

The waterfall method offers a linear, structured approach. Deliverables are clear, and the scope of any project is easily defined. A company receives a job, someone figures out what needs to be built, the next person builds it, the next person tests it, and so on until the product is delivered. For the most part, responsibilities and processes are predictable.

Waterfall development worked because it was consistent. But the niche it once filled is fading out due to shifts in the business environment and digital landscape. Companies will be smart to heed the call for change.

Is waterfall development truly outdated?

Competition was much lower when the waterfall method was invented and popularised throughout the ’80s and ’90s. Now, software has drastically decreased the cost of starting a business. In turn, we’ve seen a boom of digital transformation and free-flowing venture capital investments, resulting in an influx of new companies entering the market every day.

The need to build better products for customers is greater than ever as risk factors — and the economy in general — have changed drastically. Priorities are now centred on boosting the knowledge economy over the manufacturing one, and businesses are rapidly evolving to keep customers happy.

Naturally, new workflows have emerged. The waterfall method still works for some companies, but most have seen the need for innovation and transitioned into an agile process. An agile company is one that can function as a single team, which is a huge infrastructure change for most traditional businesses.

This is especially true for enterprises because bigger companies naturally face more challenges when it comes to changing practices and shifting mindsets. In fact, 70% of enterprise transformation attempts fail, and a majority of failures point to “employee resistance or management behaviour” as the biggest reasons why.

One hurdle is leadership’s resistance to breaking up centralisation. In more rigid and linear business structures, there’s typically little to no room for multiple people on a team to provide input and collaborate openly. The responsibility falls mainly on one person. In a more modern and agile structure, however, it’s redistributed amongst the team. Instead of having one leader responsible for the whole team’s progress, every person has a goal to meet.

For more established enterprise companies to shift toward a more modern project management approach, leaders first need to shift their thinking and skill set from managing down to enabling more collaboration across all levels.

More agile dev teams are the new paradigm

Technological development has been one of the biggest changes in the nature of business development. Innovations such as automation have affected how business teams function as much as almost every other part of our lives. For example, if a company’s goal is process control or other repetitive behaviours, it makes better business sense to automate those tasks. Still, no technology can think creatively or solve problems the way the human mind can.

Technology helps, but agile business development requires that level of human creativity guiding it. As methods like waterfall development fall away, other strategies rise to fill the gap. One of the more popular methods is a strategy known as scrum, where a product owner works directly with a client, then translates the client’s vision to the dev team. The team then figures out how to bring the client’s vision to life.

After a sprint that usually lasts a week or so, the team presents the product to the client. This creates a much shorter time period between talking to the client and presenting the project, and it allows for a greater amount of feedback throughout the project. Overall, dev teammates waste less work and time because they’re continuously receiving feedback from the client and are able to revise their work as they go.

Another more agile methodology is the DevOps method, which minimises dependencies by making it easier for the whole team to deploy instead of just one person. The team can even automate the work to deploy on its own. Overall, it makes building products a more streamlined process that’s much less dependent on other factors. DevOps and similar methods are flexible, feedback-driven approaches that make better use of a team’s time and resources.

Finding the right employees for agile teams

More and more enterprise CIOs are taking the initiative to create more agile development teams. When building this agility into their teams, they need to shift their hiring mindsets from looking for specific credentials to looking for specific skill sets and soft skills. For an agile team, one of the most important things to look for in a candidate is a growth mindset. Candidates have to be willing to accept feedback and have a passion for learning new things.

Finding candidates with the right qualities may require looking to different talent pipelines. Technologists who have learned their skills through coding bootcamps, for instance, prove their passion while showing self-motivation and drive.

On top of that, people with various background experiences outside of four-year degrees bring different soft skills to the table. For example, if someone learned to code at night while working a full-time job during the day and caring for three kids at the same time, he or she is likely to have excellent time-management and problem-solving skills. Those are the kinds of qualities that can contribute to agile development.

Competition is higher than ever, and enterprises need to innovate to stay ahead. Flexible, agile teams made up of different perspectives and new skills can lead even well-established companies to new heights.

Photo by Tobias Mrzyk on Unsplash

Interested in hearing industry leaders discuss subjects like this and sharing their use-cases? Attend the co-located IoT Tech ExpoBlockchain ExpoAI & Big Data ExpoCyber Security & Cloud Expo and 5G Expo World Series with upcoming events in Silicon Valley, London and Amsterdam and explore the future of enterprise technology.

View Comments
Leave a comment

Leave a Reply

Your email address will not be published. Required fields are marked *