Book: collaborative software development that connects customers engineers and management
mental models based on psychology research by pappart
mental models inspired by learning theory by p h a
mental models == OO child of Alan K
papers by Abrahamson and synnie alto
research by Hector Valdecantos et al
design movement
design after modernism by john tecuira
...
by christopher alexander (he got his from this field)
The Dehumanisation of Agile and Objects - James Coplien |
The Dehumanisation of Agile and Objects - James Coplien
https://www.youtube.com/watch?v=ZrBQmIDdls4
history
HBR: the new product development game
scrum based on toyota, instead of lean
anthropomorphic UI design
CRC cards
one of the best OO design
not there anymore
programming by difference
incrementally defining a new object by an old one
Engaging end users through their mental models
one model: representation in the machine of a model that is in the mind of the end user
goal: engage the person with the software so the 2 together become one mind
not interface and pluggable
based on
psychology research by pappart
inspired by
learning theory by p h a
child of Alan K
-> pull development
Paper: A Personal Computer for Children of All Ages - Alan Kay
OO = networks of OO
the interface is the product, the rest is waste
papers by Abrahamson and synnie alto
TDD is a design technique, forcing bottom up architecture
the coupling and cohesion metrics will kill you
toyota removed some automation because robots don't learn
controller != user input
research by Hector Valdecantos et al
fast
does not appear in agile
roots TPS
careful decisions made with long deliberation
"defer decisions to last responsible moment"
-> Agile WRONG
opposite of what lean ppl mean
lean: 'last responsible moment'
after which your ability to affect an outcome is taken away
pull those as early as possible
high risk decisions first
don't defer
mental model
behavioral psychologists
soliciting end user mental model
patterns:
quality without a name
just feels right
purpose of daily scrum
NOT communicate impediments
NOT share the goal
NOT info sharing
= replan of your weekly planning
= mini spring planning
what % should fail?
50%
fail more? you suck
fail less? cooking the books, hiding stuff
bug tracking?
fix now!
interface with other scrum teams?
no platforms
no handoffs in scum
regression testing works, automate those
rest: exploratory testing
mob programming
woody zuul
organizational learning
NOT rebuilt team every time
stable teams have value
UX knowledge
tease out mental models
people part is hard part
tech is easy, spend 2 weeks
balance process & product focus
1970-1970 too much process
too focused on product
learning
improvement
balance
scrum is one framework which offers this
scrum is a passing way, learning tool
accountability is important
PO is accountable
real learning
process
values
offsite each year
scrum
QA
What about integration testing?
do it, about 90% of testing i'm doing
most important is usability testing
end user testing is all that matters
Class is bad, Object good?
class will not support the use case
also needs UC
Books about design?
design after modernism by john tecuira
...
by christopher alexander (he got his from this field)
Opinion on software craftsmanship movement?
some level, right focus
NOT engineering
NOT science
= craft
profesionalism has higher bar than the crap Bob talks about
The Dehumanisation of Agile and Objects - James Coplien |
GOTO 2017 • The Dehumanisation of Agile and Objects • James Coplien
20,575 views views
Published on Dec 20, 2017
Top Comments
James Coplien | As requested, here is a reference list annotated by approximate time index into the talk.
Certification is useless:
00:52 Donald P. Hoyt, "The Relationship Between College Grades and Adult Achievement."
Project Management Certification does not correlate with performance: http://network.projectmanagers.net/profiles/blog/show?id=1606472%3ABlogPost%3A244660
1:49 Motivated teams:
Daniel Pink. Drive: The amazing truth about what motivates us. New York: Riverhead Books, 2011.
Happiness Metric. https://sites.google.com/a/scrumplop.org/published-patterns/retrospective-pattern-language/happiness-metric
2:50 Hirotaka Takeuchi and Ikujiro Nonaka. The New New Product Development Game. Harvard Business Review. https://hbr.org/1986/01/the-new-new-product-development-game
2:34 Jeff Sutherland. Origins of Scrum. https://www.scruminc.com/origins-of-scrum/
Vague citations in the first four minutes: Bell Labs research
Brendan G. Cain and James O. Coplien. A Role-Based Empirical Process Modeling Environment. In Proceedings of Second International Conference on the Software Process (ICSP-2), pages 125-133, February 1993. Los Alamitos, California, IEEE Computer Press.
Neil B. Harrison and James O. Coplien. Patterns of productive software organizations. Bell Labs Technical Journal, 1(1):138-145, Summer (September) 1996.
4:16 James Coplien and Neil Harrison. Organizational Patterns of Agile Software Development. Upper Saddle River, NJ: Prentice-Hall/Pearson, July 2004.
4:28 O.-J. Dahl, B. Myhrhaug, K. Nygaard: SIMULA 67 Common Base Language. Norwegian Computing Center, 1968.
4:50 James O. Coplien. Borland Software Craftsmanship: A New Look at Process, Quality and Productivity. In Proceedings of the Fifth Borland International Conference, Orlando, Florida, June 1994.
6:50 Mike Beedle and Ken Schwaber. Agile Software Development with Scrum. Pearson, October, 2001.
6:50 Ken Schwaber. Software in 30 Days: How Agile Managers Beat the Odds, Delight Their Customers, and Leave Competitors in the Dust. Wiley, 2012.
6:50 Ikujiro Nonaka. The Knowledge Creating Company. Oxford University Press, 1995.
6:55 Ikujiro Nonaka and R. Toyama. Managing Flow: A Process Theory of the Knowledge-Based Firm. Palgrave Macmillan, 2008.
8:03 James O. Coplien. A Development Process Generative Pattern Language. In James O. Coplien and Douglas C. Schmidt, editors, Pattern Languages of Program Design, chapter 13, 183-237. Addison-Wesley, Reading, MA, 1995.
9:37 Kent Beck. A Laboratory for Teaching Object-Oriented Thinking. Proceedings of OOPSLA ’89, SIGPLAN Notices 24(10), October, 1989.
12:56 James Coplien. Architecture and the Child Within. Games versus Play, gamification considered harmful, etc. https://www.slideshare.net/Avisi_ASAS/keynote-asas-2014-jim-coplien-the-child-within
12:35 Objects as mental models. Alan C. Kay. A Personal Computer for Children of All Ages. Original between 1968 and 1982. New York: ACM Press, Proceedings of the ACM Annual Conference - Volume 1, 1972, http://doi.acm.org/10.1145/800193.1971922.
20:30, 43:40 Jef Raskin. The Humane Interface: New Directions for Designing Interactive Systems. Addison-Wesley: 2000.
23:18 Kent Beck. A Laboratory for Teaching Object-Oriented Thinking. Proceedings of OOPSLA ’89, SIGPLAN Notices 24(10), October, 1989.
23:46 Siniaalto and Abrahamsson, Comparative Case Study on the Effect of Test-Driven Development on Program Design and Test Coverage, ESEM 2007
23:46 Siniaalto and Abrahamsson, Does Test-Driven Development Improve the Program Code? Alarming results from a Comparative Case Study. Proceedings of Cee-Set 2007, 10 - 12 October, 2007, Poznan, Poland.
26:29 On unit testing: Why Most Unit Testing is Waste. https://rbcs-us.com/documents/Why-Most-Unit-Testing-is-Waste.pdf
26:29 Segue. https://rbcs-us.com/documents/Segue.pdf
26:45, 39:15 Toyota automation: https://qz.com/196200/toyota-is-becoming-more-efficient-by-replacing-robots-with-humans/, https://www.fastcompany.com/40461624/how-toyota-is-putting-humans-first-in-an-era-of-increasing-automation
29:35 Research on DCI by Héctor Valdecantos. Héctor Valdecantos, Katy Tarrit, Mehdi Mirakhorli , and James O. Coplien. An Empirical Study on Code Comprehension: Data Context Interaction Compared to Classical Object Oriented. Proceedings of ICPC 2017, IEEE Press, May 2017.
30:45 Long deliberation. Jeffrey K. Liker. The Toyota Way. McGraw-Hill, 2004, Chapter 19.
31:45 Last Responsible Moment. Glenn Ballard. Positive versus negative iteration in design. In Proceedings of the 8th Annual Conference on the International Group for Lean Construction (IGLC-8). 2000, June.
34:00 The Quality without a Name. Christopher Alexander. The Timeless Way of Building. Oxford University Press, 1979.
40:30 Mob Programming. https://en.wikipedia.org/wiki/Mob_programming
41:40 Organizational Learning. Joop Swieringa and Andre Wierdsma. Becoming a Learning Organization: Beyond the Learning Curve. Addison-Wesley, 1992.
41:43 Stable Teams: https://sites.google.com/a/scrumplop.org/published-patterns/product-organization-pattern-language/development-team/stable-teams
44:50 The Ten Bulls. https://sites.google.com/a/scrumplop.org/published-patterns/book-outline/preface
47:00, 52:25 The Design Movement:
John Thackara. Design After Modernism: Beyond the Object. New York: Thames and Hudson, Inc., 1988.
Nigel Cross, ed. Developments in design methodology. Chichester, UK: Wiley, 1984.
47:41 Jeff Sutherland. The Scrum Handbook. https://www.researchgate.net/publication/301685699_Jeff_Sutherland%27s_Scrum_Handbook
55:30 Daniel Pink. Drive: The amazing truth about what motivates us. New York: Riverhead Books, 2011.
3 months ago
Eric Rohlfs | This talk caught me off guard. Information dense, authoritative, unique point of view derived from experiences my generation missed. We were given tools and told to use them, very little on why.
1 year ago
Mark T | Hairy shouty person warning... but you know you need it!
1 year ago
Nick King | I thought at any moment he would yell out: "Fools! Every one of you!"
5 months ago
Peter Mortensen | This had to be said.
1 year ago (edited)
machivellisucs | i have noticed that all the famous US IT professionals give presentations in Europe nowadays. In the US we have basically given away most of our development to India. It was about cheap labor costs. Sara Blackwell said she went to a offshoring/outsourcing conference. She was told that people in Europe and Australia and Canada would never allow this.
1 year ago (edited)
tr233 | As c++ better then java, diamond inheritance problem, memory leakage.
TDD is not a technique to know what your code doing, it is a technique to make sure that side effects wont appear if you write code on large projects and that at any point you can refactor it to the requirement of the client.
8 months ago (edited)
Jonathan | important information but hard to listen to... sorry, but he is not a good communicator
4 months ago
Bryon Lape | TPS reports are real?
3 months ago
BB1CC666 | This talk sounds like 2007...not 2017....
10 months ago