Współczesne metody zapewniania jakości oprogramowania. Od klasyki do zwinności