Agile development practices let companies experience the power of rallying entire teams behind a defined process that embraces inclusivity and drives productivity. It’s not just one thing; it’s many efforts in concert that makes Agile so powerful. Because how well your team develops software can make or break your business in a market, ensure the sum of your parts is greater than the whole with Agile.
What is Agile software development?
Agile software development is a set of methods that result in fast and frequent delivery of value to your customers. It promotes well-planned, small iterations by highly collaborative, cross-functional teams. Agile methodologies provide an alternative to the sequential development and long release cycles traditionally associated with Waterfall.
Agile is a good fit for any size business (from start-up to enterprise), any size team (small to large), and most projects. That said, organizations adopting Agile must be culturally ready for the change and committed to coaching or training.
Why Agile matters
Greater transparency
|
Greater predictability
|
Great flexibility
|
Focus on business values
|
Focus on users
|
Focus on quality
|
“Agile [is] now the default approach for new software development.”
Al Hilwa
Program Director, Application Development Software, IDC
IDC Market Analysis Perspective: Worldwide Application Development Software, 2016.
What to keep in mind if you’re considering Agile
Although the world is moving away from traditional Waterfall methods toward Agile software development, successfully adopting Agile requires a change in workflow mindset and acknowledgement of common pitfalls. Before getting started, get some answers:
Agile is a very collaborative process. Because it’s not a heavy-handed, top-down workflow, adoption needs to happen at all levels. Get people excited. Explain how this will benefit the organization and them, and reassure them that this is not simply a fad. An investment in Agile drives innovation, flexibility, and shorter development cycles.
If you are, stop. Find people on your team that are familiar and excited about adopting an Agile workflow. Get Agile implemented at a grassroots level and provide sufficient sponsor support to address any possible resistance that this change may inflict on other teams, management, and business partners. Ideally, hire a consultant to help get things started and moving in the right direction. This will help reduce risk and increase time to adoption.
You need a plan to train your team. The promise of reduced process can lead to poor implementation. Agile is a set of methodologies that must be learned and adhered to for teams to succeed. But more important than simply training is having your team learn by doing. Have them work on an actual project to learn and reinforce the benefits of Agile in a very tangible way.
What product management tools do you presently use and are they suited to Agile? Are you ready to implement Test Driven Development (TDD), Continuous Integration (CI), and Continuous Deployment (CD)? Have you included your design and UX teams? The larger the organization, the more hearts and minds you will need to bring together. Adopting Agile is immensely doable, but done well, changes permeate through the entire organization.
There's no doubt about it, adopting Agile will be disruptive. Mistakes will be made. People will try to solve problems in standups, teams will want to over prepare and plan, technical debt will be allowed to accumulate, and tasks will be assigned to individuals. At the end of the day, as long as your team is committed to becoming Agile, you will work through the challenges and find your way forward (through plenty of retrospectives).
Agile Versus Waterfall
Common Situation
|
Agile Approach
|
Waterfall Approach
|
---|---|---|
Project manager wants to add a new feature during development | The additional feature is added during a weekly sprint to ensure the product meets the latest customer and business requirements. | Developers have already completed the design and construction stages of development, preventing the addition of a new feature until the next project planning stage which occurs in six months. |
A show-stopper bug is found during testing | The bug was found at the end of a weekly sprint. In anticipation of finding minor issues, the development team adds the fix to the next week’s sprint calendar and the project moves ahead on time and on budget. | The bug was found during the final stage of development, affecting the way code was written throughout the project. The unanticipated rescheduled time to fix the bug—and upstream code—will mean the project will come in late and over budget. |
Customers or clients offer feedback | Feedback is incorporated into the design collaboratively and incrementally before the next sprint is run. | Feedback is documented but will not be incorporated into the project until the next release. |
Agile and Extreme Programming
Extreme programming is considered a flavor of Agile, one that is uniquely adapted to the needs of development teams. Elements of Extreme include: programming in pairs, automated testing of all code, avoiding programming of features until they are actually needed, simplicity and clarity in code, expecting changes in customer requirements as time passes and the problem is better understood, and frequent communication with the customer and among programmers.
Because we work in an Agile methodology, our teams:
◼ |
Conduct standups and iteration planning meetings where we discuss, prioritize, and track stories using our product management tool, Pivotal Tracker |
|
◼ |
Use pair programming to help insure better quality code |
|
◼ |
Write code, then test and deliver it via a continuous integration/continuous delivery tool, such as Concourse |
|
◼ |
Deploy everything onto VMware Tanzu Application Service |
Our processes—large and small—are optimized for people; people working in small teams that are empowered to perform at their best and deliver quality results at a sustainable pace.
Customer Stories
|
The Home Depot achieved its IT goal of delivering value faster by deploying VMware technology and simultaneously overcoming key people and process challenges. | |
![]() |
The VMware Tanzu platform is a lynchpin in the creation of a fast moving, agile and innovative product culture at Datasite, delivering results with unprecedented speed and precision. | |
|
Seeking ways to reduce technical debt, Comcast teamed with VMware to intensify its focus on agility, elasticity, velocity, resiliency, customer experience, and experimentation. |