1 / 17

Agiilne tarkvaraarendus kui tarkvara kvaliteedi tõstmise vahend

Agiilne tarkvaraarendus kui tarkvara kvaliteedi tõstmise vahend. Erik Jõgi erik.jogi@swedbank.ee. Lühike eelvaade. Mis on agile? The Chaos Report Agile Manifesto Erinevad agile metoodikad Kuidas agile metoodikad tagavad kvaliteedi? Quality is built-in Funktsionaalne kvaliteet

valeria
Download Presentation

Agiilne tarkvaraarendus kui tarkvara kvaliteedi tõstmise vahend

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Agiilne tarkvaraarendus kui tarkvara kvaliteedi tõstmise vahend Erik Jõgierik.jogi@swedbank.ee

  2. Lühike eelvaade • Mis on agile? • The Chaos Report • Agile Manifesto • Erinevad agile metoodikad • Kuidas agile metoodikad tagavad kvaliteedi? • Quality is built-in • Funktsionaalne kvaliteet • Koodi kvaliteet • Tööprotsessi kvaliteet • Kokkuvõte, küsimused

  3. Mis on agile?

  4. The Standish Group Report – 1995“The Chaos Report” • 31.1% of projects will be cancelled before they ever get completed • 52.7% of projects will cost 189% of their original estimates • The failure to produce reliable software to handle baggage at the new Denver airport is costing the city $1.1 million per day • In 1995 American companies and government agencies will spend $81 billion for cancelled software projects • Only 16.2% of software projects are completed on-time and on-budget • Projects completed by the largest American companies have only approximately 42% of the originally-proposed features and functions

  5. Manifesto for Agile Software Developmentwww.agilemanifesto.org We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan That is, while there is value in the items on the right, we value the items on the left more.

  6. Principles behind the Agile Manifesto1/4 • Our highest priority is to satisfy the customerthrough early and continuous deliveryof valuable software • Welcome changing requirements, even late indevelopment. Agile processes harness change forthe customer's competitive advantage. • Deliver working software frequently, from acouple of weeks to a couple of months, with apreference to the shorter timescale.

  7. Principles behind the Agile Manifesto2/4 • Business people and developers must worktogether daily throughout the project. • Build projects around motivated individuals.Give them the environment and support they need,and trust them to get the job done. • The most efficient and effective method ofconveying information to and within a developmentteam is face-to-face conversation.

  8. Principles behind the Agile Manifesto3/4 • Working software is the primary measure of progress. • Agile processes promote sustainable development.The sponsors, developers, and users should be ableto maintain a constant pace indefinitely. • Continuous attention to technical excellenceand good design enhances agility.

  9. Principles behind the Agile Manifesto4/4 • Simplicity – the art of maximizing the amountof work not done – is essential. • The best architectures, requirements, and designsemerge from self-organizing teams. • At regular intervals, the team reflects on howto become more effective, then tunes and adjustsits behavior accordingly.

  10. Agile metoodikad • eXtreme Programming – XP • Scrum • Lean • Crystal • DSDM • Pragmatic • FDD • ...

  11. Kuidas agile metoodikad tagavad kvaliteedi?

  12. Quality is built-in • Kõigi tegevuste koosmõjul sünnib kvaliteetne tulemus • Pole tarvis eraldi Quality Assurance (QA) tegevusi – kvaliteet tagatakse läbi üldise protsessi

  13. Funktsionaalne kvaliteet Kuidas kindlustada, et tarkvara vastab kliendi reaalsetele vajadustele ning toob kliendile olulist lisaväärtust? Tihe suhtlus kliendiga • Storytelling: räägitakse läbi kogu funktsionaalsus • Klient saab tagasisidet erinevate soovide keerukusest • On-site customer • Vahetu suhtlus soodustab detailide selgeks rääkimist • Klient osaleb test-case’ide loomises • Lühikesed iteratsioonid (1-2 nädalat) ja reliisitsükkel (1-3 kuud) • Kliendil on võimalik iga iteratsiooni lõpus suunda muuta

  14. Koodi kvaliteet Testing: early, often and automated • Teste uuesti käivitades saab alati lihtsalt veenduda, kas süsteem toimib õigesti • Unit tests • UI tests • Testid on oluline osa rakendusest • Testid on nagu dokumentatsioon • Testid kirjutatakse samal ajal kui kood

  15. Koodi kvaliteet Programmeerijate tegevused, mis aitavad suurendada koodi kvaliteeti • Collective code ownership: väldime ühe inimese riski • Simple design: YAGNI – you ain’t gonna need it • Pair programming: • kahekesi ei kao fookus ära, toimub teadmiste jagamine • Continuous integration: paneme kogu tiimi muudatused kokku • Refactoring: parandame koodi struktuuri (arusaadavust) ilma funktsionaalust mõjutamata

  16. Tööprotsessi kvaliteet • Retrospective: regulaarne tagasivaade ja korrigeerimine • Keep/Problem/Try • Continuous learning: pidev enesetäiendamine tagab jätkuvalt kvaliteetse tulemuse • Sustainable pace: väsinud inimesed ei tee head tööd

  17. Kokkuvõte eXtreme Programming 4 values: • You need to improve communication • You need to seek simplicity • You need to get feedback on how well you are doing • You need to always proceed with courage Kõigi tegevuste koosmõjul sünnib kvaliteetne tulemus

More Related