arrow-flex-shortarrow-flexarrow arrowsbinocularschartcogsflex-icongeargithubglobelightnings linkedinlock plantscalestarget triangle-icon twitter

Why We Use Agile

Victor
October 28, 2019

At DVELP, we use the Agile methodology. It is essential to our value-driven style of development. We focus on the features that add value, deploy sooner and improve faster.

This is a description of the main methodologies and why we use Agile.

Waterfall Development

First systemised by W.W. Royce in the 70s, the Waterfall method is linear. A new phase starts when the previous is completely finished.

These phases are:

  1. Requirements
  2. Design
  3. Implementation
  4. Verification
  5. Maintenance

Waterfall is probably the most popular methodology in any kind of project. Most people using Waterfall, don't even know they are doing it.

There are some advantages to Waterfall:

  • Documentation and planning stages allow teams to remain informed and move towards a common goal
  • Forces structured disciplined organisation
  • Simple to understand
  • Facilitates departmentalisation
  • Control based on deadlines

But this rigid method has more disadvantages:

  • Design is not adaptive; often when a flaw is found, the entire process needs to start over
  • Ignores the potential to receive feedback and make changes based on results
  • Delays testing until the end of the development life cycle
  • Does not consider error correction
  • Does not handle requests for changes, scope adjustments or updates
  • Reduces efficiency by not allowing processes to be sync between steps
  • No working product is available until the later stages of the life cycle

Critical Path Method

Critical Path is not a methodology itself, but the project decisions are based upon around the analysis of this method. It’s a sequence of stages designed to figure out what the least amount of time is necessary to complete a task.

The critical path is the longest length of time it will take to complete the project tasks.

Nowadays project managers use Gantt diagram to identify the critical path. A Gantt chart is a powerful tool where we can plan a project considering a lot of constraints and resources.

Normally the critical path is used in tandem with Waterfall in projects or companies that need a very defined structure of stages. It’s very often used in construction companies for instance.

Rapid Application Development

The Rapid Application Development (RAD) concept emphasises being more adaptive than older development methods. RAD was born out of frustration with the waterfall method, so it is almost the opposite.

The advantage of RAD is that it allows your team to move quickly and deliver sooner.

The idea is to get the requirements and start working on a prototype. The prototyping phase iterates getting customer feedback until gets a good result.

After that, a testing phase and move to the next challenge.

It reuses software components to make things fast. In general, RAD works well with teams that don’t require long interactions. Short, well defined projects and small teams are a good fit.

Agile Development

In 2001, a group of software development experts developed the basics of the Agile System, the agile manifesto.

Agile values:

  • Individuals and interactions over processes and tools
  • Working software over comprehensive documentation
  • Customer collaboration over contract negotiation
  • Responding to change over following a plan

Agile frameworks

Several different approaches of agile have appeared under the umbrella of agile principles.

Let’s have a quick review of the best known ones.

Scrum

This framework is one of the most famous in agile, and probably the one most practiced. Scrum is a lightweight method: simple to understand but difficult to master.

Scrum is not a process, technique, or definitive method. It is a framework within which you can employ various processes and techniques.

The name Scrum, was inherited from rugby as a means of stressing the importance of team collaboration for project success.

Kanban

This method works around a visual board with cards for managing work in progress. Its origin is in the Japanese manufacturing industry, in Toyota. The Toyota Production System (TPS) relies on the idea of Just in Time Production. That is, making only what is needed, only when it is needed, and only the amount that is needed.

This is the precursor of Lean Manufacturing, a model of management focus in reducing waste: “lean and mean”.

David J Anderson brought Kanban to agile software development. The name Kanban means “control card” or “signal card”. It was a card with the information about the supplier of the piece, what specific piece, and where was that piece in the factory.

Crystal

Crystal Methods are a family of software development methodologies developed by Alistair Cockburn. He created a color-coded variants depending on how complex the coordination is. The variants depend on some constraints and the number of people of the project. Crystal methods are very flexible and avoid rigid processes because of its human-powered or people-centric focus.

The process is considered secondary.

The primary aspects Crystal focuses are:

  • People
  • Interaction
  • Communication
  • Community
  • Skills
  • Talents

Extreme Programming

Extreme Programming is a simple method with clear rules. It’s an "iterative" approach where a team of users/customers and developers immerse themselves in systems development.

Essentially, is a collection of development processes and doesn’t really define a project-level framework. For that reason, XP is used more often as a development layer for Scrum and not as a standalone project methodology.

XP emphasises the following values:

  • Simplicity
  • Communication
  • Feedback
  • Respect
  • Courage

Agile at DVELP

Agile challenges us to always focus on value. It helps us to work collaboratively. It encourages us to dare, to think openly and not be restrained by corporate policy.

We work mainly with Scrum although we are always open to find the way that fits the best for the suitable occasion. We take every stage of the Scrum liturgy seriously, giving importance to planning and retrospective.

We keep our customers close to the process, helping to get feedback fast, and be adaptable to changes. Our customer is another team member in our daily stand ups , reviews and demos.

At DVELP, we are about loving what we do. We love to learn, we love to experiment and we love to make the best products we can with the best tools we can find. We’re brave, we work hard and at our core we are about quality.


If we sound like people you would want to work with, get in touch.

Articles

By using this website you agree to our cookie policy
x