For IT organizations hungry for talent, agile is key to helping attract and retain the next generation of engineers and developers, because the principles of the methodology dovetail with millennials' intrinsic motivation.
Autonomy, mastery and purpose
One of the hallmarks of the millennial generation is its need for autonomy, mastery and purpose in the work they're doing, and a demonstrable impact on the success of the companies they work for and the larger world around them. It's one of the reasons millennial software engineers embrace the agile methodology, with its emphasis on flat management, self-regulating teams, business context, iteration and ability to adapt quickly to changing needs and demands, says Dave West, product owner at Scrum.org.
"Agile and scrum were developed in the 1980s to address the exact challenges that millennials claim they want in a professional organization: They want to be autonomous, they want to be creative, they want to collaborate around a shared mission and values, and they need the larger context around the work they're doing. They are motivated by mastery, autonomy and purpose," says West.
In agile and scrum, the focus is on the outcome of a project and the "why" of solving a business problem, not on "how" it's done, which was a major problem with the traditional waterfall method of development, West says. The strict hierarchies of waterfall didn't allow for much creativity, collaboration or knowledge-sharing, at least from the developers and engineers who were working on the projects, and those constraints often affected outcomes, says Zubin Irani, CEO of agile transformation consultancy cPrime.
"A lot of the older generation of tech and engineering managers came from military backgrounds and brought with them a very top-down, order-and-rank, hierarchical style of management. But millennials don't work well under that style. Instead, they gravitate to agile because they can work with the business; they know what they're building, why it's more important than other projects, and they collaborate with the business on different ideas and suggestions for making the project a success," Irani says.
This is a major difference from waterfall, in which development teams or individual engineers were simply told what to work on and how to do so. With agile and scrum, Irani says, developers and engineers have much more flexibility and freedom to suggest the best, most efficient and effective ways to achieve the desired project outcome because they're privy to information and knowledge business owners aren't - and vice versa.
"If you've been working on a project, you get pretty intimate with everything about it, and the frustration many engineers and developers have is an inability to share their inside knowledge and ideas and challenge others at the table to make it better. Bringing engineers and developers to the table with business analysts, executives and other stakeholders allows everyone to provide ideas and suggestions for how to iterate, adapt and make projects and products better," he says.
Sign up for Computerworld eNewsletters.