Agile practices – they’re not just for software development
Agile software development methodologies such as Scrum and Kanban have been widely adopted by software development teams in the industry. Although agile practices originated in the field of software development, other types of information technology teams can benefit from adopting similar approaches.
Basically, agile methods are a set of practices that help teams collaborate, organize their work, and get it done.
Agile methods for software development
The Agile methodology has become a widespread practice for software development in response to common frustrations in traditional software development projects, with their distinct and time-consuming phases of scoping, defining requirements, designing, building, and testing. Each of these sequential phases can take months, resulting in long software development cycles.
Especially in large organizations, traditional software projects can be difficult to manage and unsatisfying for those involved. If you’ve ever had to wrestle with hundreds of pages of business requirements documents, or reviewed requirements and designed walkthroughs for days, only to be disappointed with the software that was ultimately delivered nine to 12 months down the road, you’ll understand those frustrations.
At the risk of oversimplifying, I would describe agile software development as a shift to short software development cycles (weeks vs months) and a restructuring of how people work together to develop software. I have found that these changes greatly improve the software development experience for all parties involved.
Benefits of Incremental Delivery
Years ago, before agile methods were widely adopted, I asked one of my software development managers about his product release schedule. Since I came from a traditional software development organization, I expected to hear that it had two, three, or four major releases per year.
Somewhat apologetically, he replied that his team didn’t have an official release schedule, they just released features and improvements as soon as they were ready. Although unusual for its time, this phased and “agile” approach has proven to be an effective way to work for many teams, resulting in improved products and a better experience for team members. the team.
Product Benefits / Usability. Getting new features into the hands of users quickly offers significant benefits. Software can only deliver value when it’s in the hands of end users, so the sooner we release, the sooner we can realize that value. Feedback, whether positive or negative, is best gathered from actual usage, so the sooner we get that feedback, the better.
Benefits for the development team. Short development cycles, such as two weeks, can benefit release teams in many ways. Small development tasks are easier to estimate than large ones, making it easier to meet delivery deadlines. Short cycles establish clearly understood goals and limit the amount of work in progress. This gives teams the focus that helps them get things done. Software testing is simplified as a small amount of changes are introduced in each release.
Find better ways to work together
In addition to short development and release cycles, agile methods define a set of practices for how teams work together. A key concept is that the team is committed together to get the job done, which helps reduce overcommitment and finger pointing.
A common practice is to have small, self-managed, self-organizing teams that frequently interact with each other, such as in short daily “stand-up” meetings. Another common practice is to break down work into units that take a short time to complete (eg, one to three days). Additionally, many agile teams work together as a group to estimate work, increasing the accuracy of their estimates.
Beyond software development
Besides software development teams, other teams can benefit from adopting agile methods. Just as the field of project management has grown from its beginnings in engineering and construction to a more generalized discipline, agile methods can be widely useful for various types of work.
In my organization, agile methods have been adopted by a number of information technology teams, including the teams that support our enterprise EMR, data analytics, IT operations, and systems administration. Non-IT teams have also followed suit, for example in marketing and our innovation center.
Whatever the nature of your job, if you want to find a better way to work, consider Agile.
Glenn Fala is associate IT director of application development at Penn Medicine.