Agile is the software development process or method that works in regular, short cycles, known as sprints or iterations, to deliver functional, potentially shippable products. It keeps the work fresh and relevant to the market, ensuring market competitiveness.
Basically, it’s develop, test, implement, ship, innovate, develop, test and repeat, in two-to three-week increments. Business narratives and storytelling are a key element of Agile, revealing user biases, likes and dislikes, and expectations, and making sure they are all addressed in the design.
“Agile Project Management is about embracing change, even late in the development stage. It’s about delivering the features with the greatest business value first, and having the real-time information to tightly manage cost, time and scope”, according to VersionOne.com.
“Iterative development produces better software,” says Ken Corliss, a principal at Deloitte Consulting. “While iterative development may not serve every project well, easily 90 percent of the software projects I have encountered could have been better executed if approached more iteratively.”
With traditional “waterfall” project management, the entire project is mapped out, including schedules and budgets. If there’s a problem “upstream”, the project gets hung up in the rapids, drowning under delays, change orders and scope creep. It ends with a waterlogged product that will never ship.
According to VersionOne, in an Agile environment, project management falls into these three roles:
• The Product Owner handles setting project goals, handling the tradeoff of schedule versus scope, adapting to changing project requirements and setting priorities for product features.
• The ScrumMaster guides the team to prioritize their tasks and removes impediments to handling their tasks. Agile project management with scrum is an entirely new world!
• The Team Members directly handle most of the task assignment, daily detail management, progress reporting and quality control for the product.
In a traditional project, management controls project scope, budget, schedule, risk, reporting and more.
Is Agile a good fit for your project and your company?
Mark C. Layton, in “A Manifesto for Agile Software Developers”, lists several considerations to help you determine if Agile will work for your project. Ask your self these questions and decide:
– Is your top priority customer satisfaction, continuously delivering software?
– Are comfortable with changing requirements, even late in the project, to keep the customer competitive? And still delivering good work on a short time schedule?
– Is working software your measure of success?
– Can you team up with the business side as well as the developer side? Can you talk to anyone, suit or bench, face-to-face?
– Is delivering an excellent product your end goal? Or is it a moving target that takes constant updates and ongoing improvements?
– Are your teams constantly improving themselves as well as the product? Can your teams organize and develop themselves?
When Agile won’t work well for you
Agile isn’t for every project or every company, according to Kelly Waters on allaboutagile.com. Not everyone is comfortable working with no end goal carved in stone. For some projects, as attractive as it may seem, Agile just isn’t a good fit:
• If your development is process driven rather than product driven
• If your project needs clarity from the beginning and throughout the process
• If management and key stakeholders can’t or won’t be involved throughout
• If communication skills are poor within the group and to external colleagues and customers
• If your team is scattered across the country and globe. “Daily collaboration between the business and IT is part of Agile’s secret sauce, “ according to Corless.
• If your project is part of a political struggle
Agile is all about improving quality – that ever-moving target – and delivering business value repeatedly. It’s up to your team and your company to determine if Agile is right for you.
“We experience a wide range of traditional and hybrid methodologies in approaching large software development projects,” says Morton Director of Operations David Borovatz. “In most cases, we see an Agile or iterative approach that is closer to a Hybrid model of both Agile and Waterfall or SDLC.
“The benefits that our customers see using an Agile-based approach are continuous delivery of the product to stakeholders and executive management, the ability to make adjustments on the fly, and great collaboration from all members of a development team.”
From an Agile perspective, Morton has many customers leveraging different Agile Frameworks to include SCRUM, Lean, and Spotify. However, we also experience development shops that appear to be Agile but are only leveraging certain aspects of the methodology.
On the flip side, we have many customers that still leverage the more traditional approach in Waterfall or SDLC based development.
In speaking with candidates for large projects, we’ve heard many say that this CRM/ERP development effort can only be approached from a Waterfall perspective.
At the end of the day, there is an approach whether traditional, hybrid, or fully Agile that will work well for any development team out there. In some instances, you just have to jump in and figure out which works best and then where there is the most value for the stakeholders.