Agile methodologies for software development | NetEngine

Agile methodologies for software development

Lucas Tuesday, 29 October 2013

Agile methodologies for software development are concepts for software engineering project management. We use a lot of agile methodologies and techniques here at NetEngine. No individual framework must be adopted whole - there are advantages to each, and we have made some adaptations of the fundamental practices to suit our team. You may be interested in making similar changes once you see how we adapted them for our team and why it works so well.

Manifesto for Agile Software Development

First of all, I will mention the Agile Manifesto. Previous models of software development - eg.: “waterfall” - were bureaucratic, slow and contradictory. Then, in 2001, the “Manifesto for Agile Software Development” was published, which represented a great revolution with regard to previous methodologies. Its key values are:

Although there are several methodologies created or adapted for Agile Software Development (such as “Adaptive software development” and “Dynamic system development method”), the two most common and most used here in NetEngine are Scrum and XP.

Scrum

Scrum

The basic cycle of Scrum is the one above, with the overall backlog and the Sprints backlogs, a Sprint cycle (2 ~ 4 weeks) and the daily cycle to get done as a product.

Scrum is easy to understand and you need very little to get started. To manage the entire process, you can use several implementations, like Kanban or a specific software. There is also software which offers its own adaptation of project management based on Scrum, but with extra features, such as Trigger - which is of course our choice.

Artefacts:

Scrum Burndown Chart

Team:

Meetings:

Other tools and techniques:

In addition, other tools and techniques could (and should) be used together, for example, Planing Poker, Pomodoro, ZTD, etc.

XP

XP

Another methodology quite interesting is the eXtreme Programming (XP). We are proud to say that we use daily all of its foundations (see list below) and that it works very well for us. XP methodologies consist of:

Conclusion

Depending on the type of company or team in which you work, some techniques may be difficult to apply. For example the daily meetings are the element of Scrum we really like. It works very well for our team, because everyone is well informed about the important events happening, and is exposed to ideas from any other projects going on in the company. On the other hand, we’re aware that for some projects, and commonly, for later phases of a project, the rigidity and expense of sprints isn’t always suitable.

This is the interesting part of agile methodologies, you can adapt them for your team and make them work the best way possible. Feel free to include your comment below telling us your way to use any of these tools.

comments powered by Disqus