Product
Agile Development in Large Enterprises: Key Considerations for Implementation
2022-12-8
As the software environment evolves, so do the needs it addresses. If development proceeds strictly according to an initial plan, without adapting to changes, the final product may be outdated by the time it is released.In recent years, maintaining high development agility has become a critical competitive advantage. Agile methodologies, including Squad, LeSS, and SAFe, are increasingly emphasizing scalability to meet this demand. Given these dynamics, the primary approach to software development is shifting from the traditional waterfall model to agile methodologies. This article focuses on agile development and its implementation in major companies, and explains the key points.
What is Agile Development?
To understand agile development better, it's helpful to compare it with the traditional waterfall model. The three key variables in the development process are time, resources, and development requirements. In waterfall development, the development requirements are fixed, and in order to realize those requirements, the necessary assignments are made and a schedule is drawn to proceed with development. In other words, the approach focuses on the completion of development and strictly follows project management. On the other hand, in agile development, a certain amount of time and resources are secured for function development and iterations, and the development is carried out while considering what should be developed within that range. Therefore, we do not draw up a medium- to long-term development plan, but rather decide what to develop and evolve the software in each development unit (mainly from one week to one month), which is called a sprint, in order to realize the product vision.
Looking at the above comparison alone, it is easy to see agile development as more advantageous because it is more flexible, but this is not always the case. However, this is not always the case. Waterfall development is suitable if it is not affected by changes in the environment, and if it can be planned in advance and developed with a large amount of time and resources. On the other hand, if you have not yet found the right answer, and you are evolving your product as you search for it, agile development, which sets certain resource and time limits to get closer to the right answer, is more compatible.
Adoption of agile development in a major company
In general, large companies often have IR and budgeting constraints, so they need to create a detailed business plan and operate their business according to that plan. In Japan, product development is rarely done in-house with engineers, and there is a strong tendency for companies to define requirements in-house and then outsource development. Because of this background, waterfall development, in which plans are made in advance and then implemented, seems to be adopted in many cases.
So, should major companies also adopt agile development? Certainly, waterfall development is suitable for core businesses that major companies have been refining for several decades because of its high predictability. On the other hand, how about new businesses? Although new businesses are developed in peripheral areas where synergies with core businesses are likely to be generated, the resolution of these businesses is inferior to that of core businesses. In addition, compared to core businesses that are already profitable, most start-up businesses require minimal time and resources. Therefore, agile development is a more appropriate choice because it is more flexible to uncertainties and requires exploration and software development within a certain amount of time and resources.
Points to consider when introducing Agile development
Waterfall development, which is a strong point of major companies, and agile development clearly differ in their main concepts and goals to be realized. Therefore, simply introducing the framework of agile development will not penetrate the essence of agile development. Here, we summarize and explain five key points for introducing agile development in major companies.
1. management commitment
Transitioning from waterfall development to agile development is an effort that will drastically change the way you think about development. Therefore, the commitment of the management team is essential from the pilot stage. The first step toward success is to clarify what you want to achieve through agile development, and to ensure that not only the members of the team, but also the management team in charge of the project, understands and is committed to the project.
2. Minimize members and make them dedicated
As an organization grows, specialization increases and organizational silos develop. In such an organization, the number of people involved in any given project increases, forcing a huge amount of project management. On the other hand, in agile development, the principle is to minimize the number of members required for each development project and assign them to dedicated tasks. In other words, by assembling a small, dedicated team, information gaps can be eliminated and development efficiency can be improved. While this may be a contrary philosophy to the existing organizational design for large companies, it is a path that cannot be avoided by minimizing the number of members and making them dedicated to their work, by introducing it on a pilot basis.
3. Simplify decision-making flow
As an organization grows, not only does it become more siloed, but the hierarchy also becomes more heavy-handed, and the decision-making flow becomes more complex. If this flow remains complex, even if agile development is introduced, it will not be able to respond to changes in the environment, which is the original purpose of agile development. It is important to ensure that decision making is completed within the basic team and to guarantee the autonomy of the team. Even when dealing with issues that cross teams, the escalation flow from the product owner should be established in as simplified a form as possible.
4. Agile development is something you build up
Agile development is a framework for turning development around, but while adhering to the principles, one of the goals is for the team to gradually customize the planning, retroprospecting, and other processes to suit their own needs. Therefore, it is not the end of the story to introduce agile development according to the textbook. Success can only be achieved by evolving it into a form of agile development that suits each company or team, and by making the concept permeate the entire organization.
5. Agile development is not a panacea
As we saw in the comparison with waterfall development, waterfall development may be more suitable than agile development for some projects. At times, agile development is used as an excuse to shelve the unforeseeable and proceed with development without planning. Therefore, not all development should be agile. Rather, depending on the project, waterfall development (planning, securing a budget, making full use of outsourcing, and proceeding with development on time), which has been a strength of major companies, may live on.
Summary
The environment for promoting software development and DX is rapidly changing, so it is essential to utilize agile development. Large companies should consider introducing agile development on a pilot basis, starting with projects that have a high affinity with agile development, such as new businesses, rather than suddenly shifting to agile development for all projects. Since the transition from waterfall development to agile development involves a major change in thinking, it is important for top leadership to take the lead in firmly identifying the essence of agile and installing not only the framework but also its thinking in the organization. However, agile development is not a panacea, and waterfall development is not inferior to agile development.
References
- Linkedin/ Agile's Big Problems in Big Companies
- signature / Top Agile Pitfalls & Why Agile Fails in Large Enterprises
- TechBeacon / 10 companies killing it at scaling agile
- Mckinsey&Company / How to mess up your agile transformation in seven easy (mis)steps
- Shoei/ ALL for SaaS SaaS立ち上げのすべて
About the Author
Yoshitaka Miyata. After graduating from Kyoto University with a degree in law, he gained experience in a wide range of management consulting roles, including business strategy, marketing strategy, and new business development at Booz & Company (now PwC Strategy&) and Accenture Strategy. At DeNA and SmartNews, he was involved in various B2C content businesses, both through data analysis and as a product manager. Later, at freee, he launched new SaaS products and served as Executive Officer and VP of Product. Currently, he is the founder and CEO of Zen and Company, providing product advisory services from seed stage to enterprise-level. He also serves as a PM Advisor for ALL STAR SAAS FUND and as a Senior Advisor at Sony Corporation, primarily supporting diverse products in new business ventures. Additionally, he has been involved in the founding of the Japan CPO Association and now serves as its Executive Managing Director. He is a U.S. Certified Public Accountant and the author of "ALL for SaaS" (Shoei Publishing).