Ref: https://tanzu.vmware.com/agile

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.
image.png

Why Agile matters

Greater transparency

Everyone from the stakeholders to the team producing the work (testers, developers, designers, project managers, etc.) is involved and clear about what’s being worked on right now and what still needs to be done.

Greater predictability

Work is clearly prioritized and time boxed in tight iterations that ideally are 1-2 weeks in length. New features are shipped frequently and more predictably, as part of a continuous delivery cycle.

Great flexibility

When priorities change due to feedback or new business needs, inserting and reprioritizing stories in the backlog can occur instantly.

Focus on business values

The stakeholder determines the order in which features are built, making it clear to the team what’s most important for the business.

Focus on users

User stories are designed to meet the needs of real users. Each feature that is designed and developed delivers incremental value.

Focus on quality

Since all work is broken down into manageable units and frequent builds, testing and reviews are more focused. Quality is improved as a result of being able to locate and fix defects more easily and more rapidly.

“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:

Is your team onboard?
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.

Are you trying to go it alone?
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.

Is training in place and how will people practice?
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.

Is everyone prepared for processes and tools to change?
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.

Is everyone willing to embrace the change?
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).

  • 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 Platform

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.