iseseisvalt töötavad. • Pigem inimesed kui protsess – rõhku pööratakse arendustiimi oskustele ja nende töö organiseerimisele. • Muutuste haldamine – kogu tarkvaraarenduse protsess on ehitatud sellele et nõuded võivad muutuda, • Säilitada lihtsust – püüda keerukust süsteemist kõrvaldada, nt. seda teevad mudelid (nende eesmärgiks on vähendada keerukust). Kuidas vähendada keerukust tarkvaras? Refaktoreerimine. Iga agiilse meetodi põhimõtte – Jaga ja Valitse. Jagad tükkideks ja arendad tükkide kaupa. Aga need peavad olema tervikuid ehk töötama ise. Meetodid Kõige paremat tarkvaratehnika meetodit ei eksisteeri, erinevat tüüpi meetodid erinevat liiki süsteemidele. Kõige levinumad agiilsed metoodikad – Extreme Programming, Scrum, Kanban. Muud agiilsed metoodikad: Lean Startup – esikohal on „validated learning“. Lean UX – esikohal on „kasutaja kogemus“.
o Töötav tarkvara on olulisem kui ulatuslik dokumentatsioon o Pidev koostöö kliendiga on tähtsam, kui kliendiga algul lepinguga läbirääkimine o Muudatustele allumine on tähtsam, kui jälgida plaani Kõiki neid paremal kaste on vaja kuid olulisemad on vasakul pool Kasutatakse tavaliselt mitut metoodikat korraga. Eksamil võib olla küsimus: Võrdle kolme meetodikat omavahel. o XP- rohkem rõhku koodil, refaktoreerimine, clean code, paarisprogrammeerimine. o Ingrementaalne planeerimine- kus kogu plaan pole ette tehtud vaid plaanime ainult ühe interatsioonii kaupa. o Väikesed tootemustandid, mis välja antakse ja mida klient saab proovida. o Lihtne disain, seda tehakse piisavalt nõuetele vastavalt. o Oluline on testimine ja refaktoorimine. o Oluline on paarisprogrammeerimine ja see, et kogu kood oleks kollektiivne, mitte ainuisikuline.