The Agile methodologies of software development, such as Scrum, have become popular in recent years. However, it is time to move on to a new approach that values modern tools and flexible work environments over meetings and strict office hours, flexibility in prioritization over detailed planning, and comprehensive documentation over tribal knowledge. This new approach is called Async Software Development.
Principles of Async Software Development
Async Software Development values modern tools, such as GitLab, GitHub, and Bitbucket, which integrate version control with issue tracking and offer rich prioritization and assignment features. These tools also provide a user-friendly experience that can be used by anyone on the team, including nontechnical people.
Meetings only as a last resort
Meetings should only be held as a last resort, as they can be costly to a business and interrupt the long stretches of uninterrupted time that creative professionals need for meaningful work. Product owners can use the issue tracker to file issues, assign priority, assign them to people, and set release milestones, rather than holding planning meetings. Daily standups and backlog grooming sessions can also be replaced by reading the comment threads of issues being worked on and asking questions as needed. Meetings should only be called when other channels of communication are not suitable for a specific issue.
Flexible work environments
Async Software Development also promotes flexible work environments, such as a hotelling policy in the office where desks are not assigned by default and individuals can choose their own workspace, whether it be a private office or in a communal space. It is important to allow individuals to decide for themselves where they work best, as some may prefer crowds while others may prefer to work from home.
In order to reduce the need for tribal knowledge and interruptions, Async Software Development emphasizes comprehensive documentation of workflow. Answering questions through FAQs or other forms of async communication is preferred to not only improve communication and collaboration within the team but also to ensure that important information is not lost when team members leave or change roles. Proper documentation can also make it easier for new team members to get up to speed and for the team to scale as it grows. Ultimately, comprehensive documentation is an essential component of a successful async software development process.
Overall, Async Software Development is a 21st-century approach to software development that values modern tools, flexible work environments, flexibility in prioritization, and comprehensive documentation. It is time to move on from the traditional Agile methodologies and embrace this new approach.
The principles of Async Software Development outlined in this article are based on the Manifesto for Async Software Development, which can be found at http://asyncmanifesto.org/. This manifesto calls for a 21st-century successor to Agile and its most popular incarnation, Scrum, and emphasizes the value of modern tools, flexible work environments, flexibility in prioritization, and comprehensive documentation. By adopting the principles of Async Software Development, businesses can revolutionize their software development process and improve efficiency and productivity.