Best Practices (by any other name)

Slides:



Advertisements
Similar presentations
Consumer-Centric Knowledge Web A Vision of Consumer Applications of Software Agent Technology - Enabling Consumer-Centric Knowledge-Based Computing Jack.
Advertisements

Learning Targets. OUR Targets I can articulate the difference between a ‘standard’ and a ‘target.’ I can deconstruct standards and evaluate my work for.
But nobody told me this! Planning for success Mario Borunda and Girish Chowdhary (The advise I whish I had been told)
Roberto Maragliano – Joint Italy-Taiwan workshop on e-Learning - Ancona, Friday 21 September 2007 “Incomparable!” Things that.
Getting Them Out Of Their Shells: Service Learning And CS Students Jim Bohy – Iowa Wesleyan College.
Computer Engineering 203 R Smith Agile Development 1/ Agile Methods What are Agile Methods? – Extreme Programming is the best known example – SCRUM.
Xtreme Programming. Software Life Cycle The activities that take place between the time software program is first conceived and the time it is finally.
Introduction to Software Engineering CS-300 Fall 2005 Supreeth Venkataraman.
SoberIT Software Business and Engineering Institute HELSINKI UNIVERSITY OF TECHNOLOGY The current state of stakeholder-driven requirements engineering.
Monster-Sized Agile Adoptions SUCCESS AND FAILURE STRATEGIES.
COETC Grant May 17, 2012 Facilitators: Ruth Brancard and Elaine Baker.
COMP 523 DIANE POZEFSKY 20 August AGENDA Introductions Logistics Software Engineering Overview Selecting a project Working with a client.
COMP 523 DIANE POZEFSKY 19 August CHAOS REIGNS.
Domain Modeling In FREMA David Millard Yvonne Howard Hugh Davis Gary Wills Lester Gilbert Learning Societies Lab University of Southampton, UK.
Software Engineering Experimentation Rules for Reviewing Papers Jeff Offutt See my editorials 17(3) and 17(4) in STVR
1 Gdansk, Poland, June 5, 20072nd Symposium on Systems Analysis and Design A Critical Review of Software Engineering Research on Open Source Software Development.
This was developed as part of the Scottish Government’s Better Community Engagement Programme.
DISCUSSION OF THE ARTICLE BY T.ADRIAN AND M.BRUNNERMEIER « COVAR » J.C.ROCHET TOULOUSE SCHOOL OF ECONOMICS.
Writing a Science or Engineering Paper: It is just a story Frank Shipman Department of Computer Science Texas A&M University.
Semester Review and Reflection Dr. Lam TECM 5191.
CS223: Software Engineering Lecture 16: The Agile Methodology.
Scientific Literature and Communication Unit 3- Investigative Biology b) Scientific literature and communication.
10 Employee Engagement Questions to use at your meetings Customer Success Guide.
Software Engineering Experimentation
CS223: Software Engineering
Service Learning Pedagogy at Your Institution
An Introduction to the UCA Core The UCA Experience Explore. Enrich
MBA CLASS CONTENT AND TEACHING EFFECTIVENESS
Learning how to learn: Start your own internship program
Information Systems Development
Planning Interactive Multimedia
Developing Students’ Skills
CSE 374 Programming Concepts & Tools
Games Design: Game Concepts
Service Learning Pedagogy at Your Institution
10 ideas about the future of science that I find exciting!!
Business Ethics.
How do we best share and manage the data within WIS in order to fulfil the ever increasing demand for Weather and Climate Data? Submitted by: Working Group.
Leadership in Engineering Talking Points
Iterative design and prototyping
Software Engineering (CSI 321)
What is “Employability” and how do I develop it?
The Final Exam.
Mike Murray (a) Hamza Tariq (b) Siyana Hristozova (b) Barney Stark (b)
Working effectively in a team
HCI in the software process
Robert W. Lingard California State University, Northridge
Software Development Life Cycle
The Letter Imagine that the Board of Trustees at school are discussing whether Cambridge High should continue to offer outdoor activities, as they are.
Scientific Method.
Performance Management
Foundations for Young Adult Success: A Developmental Framework
Managing Self Self Management 12/31/2018.
HCI in the software process
Lecture IV The Perfect Scientific Article is Yet To Be Written
THE NATURE OF SCIENCE.
Human Computer Interface
Software Engineering Experimentation
HCI in the software process
Do you want to be a By: Ashity Patel.
Curriculum and Philosophy
Scientific Method.
Abstract An abstract is an abbreviated version of your science fair project final report. For most science fairs it is limited to a maximum of 250 words.
The Nature of Science.
Agenda Software development (SD) & Software development methodologies (SDM) Orthogonal views of the software OOSD Methodology Why an Object Orientation?
What we’re learning about science communication training
Lesson 6 – Personal and professional development
10 Employee Engagement Questions to use at your meetings
MEST2: The Evaluation.
The Power of Great Storytelling
Presentation transcript:

