Presentation is loading. Please wait.

Presentation is loading. Please wait.

Ekstremalus programavimas (XP)

Similar presentations


Presentation on theme: "Ekstremalus programavimas (XP)"— Presentation transcript:

1 Ekstremalus programavimas (XP)
Anželika Šalaviejienė ir Marius Gedminas Agilemanifesto papildymai nuo: Andrius Adamonis, 2011 m.

2

3 Turinėlis Agile Manifesto Kas yra XP Kada naudoti XP
Kam reikalinga dar viena PĮ kūrimo metodika XP taisyklės ir praktikos

4 agilemanifesto.org Kent Beck et al.

5 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 Glen B. Alleman Individuals and interactions over processes and tools
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. before before before while

7 Agile principles 1. Our highest priority is to satisfy the customer through early and continuous delivery of valuable solutions 2. Welcome changing requirements, even late in the solution delivery lifecycle. Agile processes harness change for the stakeholder’s competitive advantage 3. Deliver working solutions frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.

8 Agile principles 4. Stakeholders and developers must work together daily throughout the project. 5. Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done. 6. The most efficient and effective method of conveying information to and within a delivery team is face-to-face conversation.

9 Agile principles 7. Working solutions are the primary measure of progress. 8. Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely. 9. Continuous attention to technical excellence and good design enhances agility.

10 Agile principles 10. Simplicity--the art of maximizing the amount of work not done--is essential. 11. The best architectures, requirements, and designs emerge from self-organizing teams. 12. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.

11 Agile principles 13. Leverage and evolve the assets within your organizational ecosystem, and collaborate with the people responsible for those assets to do so. 14. Minimize work in progress and visualize workflow. 15. The organizational ecosystem must evolve to reflect and enhance the efforts of agile teams, yet be sufficiently flexible to still support non-agile or hybrid teams.

12 Kas yra XP XP – tai (gerai apgalvotas) požiūris į programinės įrangos kūrimą XP yra metodika XP pradininkas – Kent Beck

13 XP akcentuoja Kliento poreikius ir norus Kolektyvinį darbą
Testavimo būtinumą Paprastų ir lengvai suprantamų išeities tekstų kūrimą Teigiamą požiūrį į besikeičiančius reikalavimus

14 XP proceso gerinimo aspektai
Komunikavimas(communication) Paprastumas(simplicity) Atsiliepimai(feedback) Drąsa(courage)

15 Kada naudoti XP Dinamiškai kintantys reikalavimai Rizikingi projektai
Mažas programuotojų kolektyvas (2 - 10) Projekto kolektyvas įvairialypis Testavimas Produktyvumas

16 Kam reikalinga dar viena PĮ kūrimo metodika
XP – lengvasvorė metodika Peržiūrimos PĮ kūrimo praktikos, paliekamos tik paprastos ir lengvai suprantamos taisyklės Mažinami PĮ kūrimo kaštai

17 XP iteracijos

18 XP taisyklės ir praktikos
Planavimas Projektavimas Kodavimas Testavimas

19 Planavimas Užrašomi vartotojų pasakojimai(user stories are written)
Sukuriamas laidos(release) planas(release planning creates the schedule) Atliekama daug mažų laidų(make frequent small releases) Matuojamas projekto greitumas(the project velocity is measured) Projektas dalinamas į iteracijas(the project is devided into iterations)

20 Planavimas Kiekviena iteracija pradedama nuo planavimo(iteration planning starts each iteration) “Stumdyk” žmones(move people around) Kiekviena diena pradedama nuo trumpo susirinkimo(a stand-up meeting starts each day) XP reikia pritaikyti(fix XP when it breaks)

21 Projektavimas Paprastumas(simplicity)
Parinkti sistemos metaforą(choose a system metaphor) Projektavimui naudojamos CRC kortelės(use CRC cards for design sessions; CRC – Class Responsibility Collaborator) Rizikai mažinti kuriami spontaniški sprendimai(create spike solutios to reduce risk) Joks funkcionalumas nepridedamas anksčiau laiko(no functionality is added early) Pertvarkoma visada ir visur, kur tik įmanoma(refactor whenever and wherever possible) CRC card: Class Name Responsibilities | Collabolators Pvz.: Class ATM Responsibilities Collaborators Start up when switch is turned on OperatorPanel CashDispenser NetworkToBank Shut down when switch is turned off NetworkToBank Start a new session when card is inserted by customer CustomerConsole Session

22 Kodavimas Užsakovas visada “po ranka”(the customer is always available) Kodas rašomas laikantis standartų(code must be written to agreed standards) Pirma kuriami modulių testai(code the unit test first) Visas kodas rašomas poromis(all code is pair programmed) Tik viena pora integruoja kodą vienu metu(only one pair integrates code at a time) Integruojama dažnai(integrate often)

23 Kodavimas Kolektyvinė kodo nuosavybė(use collective code ownership)
Optimizavimas atliekamas pabaigoje(leave optimization till last) Jokių viršvalandžių(no overtime)

24 Testavimas Testas kuriamas kiekvienam moduliui(all code must have unit tests) Visas kodas turi praeiti visus modulių testus(all code must pass all unit tests before it can be released) Jei randama klaida, kuriami testai(when a bug is found tests are created) Priėmimo testai dažnai leidžiami, fiksuojami ir peržiūrimi jų rezultatai(acceptance tests are run often and the score is published)

25 XP map

26 XP map

27 XP map


Download ppt "Ekstremalus programavimas (XP)"

Similar presentations


Ads by Google