humane assessment: taming the elephant from the development room

Post on 19-Jun-2015

182 Views

Category:

Technology

3 Downloads

Preview:

Click to see full reader

DESCRIPTION

I used this set of slides for a talk I gave at SI-SE Fachtagung in Zurich.

TRANSCRIPT

taming the eleph

ant

from the developme

nt room

humaneassessment

humane-assessment.com

technical debt

technical debt

technical debt

development

http://www.humane-assessment.com/guide/assessment-costs

development

development

decisiondevelopment

decisiondevelopment

decisiondevelopment

development

assessment

decisiondevelopment

assessment

decisiondata

assessment

decisionanalysesdata

assessment

decisionanalyses modelsdata

assessment

decisionanalyses modelsdata

assessment

applyanalysis

interpretconfident?

hypothesize

existinganalysis?

applyanalysis

interpretconfident?

hypothesize

existinganalysis?

applyanalysis

interpretconfident?

craftanalysis

hypothesize

craftanalysis

activities

daily

spike

strategic

facilitator

stakeholder

skills tooling

buildup

throwaway

decisionanalyses modelsdata

assessment

NOM = ?

public class Library {List books;public Library() {…}public void addBook(Book b) {…}public void removeBook(Book b) {…}private boolean hasBook(Book b) {…}protected List getBooks() {…}protected void setBooks(List books) {…}public boolean equals(…) {…}

}

NOM = 7

public class Library {List books;public Library() {…}public void addBook(Book b) {…}public void removeBook(Book b) {…}private boolean hasBook(Book b) {…}protected List getBooks() {…}protected void setBooks(List books) {…}public boolean equals(…) {…}

}

NOM = 7 6

public class Library {List books;public Library() {…}public void addBook(Book b) {…}public void removeBook(Book b) {…}private boolean hasBook(Book b) {…}protected List getBooks() {…}protected void setBooks(List books) {…}public boolean equals(…) {…}

}

NOM = 7 6 4

public class Library {List books;public Library() {…}public void addBook(Book b) {…}public void removeBook(Book b) {…}private boolean hasBook(Book b) {…}protected List getBooks() {…}protected void setBooks(List books) {…}public boolean equals(…) {…}

}

NOM = 7 6 4 3

public class Library {List books;public Library() {…}public void addBook(Book b) {…}public void removeBook(Book b) {…}private boolean hasBook(Book b) {…}protected List getBooks() {…}protected void setBooks(List books) {…}public boolean equals(…) {…}

}

NOM = 7 6 4 3 2

public class Library {List books;public Library() {…}public void addBook(Book b) {…}public void removeBook(Book b) {…}private boolean hasBook(Book b) {…}protected List getBooks() {…}protected void setBooks(List books) {…}public boolean equals(…) {…}

}

NOM = 7, 6, 4, 3, 2 ?

public class Library {List books;public Library() {…}public void addBook(Book b) {…}public void removeBook(Book b) {…}private boolean hasBook(Book b) {…}protected List getBooks() {…}protected void setBooks(List books) {…}public boolean equals(…) {…}

}

NOM = 7, 6, 4, 3, 2 ?

public class Library {List books;public Library() {…}public void addBook(Book b) {…}public void removeBook(Book b) {…}private boolean hasBook(Book b) {…}protected List getBooks() {…}protected void setBooks(List books) {…}public boolean equals(…) {…}

}

your responsibil

ity

decisionanalyses modelsdata

assessment

analyses modelsdata

importers modelsdata analyses

importers modelsdata analyses

importers modelsdata analyses

engines

importers modelsdata analyses

enginesmoosetechnology.org

importers modelsdata analyses

enginesmoosetechnology.org

craftanalysis

activities

daily

spike

strategic

facilitator

stakeholder

skills tooling

buildup

throwaway

strategicmodel abstraction

public void doSomethingWithEntity( final int id, final String code) {

Entity entity = lookupBy(id, code); doSomething(entity);}

((model allAttributes select: [:a| a hasClassScope not]), model allParameters) select: [ :each | ('*id*' match: each name) or: [ '*code*' match: each name ] ]

public void doSomethingWithEntity( final int id, final String code) {

Entity entity = lookupBy(id, code); doSomething(entity);}

spikea JBoss memory leak

@Remote(...)@Stateless(...)public class XYZService { @EJB private ABCService abc; ...}

@Remote(...)@Stateless(...)public class ABCService { @EJB private XYZService xyz; ...}

@Remote(...)@Stateless(...)public class XYZService { @EJB private ABCService abc; ...}

(model allClasses select: #isRemote) cyclesToAll: [ :class | class attributes flatCollectAsSet: [ :attr | attr declaredType withSubclassHierarchy ]]]

@Remote(...)@Stateless(...)public class ABCService { @EJB private XYZService xyz; ...}

taming the eleph

ant

from the developme

nt room

humaneassessment

humane-assessment.com

top related