3

Currently i'm doing a project in school and I would like to ask a question: Do Agile Methodologies have an impact upon Software Quality?

I'm not really looking for a specific and clear answer to this, maybe, can someone give me some links of where I could find this any help in terms of that question?

3
  • 1
    If I were to choose one quality-improving idea out of the Agile movement, it would be this: frequent releases. It's a lot easier to maintain quality when you aren't changing lots of things at the same time. – user246 Dec 15 '16 at 21:24
  • Yes. Too broad. Be more specific. – Michael Durrant Dec 16 '16 at 0:45
  • Too broad topic.. please check this link , I think it's saying about what are you looking for... atlassian.com/agile/testing – prinz Dec 16 '16 at 3:28
2

If we separate quality into the three aspects of software quality: Functional, Process and Structural. I think the Agile methodology has a clear impact on all three. I will try to explain by quoting some relevant Agile princibles.

Process quality

At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behaviour accordingly.

Most Agile frameworks like Scrum use retrospectives to continuously improve process quality.

Functional quality

Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.

Getting continuous feedback should result in better functional quality as users explain what works, what doesn't and what works unexpected. As you deliver working software frequently you can measure the functional quality better and adapt faster, compared to a slow release-cycle like once a year.

Structural quality

Continuous attention to technical excellence and good design enhances agility.

Most Agile frameworks (except Scrum) advocate clear technical practises. Practises like TDD, pair programming, continuous delivery, clean code and others all lead to higher structural quality.

The eXtreme Programming Agile framework has some good starting rules when it comes to coding that are advisable to improve not only your agility, but also your overal product quality.

Scrum...

This just scratches the surface of what I think what Agile brings to table to improve quality of a software product. Just keep in mind that Scrum lacks some key technical practises and that you should combine it with XP and or the LeSS practises. Without these practises you will most likely only improve your process quality.

1

It depends on:

  • How Agile Methodologies are implemented
  • How well Agile Methodologies are implemented

The four Agile manifestos:

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

All four manifestos above are aiming at improving software quality and providing customer satisfaction.

But going Agile does not necessarily mean your software quality will be improved (well, software quality will be improved over time but there may be setbacks in short terms).

For a company I used to work for hired Agile coach to attempt to implement Agile, but it turned out:

  • Staff were used to waterfall development, there was a strong resistance against switching to Agile.
  • During the initial trial period, managers could not carry out Agile practices effectively, e.g. a manager was having a morning standup that would last 1 hour when everyone was talking about everything, most of people attended morning stand up quickly burned out and started to disliked morning standups.
  • Some teams managed to align themselves with Agile practices, but then other teams that could not align with Agile practices could not keep up with development pacing.
  • In short terms, implementing Agile seemed to be such a bad idea and it was abandoned. And this company is still using Waterfall.

In a sense, Agile Methodologies are guidelines, that is why there are no hardline definitions regarding how Agile should be implemented.

For various software projects that are of different sizes, software companies that are of different sizes, tradition and culture, there is no guarantee that introducing Agile will help them improve quality.

Not the answer you're looking for? Browse other questions tagged or ask your own question.