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.
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:
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:
But this rigid method has more disadvantages:
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.
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.
In 2001, a group of software development experts developed the basics of the Agile System, the agile manifesto.
Several different approaches of agile have appeared under the umbrella of agile principles.
Let’s have a quick review of the best known ones.
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.
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 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:
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:
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.