SlideShare une entreprise Scribd logo
1  sur  45
Télécharger pour lire hors ligne
Kodas ir specifikacija
du zuikiai vienu šūviu
code spec
Osvaldas Grigas
Vadim Platonov
What happens next
● Motivation
● Case study
● Live demo
Specification?
Requirements?
Scenarios?
Docum
entation?
User stories?
What do we need?
Test cases?
Use cases?
Code?
amples?
Accepta
Start with the code?
Requirements?
Specifications?
Test Cases?
code
Specification
Requirements
Test Cases
What did we try?
Behavior-Driven
Development
BDD?
Domain experts + Devs
Specify scenarios in plain text
Devs
Automate scenarios as tests
Jenkins
Publish scenarios to Wiki
Domain experts
Describe features
Let's Make a Payment.
Domain experts
Describe a feature
Account can only be debited if
it has sufficient balance and is
not blocked for debit.
Domain experts + Devs
Specify scenarios
Scenario: Debiting an account with sufficient balance
Given a liability account LT000001 with a balance of 100 USD,
not blocked for debit
When the account LT000001 is debited for 20 USD
Then the debit succeeds producing a running balance of 80 USD
Devs
Automated scenarios as tests
public class DebitAccount
extends JUnitStory {
@Given("a $type account $number with a balance of
$balance USD, $debitStatus for debit")
public void givenAnAccount(String type, String number,
int balance, String debitStatus) {
// ...
}
@When("the account $number is debited for $amount USD")
public void whenAccountIsDebitedBy(String number, int amount) {
// ...
}
@Then("the debit $result producing a running balance of $balance USD")
public void thenDebitResultsIn(String result, int balance) {
// ...
}
}
Room for
improvement
Developers
have to maintain stories, test code and their mapping
COOL
What if...
specifications were generated from test code?
Business language
● gets lost in implementation details
● is not enforced in code
COOL
What if...
core parts of production code were reflected
in specifications?
Specify
scenarios
in plain text
Automate
scenarios
as tests
Specify
scenarios
in code
Story: Debiting an account
Scenario: Sufficient balance
Given: Account with
● id: LT000001
● balance: USD 100
● balance type: Liability
● additional currency support: Disallowed
● debiting allowed: Yes
● crediting allowed: Yes
When: Debit account with
● account number: LT000001
● amount: 20
● currency: USD
Then: Account debited
● with amount 20
● with running balance 80
● with currency "USD"
code
Can I do
that?
code
Yes I can! *
public class Debiting_an_account
extends Story<Account, DebitAccount> {
@Test
public void sufficient_balance() {
givenEvents(
new AccountCreated("LT000001", "USD", LIABILITY),
accountCredited("LT000001", "any", $(30, "USD")),
accountCredited("LT000001", "any", $(70, "USD")));
onCommand(
new DebitAccount("LT000001", "any", $(20), "USD"));
expectEvent(AccountDebited.class)
.with("amount", $(20))
.with("runningBalance", $(80))
.with("currency", "USD");
}
}
DDD? CQRS?
Event
Sourcing?
Domain-Driven Design
Crash Course
DDD
Ubiquitous Language
Account
Debit
Credit
Asset
Liability
Balance
public class Debiting_an_account
extends Story<Account, DebitAccount> {
@Test
public void sufficient_balance() {
givenEvents(
new AccountCreated("LT000001", "USD", LIABILITY),
accountCredited("LT000001", "any", $(30, "USD")),
accountCredited("LT000001", "any", $(70, "USD")));
onCommand(
new DebitAccount("LT000001", "any", $(20), "USD"));
expectEvent(AccountDebited.class)
.with("amount", $(20))
.with("runningBalance", $(80))
.with("currency", "USD");
}
}
DDD
Entity
public class Account extends AggregateRoot {
private Balance balance;
public void credit(Amount amount) { ... }
public void debit(Amount amount) { ... }
}
public class Debiting_an_account
extends Story<Account, DebitAccount> {
@Test
public void sufficient_balance() {
givenEvents(
new AccountCreated("LT000001", "USD", LIABILITY),
accountCredited("LT000001", "any", $(30, "USD")),
accountCredited("LT000001", "any", $(70, "USD")));
onCommand(
new DebitAccount("LT000001", "any", $(20), "USD"));
expectEvent(AccountDebited.class)
.with("amount", $(20))
.with("runningBalance", $(80))
.with("currency", "USD");
}
}
DDD
Isolated Domain
Domain
data store
message
broker
client services
Event Sourcing Crash Course
Events
Capture all changes to domain state
public class AccountDebited {
public String accountNumber;
public BigDecimal amount;
public BigDecimal runningBalance;
public String currency;
}
Events
Never lose data
AccountCreated 0
AccountCredited 300
AccountCredited 1000
AccountCredited 1500
AccountDebited 900
AccountCredited 1200
AccountDebited 800
AccountDebited 700
time
Balance
public class Debiting_an_account
extends Story<Account, DebitAccount> {
@Test
public void sufficient_balance() {
givenEvents(
new AccountCreated("LT000001", "USD", LIABILITY),
accountCredited("LT000001", "any", $(30, "USD")),
accountCredited("LT000001", "any", $(70, "USD")));
onCommand(
new DebitAccount("LT000001", "any", $(20), "USD"));
expectEvent(AccountDebited.class)
.with("amount", $(20))
.with("runningBalance", $(80))
.with("currency", "USD");
}
}
Command-QueryResponsibilitySegregation
Crash
Course
Read Model
CQRS
Write Model
QueryCommand
CQRS
Command
public class DebitAccount {
public final String accountNumber;
public final BigDecimal amount;
public final String currency;
}
public class Debiting_an_account
extends Story<Account, DebitAccount> {
@Test
public void sufficient_balance() {
givenEvents(
new AccountCreated("LT000001", "USD", LIABILITY),
accountCredited("LT000001", "any", $(30, "USD")),
accountCredited("LT000001", "any", $(70, "USD")));
onCommand(
new DebitAccount("LT000001", "any", $(20), "USD"));
expectEvent(AccountDebited.class)
.with("amount", $(20))
.with("runningBalance", $(80))
.with("currency", "USD");
}
}
Putting it all together
MongoDB
Domain
(Aggregates)
Projectors
(Groovy)
Command
Handlers
Query
Services
Client
(Wicket)
Event StoreEvents
Events
Commands Projections
Projections
Events
Domain
(Aggregates)
Command
Handlers
User Story
Tests
Events
Commands
Mock
Event Store
Events
Events
Testing
the Domain
Live Demo
Coding Specifications
Attributions
Photo: Accidents - after crash 1978 Skoda
Author: Istvan Takacs
URL: http://commons.wikimedia.org/wiki/File:Accidents_-_after_crash_1978_Skoda.jpg
License: http://creativecommons.org/licenses/by-sa/3.0/deed.en
Photo: Tram in Kraków, Poland
Author: Astrorek
URL: http://commons.wikimedia.org/wiki/File:Tramwaj_krakow_3.jpg
License: http://creativecommons.org/licenses/by-sa/3.0/deed.en
Photo: Mokate 3in1
© Copyright 2013 Mokate S.A.
URL: http://www.mokate.eu/
Image: JBehave examples
@ Copyright JBehave
URL: http://jbehave.org/
Image: Rainbow
@ Copyright Moonglowlilly
URL: http://moonglowlilly.deviantart.com/art/PNG-RAINBOW-324144428
Image: Debit card
URL: http://www.capitalistbanter.com/2011/05/featured/the-best-and-worst-time-to-use-a-debit-card/

Contenu connexe

Similaire à Kodas ir specifikacija: du zuikiai vienu šūviu

Introduction to Domain driven design (LaravelBA #5)
Introduction to Domain driven design (LaravelBA #5)Introduction to Domain driven design (LaravelBA #5)
Introduction to Domain driven design (LaravelBA #5)guiwoda
 
In Visual Studios C# console app using multiple class files create a.pdf
In Visual Studios C# console app using multiple class files create a.pdfIn Visual Studios C# console app using multiple class files create a.pdf
In Visual Studios C# console app using multiple class files create a.pdfsanjeevbansal1970
 
Aslak Hellesoy Executable User Stories R Spec Bdd
Aslak Hellesoy Executable User Stories R Spec BddAslak Hellesoy Executable User Stories R Spec Bdd
Aslak Hellesoy Executable User Stories R Spec Bdddeimos
 
Dependency injection - the right way
Dependency injection - the right wayDependency injection - the right way
Dependency injection - the right wayThibaud Desodt
 
Automatically Repairing Test Cases for Evolving Method Declarations
Automatically Repairing Test Cases for Evolving Method DeclarationsAutomatically Repairing Test Cases for Evolving Method Declarations
Automatically Repairing Test Cases for Evolving Method DeclarationsICSM 2010
 
Wix Automation - DIY - Testing BI Events
Wix Automation - DIY - Testing BI EventsWix Automation - DIY - Testing BI Events
Wix Automation - DIY - Testing BI EventsEfrat Attas
 
SQL vs. NoSQL Databases
SQL vs. NoSQL DatabasesSQL vs. NoSQL Databases
SQL vs. NoSQL DatabasesOsama Jomaa
 
CSC139 Chapter 9 Lab Assignments (1) Classes and Obj.docx
CSC139 Chapter 9 Lab Assignments (1) Classes and Obj.docxCSC139 Chapter 9 Lab Assignments (1) Classes and Obj.docx
CSC139 Chapter 9 Lab Assignments (1) Classes and Obj.docxruthannemcmullen
 
Rajeev oops 2nd march
Rajeev oops 2nd marchRajeev oops 2nd march
Rajeev oops 2nd marchRajeev Sharan
 
Agile methodologies based on BDD and CI by Nikolai Shevchenko
Agile methodologies based on BDD and CI by Nikolai ShevchenkoAgile methodologies based on BDD and CI by Nikolai Shevchenko
Agile methodologies based on BDD and CI by Nikolai ShevchenkoMoldova ICT Summit
 
PayPal Real Time Analytics
PayPal  Real Time AnalyticsPayPal  Real Time Analytics
PayPal Real Time AnalyticsAnil Madan
 
Avoiding to Reinvent the flat tire
Avoiding to Reinvent the flat tireAvoiding to Reinvent the flat tire
Avoiding to Reinvent the flat tireHernan Wilkinson
 
Feeding The Scrum Engine
Feeding The Scrum EngineFeeding The Scrum Engine
Feeding The Scrum EngineDoug Shimp
 
Bridging the communication Gap & Continuous Delivery
Bridging the communication Gap & Continuous DeliveryBridging the communication Gap & Continuous Delivery
Bridging the communication Gap & Continuous Deliverymasoodjan
 
Bdd with Cucumber and Mocha
Bdd with Cucumber and MochaBdd with Cucumber and Mocha
Bdd with Cucumber and MochaAtish Narlawar
 
Functional Principles for OO Developers
Functional Principles for OO DevelopersFunctional Principles for OO Developers
Functional Principles for OO Developersjessitron
 
on SQL Managment studio(For the following exercise, use the Week 5.pdf
on SQL Managment studio(For the following exercise, use the Week 5.pdfon SQL Managment studio(For the following exercise, use the Week 5.pdf
on SQL Managment studio(For the following exercise, use the Week 5.pdfformaxekochi
 

Similaire à Kodas ir specifikacija: du zuikiai vienu šūviu (20)

Introduction to Domain driven design (LaravelBA #5)
Introduction to Domain driven design (LaravelBA #5)Introduction to Domain driven design (LaravelBA #5)
Introduction to Domain driven design (LaravelBA #5)
 
Coding Naked 2023
Coding Naked 2023Coding Naked 2023
Coding Naked 2023
 
In Visual Studios C# console app using multiple class files create a.pdf
In Visual Studios C# console app using multiple class files create a.pdfIn Visual Studios C# console app using multiple class files create a.pdf
In Visual Studios C# console app using multiple class files create a.pdf
 
Aslak Hellesoy Executable User Stories R Spec Bdd
Aslak Hellesoy Executable User Stories R Spec BddAslak Hellesoy Executable User Stories R Spec Bdd
Aslak Hellesoy Executable User Stories R Spec Bdd
 
Dependency injection - the right way
Dependency injection - the right wayDependency injection - the right way
Dependency injection - the right way
 
Automatically Repairing Test Cases for Evolving Method Declarations
Automatically Repairing Test Cases for Evolving Method DeclarationsAutomatically Repairing Test Cases for Evolving Method Declarations
Automatically Repairing Test Cases for Evolving Method Declarations
 
Wix Automation - DIY - Testing BI Events
Wix Automation - DIY - Testing BI EventsWix Automation - DIY - Testing BI Events
Wix Automation - DIY - Testing BI Events
 
SQL vs. NoSQL Databases
SQL vs. NoSQL DatabasesSQL vs. NoSQL Databases
SQL vs. NoSQL Databases
 
CSC139 Chapter 9 Lab Assignments (1) Classes and Obj.docx
CSC139 Chapter 9 Lab Assignments (1) Classes and Obj.docxCSC139 Chapter 9 Lab Assignments (1) Classes and Obj.docx
CSC139 Chapter 9 Lab Assignments (1) Classes and Obj.docx
 
Rajeev oops 2nd march
Rajeev oops 2nd marchRajeev oops 2nd march
Rajeev oops 2nd march
 
Agile methodologies based on BDD and CI by Nikolai Shevchenko
Agile methodologies based on BDD and CI by Nikolai ShevchenkoAgile methodologies based on BDD and CI by Nikolai Shevchenko
Agile methodologies based on BDD and CI by Nikolai Shevchenko
 
PayPal Real Time Analytics
PayPal  Real Time AnalyticsPayPal  Real Time Analytics
PayPal Real Time Analytics
 
Avoiding to Reinvent the flat tire
Avoiding to Reinvent the flat tireAvoiding to Reinvent the flat tire
Avoiding to Reinvent the flat tire
 
Feeding The Scrum Engine
Feeding The Scrum EngineFeeding The Scrum Engine
Feeding The Scrum Engine
 
Bridging the communication Gap & Continuous Delivery
Bridging the communication Gap & Continuous DeliveryBridging the communication Gap & Continuous Delivery
Bridging the communication Gap & Continuous Delivery
 
Bdd with Cucumber and Mocha
Bdd with Cucumber and MochaBdd with Cucumber and Mocha
Bdd with Cucumber and Mocha
 
TDD, BDD and mocks
TDD, BDD and mocksTDD, BDD and mocks
TDD, BDD and mocks
 
Functional Principles for OO Developers
Functional Principles for OO DevelopersFunctional Principles for OO Developers
Functional Principles for OO Developers
 
70 433
70 43370 433
70 433
 
on SQL Managment studio(For the following exercise, use the Week 5.pdf
on SQL Managment studio(For the following exercise, use the Week 5.pdfon SQL Managment studio(For the following exercise, use the Week 5.pdf
on SQL Managment studio(For the following exercise, use the Week 5.pdf
 

Plus de Agile Lietuva

Agile Pusryčiai 2023 - „Skaitmeninė transformacija viešajame sektoriuje: nuo ...
Agile Pusryčiai 2023 - „Skaitmeninė transformacija viešajame sektoriuje: nuo ...Agile Pusryčiai 2023 - „Skaitmeninė transformacija viešajame sektoriuje: nuo ...
Agile Pusryčiai 2023 - „Skaitmeninė transformacija viešajame sektoriuje: nuo ...Agile Lietuva
 
Agile Pusryčiai 2023 - „Kaip užsitikrinti projekto sėkmę dar iki projekto pra...
Agile Pusryčiai 2023 - „Kaip užsitikrinti projekto sėkmę dar iki projekto pra...Agile Pusryčiai 2023 - „Kaip užsitikrinti projekto sėkmę dar iki projekto pra...
Agile Pusryčiai 2023 - „Kaip užsitikrinti projekto sėkmę dar iki projekto pra...Agile Lietuva
 
Agile pusryčiai 2023 - „Pirštas ant projekto pulso: CPO LT Agile patirtis ir ...
Agile pusryčiai 2023 - „Pirštas ant projekto pulso: CPO LT Agile patirtis ir ...Agile pusryčiai 2023 - „Pirštas ant projekto pulso: CPO LT Agile patirtis ir ...
Agile pusryčiai 2023 - „Pirštas ant projekto pulso: CPO LT Agile patirtis ir ...Agile Lietuva
 
Agile Pusryčiai 2023 - „Viešasis sektorius – neatskleistas inovacijų paklauso...
Agile Pusryčiai 2023 - „Viešasis sektorius – neatskleistas inovacijų paklauso...Agile Pusryčiai 2023 - „Viešasis sektorius – neatskleistas inovacijų paklauso...
Agile Pusryčiai 2023 - „Viešasis sektorius – neatskleistas inovacijų paklauso...Agile Lietuva
 
M. Kaminskas ir A. K. Remeikienė. LEAN projektas: sėkmės istorijos, iššūkiai ...
M. Kaminskas ir A. K. Remeikienė. LEAN projektas: sėkmės istorijos, iššūkiai ...M. Kaminskas ir A. K. Remeikienė. LEAN projektas: sėkmės istorijos, iššūkiai ...
M. Kaminskas ir A. K. Remeikienė. LEAN projektas: sėkmės istorijos, iššūkiai ...Agile Lietuva
 
B. den Haak. How to make OKRs Lean Again
B. den Haak. How to make OKRs Lean AgainB. den Haak. How to make OKRs Lean Again
B. den Haak. How to make OKRs Lean AgainAgile Lietuva
 
D. Aitcheson. How to make forecasts that are actually accurate.
D. Aitcheson. How to make forecasts that are actually accurate.D. Aitcheson. How to make forecasts that are actually accurate.
D. Aitcheson. How to make forecasts that are actually accurate.Agile Lietuva
 
Aleksandra Černiauskienė. Misija Bloomberg: Agile pagal amerikiečius
Aleksandra Černiauskienė. Misija Bloomberg: Agile pagal amerikiečiusAleksandra Černiauskienė. Misija Bloomberg: Agile pagal amerikiečius
Aleksandra Černiauskienė. Misija Bloomberg: Agile pagal amerikiečiusAgile Lietuva
 
Maija Aniskovič. Agile įtaka komandos motyvacijai.
Maija Aniskovič. Agile  įtaka komandos motyvacijai.Maija Aniskovič. Agile  įtaka komandos motyvacijai.
Maija Aniskovič. Agile įtaka komandos motyvacijai.Agile Lietuva
 
dr. E. Janiūnienė. Asociacijos Agile Lietuva atlikto Agile tyrimo pristatymas
dr. E. Janiūnienė. Asociacijos Agile Lietuva atlikto Agile tyrimo pristatymasdr. E. Janiūnienė. Asociacijos Agile Lietuva atlikto Agile tyrimo pristatymas
dr. E. Janiūnienė. Asociacijos Agile Lietuva atlikto Agile tyrimo pristatymasAgile Lietuva
 
M. Aniskovič. Laužome stereotipus: Agile gali drąsiai taikyti visi
M. Aniskovič. Laužome stereotipus: Agile gali drąsiai taikyti visiM. Aniskovič. Laužome stereotipus: Agile gali drąsiai taikyti visi
M. Aniskovič. Laužome stereotipus: Agile gali drąsiai taikyti visiAgile Lietuva
 
R. Krukonis. Reikalingas greitas rezultatas – pakeiskime projekto darbų organ...
R. Krukonis. Reikalingas greitas rezultatas – pakeiskime projekto darbų organ...R. Krukonis. Reikalingas greitas rezultatas – pakeiskime projekto darbų organ...
R. Krukonis. Reikalingas greitas rezultatas – pakeiskime projekto darbų organ...Agile Lietuva
 
M. Jovaišas. Viešojo sektoriaus lankstumas įgyvendinant transformacijas
M. Jovaišas. Viešojo sektoriaus lankstumas įgyvendinant transformacijasM. Jovaišas. Viešojo sektoriaus lankstumas įgyvendinant transformacijas
M. Jovaišas. Viešojo sektoriaus lankstumas įgyvendinant transformacijasAgile Lietuva
 
A. Kovaliov. Kas nėra Agile jaunystėje, tas neturi širdies. Kas nėra Watefall...
A. Kovaliov. Kas nėra Agile jaunystėje, tas neturi širdies. Kas nėra Watefall...A. Kovaliov. Kas nėra Agile jaunystėje, tas neturi širdies. Kas nėra Watefall...
A. Kovaliov. Kas nėra Agile jaunystėje, tas neturi širdies. Kas nėra Watefall...Agile Lietuva
 
V. Vasiliauskas. Nestandartinis atvejis: nuo Kanban prie Scrum
V. Vasiliauskas. Nestandartinis atvejis: nuo Kanban prie ScrumV. Vasiliauskas. Nestandartinis atvejis: nuo Kanban prie Scrum
V. Vasiliauskas. Nestandartinis atvejis: nuo Kanban prie ScrumAgile Lietuva
 
Leonard Vorobej. Agile projektų valdymas pradedantiesiems
Leonard Vorobej. Agile projektų valdymas pradedantiesiemsLeonard Vorobej. Agile projektų valdymas pradedantiesiems
Leonard Vorobej. Agile projektų valdymas pradedantiesiemsAgile Lietuva
 
Giedrė Žemulaitytė. Agile personalo skyriaus valdyme
Giedrė Žemulaitytė. Agile personalo skyriaus valdyme Giedrė Žemulaitytė. Agile personalo skyriaus valdyme
Giedrė Žemulaitytė. Agile personalo skyriaus valdyme Agile Lietuva
 
Gabija Fatėnaitė. Agile ir Scrum turinio kūrimo ir marketingo komandose
Gabija Fatėnaitė. Agile ir Scrum turinio kūrimo ir marketingo komandoseGabija Fatėnaitė. Agile ir Scrum turinio kūrimo ir marketingo komandose
Gabija Fatėnaitė. Agile ir Scrum turinio kūrimo ir marketingo komandoseAgile Lietuva
 
Gediminas Milieška. Agile kelionės: nuo transformacijos iki planavimo dideliu...
Gediminas Milieška. Agile kelionės: nuo transformacijos iki planavimo dideliu...Gediminas Milieška. Agile kelionės: nuo transformacijos iki planavimo dideliu...
Gediminas Milieška. Agile kelionės: nuo transformacijos iki planavimo dideliu...Agile Lietuva
 
Denis Vanpoucke. Agile kelionės:nuo transformacijos iki planavimo dideliu mastu
Denis Vanpoucke. Agile kelionės:nuo transformacijos iki planavimo dideliu mastuDenis Vanpoucke. Agile kelionės:nuo transformacijos iki planavimo dideliu mastu
Denis Vanpoucke. Agile kelionės:nuo transformacijos iki planavimo dideliu mastuAgile Lietuva
 

Plus de Agile Lietuva (20)

Agile Pusryčiai 2023 - „Skaitmeninė transformacija viešajame sektoriuje: nuo ...
Agile Pusryčiai 2023 - „Skaitmeninė transformacija viešajame sektoriuje: nuo ...Agile Pusryčiai 2023 - „Skaitmeninė transformacija viešajame sektoriuje: nuo ...
Agile Pusryčiai 2023 - „Skaitmeninė transformacija viešajame sektoriuje: nuo ...
 
Agile Pusryčiai 2023 - „Kaip užsitikrinti projekto sėkmę dar iki projekto pra...
Agile Pusryčiai 2023 - „Kaip užsitikrinti projekto sėkmę dar iki projekto pra...Agile Pusryčiai 2023 - „Kaip užsitikrinti projekto sėkmę dar iki projekto pra...
Agile Pusryčiai 2023 - „Kaip užsitikrinti projekto sėkmę dar iki projekto pra...
 
Agile pusryčiai 2023 - „Pirštas ant projekto pulso: CPO LT Agile patirtis ir ...
Agile pusryčiai 2023 - „Pirštas ant projekto pulso: CPO LT Agile patirtis ir ...Agile pusryčiai 2023 - „Pirštas ant projekto pulso: CPO LT Agile patirtis ir ...
Agile pusryčiai 2023 - „Pirštas ant projekto pulso: CPO LT Agile patirtis ir ...
 
Agile Pusryčiai 2023 - „Viešasis sektorius – neatskleistas inovacijų paklauso...
Agile Pusryčiai 2023 - „Viešasis sektorius – neatskleistas inovacijų paklauso...Agile Pusryčiai 2023 - „Viešasis sektorius – neatskleistas inovacijų paklauso...
Agile Pusryčiai 2023 - „Viešasis sektorius – neatskleistas inovacijų paklauso...
 
M. Kaminskas ir A. K. Remeikienė. LEAN projektas: sėkmės istorijos, iššūkiai ...
M. Kaminskas ir A. K. Remeikienė. LEAN projektas: sėkmės istorijos, iššūkiai ...M. Kaminskas ir A. K. Remeikienė. LEAN projektas: sėkmės istorijos, iššūkiai ...
M. Kaminskas ir A. K. Remeikienė. LEAN projektas: sėkmės istorijos, iššūkiai ...
 
B. den Haak. How to make OKRs Lean Again
B. den Haak. How to make OKRs Lean AgainB. den Haak. How to make OKRs Lean Again
B. den Haak. How to make OKRs Lean Again
 
D. Aitcheson. How to make forecasts that are actually accurate.
D. Aitcheson. How to make forecasts that are actually accurate.D. Aitcheson. How to make forecasts that are actually accurate.
D. Aitcheson. How to make forecasts that are actually accurate.
 
Aleksandra Černiauskienė. Misija Bloomberg: Agile pagal amerikiečius
Aleksandra Černiauskienė. Misija Bloomberg: Agile pagal amerikiečiusAleksandra Černiauskienė. Misija Bloomberg: Agile pagal amerikiečius
Aleksandra Černiauskienė. Misija Bloomberg: Agile pagal amerikiečius
 
Maija Aniskovič. Agile įtaka komandos motyvacijai.
Maija Aniskovič. Agile  įtaka komandos motyvacijai.Maija Aniskovič. Agile  įtaka komandos motyvacijai.
Maija Aniskovič. Agile įtaka komandos motyvacijai.
 
dr. E. Janiūnienė. Asociacijos Agile Lietuva atlikto Agile tyrimo pristatymas
dr. E. Janiūnienė. Asociacijos Agile Lietuva atlikto Agile tyrimo pristatymasdr. E. Janiūnienė. Asociacijos Agile Lietuva atlikto Agile tyrimo pristatymas
dr. E. Janiūnienė. Asociacijos Agile Lietuva atlikto Agile tyrimo pristatymas
 
M. Aniskovič. Laužome stereotipus: Agile gali drąsiai taikyti visi
M. Aniskovič. Laužome stereotipus: Agile gali drąsiai taikyti visiM. Aniskovič. Laužome stereotipus: Agile gali drąsiai taikyti visi
M. Aniskovič. Laužome stereotipus: Agile gali drąsiai taikyti visi
 
R. Krukonis. Reikalingas greitas rezultatas – pakeiskime projekto darbų organ...
R. Krukonis. Reikalingas greitas rezultatas – pakeiskime projekto darbų organ...R. Krukonis. Reikalingas greitas rezultatas – pakeiskime projekto darbų organ...
R. Krukonis. Reikalingas greitas rezultatas – pakeiskime projekto darbų organ...
 
M. Jovaišas. Viešojo sektoriaus lankstumas įgyvendinant transformacijas
M. Jovaišas. Viešojo sektoriaus lankstumas įgyvendinant transformacijasM. Jovaišas. Viešojo sektoriaus lankstumas įgyvendinant transformacijas
M. Jovaišas. Viešojo sektoriaus lankstumas įgyvendinant transformacijas
 
A. Kovaliov. Kas nėra Agile jaunystėje, tas neturi širdies. Kas nėra Watefall...
A. Kovaliov. Kas nėra Agile jaunystėje, tas neturi širdies. Kas nėra Watefall...A. Kovaliov. Kas nėra Agile jaunystėje, tas neturi širdies. Kas nėra Watefall...
A. Kovaliov. Kas nėra Agile jaunystėje, tas neturi širdies. Kas nėra Watefall...
 
V. Vasiliauskas. Nestandartinis atvejis: nuo Kanban prie Scrum
V. Vasiliauskas. Nestandartinis atvejis: nuo Kanban prie ScrumV. Vasiliauskas. Nestandartinis atvejis: nuo Kanban prie Scrum
V. Vasiliauskas. Nestandartinis atvejis: nuo Kanban prie Scrum
 
Leonard Vorobej. Agile projektų valdymas pradedantiesiems
Leonard Vorobej. Agile projektų valdymas pradedantiesiemsLeonard Vorobej. Agile projektų valdymas pradedantiesiems
Leonard Vorobej. Agile projektų valdymas pradedantiesiems
 
Giedrė Žemulaitytė. Agile personalo skyriaus valdyme
Giedrė Žemulaitytė. Agile personalo skyriaus valdyme Giedrė Žemulaitytė. Agile personalo skyriaus valdyme
Giedrė Žemulaitytė. Agile personalo skyriaus valdyme
 
Gabija Fatėnaitė. Agile ir Scrum turinio kūrimo ir marketingo komandose
Gabija Fatėnaitė. Agile ir Scrum turinio kūrimo ir marketingo komandoseGabija Fatėnaitė. Agile ir Scrum turinio kūrimo ir marketingo komandose
Gabija Fatėnaitė. Agile ir Scrum turinio kūrimo ir marketingo komandose
 
Gediminas Milieška. Agile kelionės: nuo transformacijos iki planavimo dideliu...
Gediminas Milieška. Agile kelionės: nuo transformacijos iki planavimo dideliu...Gediminas Milieška. Agile kelionės: nuo transformacijos iki planavimo dideliu...
Gediminas Milieška. Agile kelionės: nuo transformacijos iki planavimo dideliu...
 
Denis Vanpoucke. Agile kelionės:nuo transformacijos iki planavimo dideliu mastu
Denis Vanpoucke. Agile kelionės:nuo transformacijos iki planavimo dideliu mastuDenis Vanpoucke. Agile kelionės:nuo transformacijos iki planavimo dideliu mastu
Denis Vanpoucke. Agile kelionės:nuo transformacijos iki planavimo dideliu mastu
 

Dernier

CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 

Dernier (20)

CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 

Kodas ir specifikacija: du zuikiai vienu šūviu