Although, the agile development methodology use is becoming more and more prevalent in the tech industry, non-initiates often wonder if this “methodology” is nothing more than colorful lip-speak, used more to impress potential clients than deliver any true value. So what is the 411?
This is not a comprehensive guide to scrum or agile, but rather a brief introduction. And, aims to help you understand the agile framework and know what to expect, and the additional value you receive, when working with an “agile” organization.
Let’s get started.
“Agile” was first introduced in 2001, by a team of software engineers looking to improve their adaptiveness and responsiveness to ever-changing requirements. Not knowing where to begin, the team began by formulating principles, which they would use to guide their new development process. Which, in turn, lead to the creation of the Agile Manifesto, and thus a new methodology was born.
We are uncovering better ways of developing software by doing it and helping other do it. Through this work we have come to value:
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
This is, while there is value in the items on that right, we value the items on the left more.
1.Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.
2. Welcome changing requirement, even late in development. Agile processes harness change for customer’s competitive advantage.
3. Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.
4. Business people and developers must work together daily throughout the project.
5. Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.
6. The more efficient and effective method of conveying information to and within a development is face-to-face conversations.
7. Working software is the primary measure of progress.
8. Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.
9. Continuous attention to technical excellence and good design enhance agility.
10. Simplicity – the art of maximizing the amount of work not done – is essential.
11. The best architectures, requirements, and designs emerge from self-organizing teams.
12. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly
Waterfall is often referred to as the “traditional” approach to product development. Waterfall projects are carried out in sequential phases, making it more rigid and arguable less effective in today’s modern, ever-changing world. Once a project has been identified, defined, and scheduled, you’re rarely, if ever, are able to make changes to your scope and deliverables. Each phase has a distinct end date and deliverable(s).
The waterfall methodology derives its name from the cascading transition from one project phase to the next. In this model each phase is pre-defined at the beginning of the project and has set and set start and finish dates. And, therefore, not well suited for projects where the scope or requirement of the project are vague and/or can change over time.
The agile methodology, on the other hand, allows project teams to begin working on a final product, without having to wait for comprehensive requirements, and allows for constant changes to requirements and scope. The benefits of this approach include being quick to market, being more collaborative, and huge saving to you as the customer. This flexible and adaptable nature makes some new stakeholders, unfamiliar with green lighting projects that don’t have a set schedule and scope in place, uncomfortable, but the advantages far out-weight the disadvantages.
Agile methodology involves working through iterative, incremental cycles, also known as “sprints”. The best way to understand it is to look at it in contrast to the “Waterfall” method.
As the client, you will be expected to define ”features”, or the functionality that should be delivered as part of the final product. This is known as the product backlog. For consistency and clarity, you’ll be asked to semantically structure the feature from the persona perspective.
For example, “As Bob, I can click a cart icon on any product page so I can view all of the items currently in my cart.”
The design team will then decompose these features into various tasks which will be sized, prioritized, and assigned to a sprint.
Sprints are time-bound cycles where features are incrementally, designed, developed, tested, and delivered. As the client, you will be expected to review and provide feedback on the delivered software after every sprint.
Throughout the project, developers will meet with their respective project managers (or scrum masters) daily to give feedback and updates on their progress. This will allow you, as the client, to constantly be in the know as to where your project is during the development process.
Learn more about our Agile Web Development process.