3 minute read
ANALYST VIEW by Bill Holz
by d2emerge
Analyst View
BY BILL HOLZ
12 essential skills for agile devs
The demand for experienced developers skilled with Agile processes and practices has reached a critical point due to significant growth in Agile adoption, up from 37% in 2020 to 84% in 2021 per the 15th Annual State of Agile Report.
Agile application developers should not wait for continuing external factors to drive the evolution of their skills; instead, they should proactively explore, identify, and learn skills to improve their ability to deliver business value.
Twelve skills are critical for Agile application development teams to drive digital business. l Core skills: These skills are fundamental to Agile app dev. Keep in mind that not every developer needs to be an expert in every area, as Agile teams are cross-functional and rely on multiple individuals ’ skills. 1. Scrum. Scrum is the dominant Agile framework, providing an iterative and incremental approach for solving complex problems. Small collaborative teams typically deliver work in short iterations (sprints) of about two weeks. 2. Kanban. Kanban is a method for visualizing, managing and continually improving a process' ability to deliver a service. It is a pull-based delivery flow system that exposes constraints, creates flow by limiting the amount of work in progress and signals when capacity is available to start new work. 3. Metrics. Successful app dev teams objectively measure and analyze their software development processes. 4. User stories. User stories in Agile development shift the focus from writing requirements to addressing customer needs. A user story contains a short description of a feature from the perspective of the role desiring the new capability. 5. Customer focus. Product development must become customer-centric, with developers getting closer to their customers using user personas, customer journey mapping, in-depth interviews and usability testing. 6. Test-first. Test-first practices like test-driven and behavior-driven development ensure that application developers build the right software the first time. With the additional reuse benefits of validation and documentation, creating tests before writing the code provides exceptional value to the development process.
7. Continuous learning. A key tenet of agility is that practitioners be open to learning new skills — not just from project to project, but also as part of a lifelong learning process. Multiskilled individuals enable teams to quickly solve problems and achieve better business outcomes. l Value-added skills: These skills represent the next level of Agile maturity. 8. Collaborative development. In collaborative development, more than one team member works on a single feature or application at any given time. This can benefit teams by providing a built-in mechanism for code review, reducing development cycle time and broadening skill sets as teammates learn from each other. 9. Ownership and collaboration. Small, selfdirected, autonomous teams collaborating to build solutions only succeed when all members of the team commit to a set of shared values, such as focus, courage, openness, commitment and respect. 10. Agile architecture. Traditional approaches to software architecture do not support an Agile development life cycle. Inflexible monolithic applications, architectural complexity and technical debt burden development teams, impede agility and frustrate users. Component-based architectures provide greater development agility, increased deployment flexibility and more process scalability. l Specialized/emerging skills: These skills represent potentially significant, game-changing processes and practices for Agile developers. 11. Agile database management. Agile teams quickly find that database changes become a constraint that limits velocity. To increase the speed of delivery, cultivate database management skills to become more self-sufficient and reduce dependence on database administrators. 12. Scaling Agile. Expanding the validated success of Agile pilots to the broader enterprise is both challenging and rewarding for organizations. Agile practices will not only benefit other development teams but also infrastructure and operations, enterprise architecture and security by reducing risk, improving business outcomes and increasing predictability. z
Bill Holz is a research VP at Gartner, Inc. focused on software development methodologies and web development.