Best Practices (by any other name) “I am not a real programmer” Things that look like Agile practices (Jeff Carver’s talk) Rejection of “our” terms, identity (Mike Croucher’s “doing CS/SE at them”) Vocational change, nature of the craftsmanship of science “Great talk about what scientists can learn from SE – but what can SE learn from scientists?” Best/Better “‘Better software’ (a material judgement) arises from ‘better’ processes of production (a moral judgement) and conceals a series of understandings and judgements generated by familiarity with the computer” (Leach et al 2009)

Technical – Social – Cognitive Interconnected but distinct resources & artefacts Tech-cog: figures Easterbrook+Johns, ethnographic study of climate modeling coding practices, that rather than lacking formal testing, the testing done is simply distinct from that in the software engineering sense, but no less ‘formal’ of a verification process Social-cognitive: joint google doc, formalized management practices Technical-social: github! “I don’t want to use version control because I don’t want the world to see my terrible code” Unclear association of related terms, “all-of-nothing” fallacy of best practice adoption We’ve been talking about technical platforms and services but often the discussion has veered into the social realm Makes sense – this is the part that’s shared Question: how to leverage available community and skill resources? Criticism = imagining a different perfect world There are lots of perfect worlds once achieved, only enables the imagination of the next even better one It is entirely possible to only ever put out fires and exist in 100% crisis mode

Roles Hero/genius Ownership & Hierarchy Software advisor / gatekeeper Unique aspect of academic software? (built-in personal stake) Delicate balance: enough ownership to survive, not so much that it suffocates growth Ownership & Hierarchy “a general term used to describe whether one person has responsibility for a software component, or if there is no one clearly responsible developer” “when there is no clear point of contact and the contributions to a software component are spread across many developers, there is an increased chance of communication breakdowns, misaligned goals, inconsistent interfaces and semantics, all leading to lower quality” –Bird et al F/LOSS distinguishes itself from the hierarchical industrial software setting but authority “often enforced in displays of aggressive argument and belittling of others.” –Leach 2009 Software advisor / gatekeeper Elected not appointed Legitimated by sustained engagement (New tools should persuade these people in particular?) Sustain momentum and give feedback – shared responsibility with PI

You’ve been chosen as a software advisor! “First Contact” Specific, not general (to get a sense of context without getting into pre-formed narratives) What, Where, Who, When – not How, Why “What was different/surprising” “A recent time that something happened” Draw stuff to overcome communication barriers Components of code Path of transformation that data takes Code vs Data: where is the sense of elegance or the excitement? Reciprocity, balance Let’s do CS/SE with people not at them!

Evaluation Not adoption is not necessarily bad Disengagement is bad X% of pubs in Y field don’t have repeatable code We can agree that’s bad, but what is the goal? “Need more empirical work” Compare over time or across fields? Material vs moral judgments Performance of good code/practices vs good code/practices in service of a goal They are best practices for a reason; in practice, need incremental, context-specific “Interaction between the programmer and the language” (Jurgen) Also interaction between the code and its audiences, past present future