SlideShare uma empresa Scribd logo
1 de 4
Baixar para ler offline
2010 CRC PhD Student Conference



How best to               support         scientific           end-user    software
development?
                               Aleksandra Pawlik
                             a.n.pawlik@open.ac.uk

Supervisors          Dr. Judith Segal
                     Prof. Marian Petre
                     Prof. Helen Sharp
Department/Institute Computing
Status               Full-time
Probation viva       Before
Starting date        October 2009

Introduction

End-user software development has received substantial amounts of attention within
both the academic and software engineering communities [1-3]. One of the sub-
groups that can be distinguished amongst end-user developers is that of scientific end-
user developers [4]. A particular set of characteristics differentiates scientists from
other end-user developers. Firstly, working in the field of science often necessitates
the use of various software packages on a daily basis. Secondly, scientists are familiar
with and utilize formal languages as well as particular modelling techniques.
Additionally, the majority of science degree curriculums offered by universities
contain at least one course in programming. Thus, many scientists have some
experience with coding at a relatively early stage of their academic and professional
career. In many cases, conducting a scientific research project means developing a
tailor-made software tool which will address a particular scientific problem. Therefore,
it may seem that scientists are “predisposed” to being effective and successful end-
user software developers more likely to produce a sustainable end-product software.
However, numerous problematic issues related to scientific end-user software
development have been reported by researchers in computing [5, 6], software
engineers [7] and scientists themselves [8]. For the purpose of my research project, I
will make the distinction between two different contexts within scientific end-user
software development:
    - Limited Context: when software is developed (usually in a purely academic
        environment) in order to address a specific problem within a particular project
        which is being run by a limited group of anticipated users;
    - Extended Context: when it is expected that the software will be reusable,
        maintainable and flexible (i.e. potentially used by an extended group of as yet
        undetermined users).
Scientific end-user software development needs, therefore, relevant and effective
support from the software development professionals’ community. Despite the fact
that some related help exists and is available [9], scientists who develop software and
software engineers who collaborate with them at various levels may find scientific
software development problematic. This indicates that the assistance and support
provided may need adjustments and improvements, an objective that may be
approached from different angles. First of all, it is essential to identify and examine
difficulties which may crop up during scientific end-user software development. The
second approach is to investigate and understand the origins of these problems.


                                      Page 78 of 125
2010 CRC PhD Student Conference



Finally, we need to comprehend why the support available for scientific end-users
provided by the software development professionals’ community does not seem to be
working effectively and what steps should be taken to attempt to remedy this. I argue
that these steps need to involve observing the practices applied during scientific
software development in a number of different contexts.

In my PhD research project, I intend to focus on exploring the tools and methods
which scientific end-user developers employ in their work. The answer to the
question ”What techniques do scientific end-user developers use?” should allow me
to identify the ways in which scientists address issues that emerge during software
development. Additionally, I will pay special attention to the methods which scientific
end-user developers find successful. By “successful” I mean those that were
introduced and maintained during part or indeed the whole cycle of software
development, and which resulted in sustainable software. Thus, my second research
question is “What are the problematic and successful applications of tools and
techniques for supporting end-user software developers?". The results of my study
may potentially provide sufficient information which could be used to tailor and
improve ways of assisting scientific end-user development.

Background

A number of researchers investigated the characteristics and issues related to
scientific end-user development. For example, Segal [10] notes that the software
development process consists of short cycles and proposes an “iterative and
incremental” model of scientific software development which is a result of the fact
that the majority of scientific work remains experimental and is based on
approximation models. Moreover, some scientific projects involve tacit knowledge,
something which creates difficulties in establishing requirements and designing
software packages [11]. The experimental nature of these scientific projects, the
application of tacit knowledge and the approximations generated by mathematical
models create a further problem, that of software testing [12] [13].

Some problems are generated by the fact that many scientific end-user developers
make software within a very limited context of usage. The main aim of scientific
projects is to advance science, deliver and publish the findings. The resources (time,
finances and people) allocated to software development within the framework of a
scientific project tend to be insufficient [14]. Therefore, scientists’ reluctance to
apprehend, for example, object-oriented programming languages, and their preference
to implement code in Fortran seems justified. Moreover, by sticking with familiar
programming languages, scientific end-user developers reduce the risk of errors that
might result from the use of languages which are new or unfamiliar to them [6]. Since,
within the scientific working culture [5], software development is not made a high
priority, scientists who develop software packages do not, as a result, receive relevant
credit, something which tends to discourage them from putting more effort into
creating sustainable software [14]. Other factors which contribute to problems with
scientific end-user software development, such as lack of effective project
management or problems with the labour division, may dissuade developers from
making use of any version control systems or configuration management tools [15].




                                      Page 79 of 125
2010 CRC PhD Student Conference



In fact, tailor-made resources relating directly to software engineering techniques and
methods supporting scientific end-user software development are available and being
continuously developed, mainly by software development professionals [16].
However, these resources only receive rather a poor uptake from the scientific
community, as scientists prefer to teach themselves from, for example, generic
textbooks, colleagues, the Internet, and so on [17] [6]. Additionally, as described by
Kelly [18], the chasm that divides the different approaches to software development
between the communities of scientific end-user developers and software development
professionals only serves to cause further discrepancies in the overall communication
between the two groups.


Methodology

I intend to investigate case studies of scientific end-user software development in
which various software engineering techniques and methods were used in covering
the following:
- The transition of turning purely academic (Limited Context) scientific software
packages into commercial ones;
- The transition of turning purely academic (Limited Context) scientific software
packages into open source (Extended Context) ones;
- The development of scientific software which directly involves software
development professionals (Extended Context).

Since this PhD research project is exploratory in nature, qualitative research methods
would seem to be the most appropriate. Moreover, studies in information systems are
highly context-dependent and interpretative [19], something which requires making
use of methods that allow researchers to investigate issues in depth. I will use
interviews and participant observation as the main methods of data collection. The
interviews will be conducted with both scientific end-user developers and software
development professionals who are directly involved, together with scientists, in
scientific software development teams. The former will constitute the majority of the
respondent group whilst interviews with software development professionals will aim
to provide additional information about the application of methods and techniques for
supporting scientific end-user development. Ideally the interviews will be combined
with participant observation enabling me to obtain a fuller picture of the process and
to perceive any issues related to scientific end-user development. Two things will be
crucial in the sampling of the case studies: being able to obtain maximum variation
within the sample, but also the ability to include convenient sampling (e.g. contacting
respondents, access to the fieldwork etc.), something which will doubtless have an
impact on the final construction of the set of case studies.

References

[1]    B. A. Myers, M. M. Burnett, S. Wiedenbeck, A. J. Ko, and M. B. Rosson,
       "End user software engineering: CHI: 2009 special interest group meeting," in
       Proceedings of the 27th international conference extended abstracts on
       Human factors in computing systems Boston, MA, USA: ACM, 2009.
[2]    H. Lieberman, Paternò, F., Wulf, V., "End user development," Dordrecht, The
       Netherlands: Springer, 2006.


                                      Page 80 of 125
2010 CRC PhD Student Conference



[3]    M. F. Costabile, P. Mussio, L. P. Provenza, and A. Piccinno, "End users as
       unwitting software developers," in Proceedings of the 4th international
       workshop on End-user software engineering Leipzig, Germany: ACM, 2008.
[4]    J. Segal and S. Clarke, "Point/Counterpoint: Software Engineers Don't Know
       Everything about End-User Programming," Software, IEEE, vol. 26, pp. 54-57,
       2009.
[5]    J. Segal, "Software Development Cultures and Cooperation Problems: A field
       Study of the Early Stages of Development of Software for a Scientific
       Community," Computer Supported Cooperative Work (CSCW), vol. 18, pp.
       581-606, 2009.
[6]    R. Sanders and D. Kelly, "Dealing with risk in scientific software
       development," Software, IEEE, pp. 21-28, 2008.
[7]    V. R. Basili, D. Cruzes, J. C. Carver, L. M. Hochstein, J. K. Hollingsworth, M.
       V. Zelkowitz, and F. Shull, "Understanding the high-performance-computing
       community: A software engineer's perspective," Software, IEEE, vol. 25, pp.
       29-36, 2008.
[8]    C. Rickett, S. Choi, C. Rasmussen, and M. Sottile, "Rapid prototyping
       frameworks for developing scientific applications: A case study," The Journal
       of Supercomputing, vol. 36, pp. 123-134, 2006.
[9]    G. Wilson, "Those Who Will Not Learn From History," Computing in Science
       and Engineering, vol. 10, p. 5, 2008.
[10]   J. Segal, "Models of scientific software development," in Workshop on
       Software Engineering in Computational Science and Engineering, Leipzig,
       Germany, 2008
[11]   S. Thew, A. Sutcliffe, R. Procter, O. de Bruijn, J. McNaught, C. C. Venters,
       and I. Buchan, "Requirements Engineering for E-science: Experiences in
       Epidemiology," Software, IEEE, vol. 26, pp. 80-87, 2009.
[12]   D. Hook and D. Kelly, "Testing for trustworthiness in scientific software," in
       Proceedings of the 2009 ICSE Workshop on Software Engineering for
       Computational Science and Engineering: IEEE Computer Society, 2009.
[13]   S. Easterbrook and T. Johns, "Engineering the Software for Understanding
       Climate Change," Computing in Science and Engineering, vol. 26, 2009.
[14]   "Reporting Back - Open Middleware Infrastructure Institute Collaboration
       Workshops 2010," http://www.omii.ac.uk/wiki/CW10ReportingBack, 2010.
[15]   M. Vigder, "End-user software development in a scientific organization," in
       Proceedings of the 2009 ICSE Workshop on Software Engineering
       Foundations for End User Programming: IEEE Computer Society, 2009.
[16]   "Software Carpentry - an intensive introduction to basic software development
       practices for scientists and engineers," http://software-carpentry.org/.
[17]   G. Wilson, "How Do Scientists Really Use Computers?," American Scientist,
       vol. 97, pp. 360-362, 2009.
[18]   D. Kelly, "A software chasm: Software engineering and scientific computing,"
       Software, IEEE, p. 120, 2007.
[19]   H. K. Klein and M. D. Myers, "A set of principles for conducting and
       evaluating interpretive field studies in information systems," MIS Quarterly,
       vol. 23, p. 67(2), 1999.




                                      Page 81 of 125

Mais conteúdo relacionado

Mais procurados

Lecture plan ec202_eca-365
Lecture plan ec202_eca-365Lecture plan ec202_eca-365
Lecture plan ec202_eca-365ArunKishorJohar
 
Managing Large-scale Multimedia Development Projects
Managing Large-scale Multimedia Development ProjectsManaging Large-scale Multimedia Development Projects
Managing Large-scale Multimedia Development ProjectsSimon Price
 
Understanding software quality assurance in Open Source Software
Understanding software quality assurance in Open Source SoftwareUnderstanding software quality assurance in Open Source Software
Understanding software quality assurance in Open Source SoftwareHwer Aron
 
Center for Visual & Decision Information Highlights and Facilities
Center for Visual & Decision Information Highlights and FacilitiesCenter for Visual & Decision Information Highlights and Facilities
Center for Visual & Decision Information Highlights and FacilitiesLouisiana Technology Council
 
112 - The Role of Mentoring and Project Characteristics for Onboarding in Ope...
112 - The Role of Mentoring and Project Characteristics for Onboarding in Ope...112 - The Role of Mentoring and Project Characteristics for Onboarding in Ope...
112 - The Role of Mentoring and Project Characteristics for Onboarding in Ope...ESEM 2014
 
Supporting software documentation with source code summarization
Supporting software documentation with source code summarization Supporting software documentation with source code summarization
Supporting software documentation with source code summarization Ra'Fat Al-Msie'deen
 
Introduction Promise 2008 V3
Introduction Promise 2008 V3Introduction Promise 2008 V3
Introduction Promise 2008 V3gregoryg
 

Mais procurados (7)

Lecture plan ec202_eca-365
Lecture plan ec202_eca-365Lecture plan ec202_eca-365
Lecture plan ec202_eca-365
 
Managing Large-scale Multimedia Development Projects
Managing Large-scale Multimedia Development ProjectsManaging Large-scale Multimedia Development Projects
Managing Large-scale Multimedia Development Projects
 
Understanding software quality assurance in Open Source Software
Understanding software quality assurance in Open Source SoftwareUnderstanding software quality assurance in Open Source Software
Understanding software quality assurance in Open Source Software
 
Center for Visual & Decision Information Highlights and Facilities
Center for Visual & Decision Information Highlights and FacilitiesCenter for Visual & Decision Information Highlights and Facilities
Center for Visual & Decision Information Highlights and Facilities
 
112 - The Role of Mentoring and Project Characteristics for Onboarding in Ope...
112 - The Role of Mentoring and Project Characteristics for Onboarding in Ope...112 - The Role of Mentoring and Project Characteristics for Onboarding in Ope...
112 - The Role of Mentoring and Project Characteristics for Onboarding in Ope...
 
Supporting software documentation with source code summarization
Supporting software documentation with source code summarization Supporting software documentation with source code summarization
Supporting software documentation with source code summarization
 
Introduction Promise 2008 V3
Introduction Promise 2008 V3Introduction Promise 2008 V3
Introduction Promise 2008 V3
 

Destaque

Pawlik crc conf_2010_
Pawlik crc conf_2010_Pawlik crc conf_2010_
Pawlik crc conf_2010_alleksandra
 
Pawlik crc conf_2010_
Pawlik crc conf_2010_Pawlik crc conf_2010_
Pawlik crc conf_2010_alleksandra
 
A Knowledge Transfer Program
A Knowledge Transfer ProgramA Knowledge Transfer Program
A Knowledge Transfer ProgramKeith De La Rue
 
10 Insightful Quotes On Designing A Better Customer Experience
10 Insightful Quotes On Designing A Better Customer Experience10 Insightful Quotes On Designing A Better Customer Experience
10 Insightful Quotes On Designing A Better Customer ExperienceYuan Wang
 
How to Build a Dynamic Social Media Plan
How to Build a Dynamic Social Media PlanHow to Build a Dynamic Social Media Plan
How to Build a Dynamic Social Media PlanPost Planner
 
Learn BEM: CSS Naming Convention
Learn BEM: CSS Naming ConventionLearn BEM: CSS Naming Convention
Learn BEM: CSS Naming ConventionIn a Rocket
 
SEO: Getting Personal
SEO: Getting PersonalSEO: Getting Personal
SEO: Getting PersonalKirsty Hulse
 

Destaque (7)

Pawlik crc conf_2010_
Pawlik crc conf_2010_Pawlik crc conf_2010_
Pawlik crc conf_2010_
 
Pawlik crc conf_2010_
Pawlik crc conf_2010_Pawlik crc conf_2010_
Pawlik crc conf_2010_
 
A Knowledge Transfer Program
A Knowledge Transfer ProgramA Knowledge Transfer Program
A Knowledge Transfer Program
 
10 Insightful Quotes On Designing A Better Customer Experience
10 Insightful Quotes On Designing A Better Customer Experience10 Insightful Quotes On Designing A Better Customer Experience
10 Insightful Quotes On Designing A Better Customer Experience
 
How to Build a Dynamic Social Media Plan
How to Build a Dynamic Social Media PlanHow to Build a Dynamic Social Media Plan
How to Build a Dynamic Social Media Plan
 
Learn BEM: CSS Naming Convention
Learn BEM: CSS Naming ConventionLearn BEM: CSS Naming Convention
Learn BEM: CSS Naming Convention
 
SEO: Getting Personal
SEO: Getting PersonalSEO: Getting Personal
SEO: Getting Personal
 

Semelhante a Supporting Scientific Software Development

NEED FOR A SOFT DIMENSION
NEED FOR A SOFT DIMENSIONNEED FOR A SOFT DIMENSION
NEED FOR A SOFT DIMENSIONcsandit
 
Better Software, Better Research
Better Software, Better ResearchBetter Software, Better Research
Better Software, Better ResearchCarole Goble
 
Project On-Science
Project On-ScienceProject On-Science
Project On-ScienceAmrit Ravi
 
Supporting The Initial Stages of The Product Design Process: Towards Knowledg...
Supporting The Initial Stages of The Product Design Process: Towards Knowledg...Supporting The Initial Stages of The Product Design Process: Towards Knowledg...
Supporting The Initial Stages of The Product Design Process: Towards Knowledg...CSCJournals
 
Omics Logic - Bioinformatics 2.0
Omics Logic - Bioinformatics 2.0Omics Logic - Bioinformatics 2.0
Omics Logic - Bioinformatics 2.0Elia Brodsky
 
A noble methodology for users’ work
A noble methodology for users’ workA noble methodology for users’ work
A noble methodology for users’ workijseajournal
 
OPEN SOURCE TECHNOLOGY: AN EMERGING AND VITAL PARADIGM IN INSTITUTIONS OF LEA...
OPEN SOURCE TECHNOLOGY: AN EMERGING AND VITAL PARADIGM IN INSTITUTIONS OF LEA...OPEN SOURCE TECHNOLOGY: AN EMERGING AND VITAL PARADIGM IN INSTITUTIONS OF LEA...
OPEN SOURCE TECHNOLOGY: AN EMERGING AND VITAL PARADIGM IN INSTITUTIONS OF LEA...AIRCC Publishing Corporation
 
OPEN SOURCE TECHNOLOGY: AN EMERGING AND VITAL PARADIGM IN INSTITUTIONS OF LEA...
OPEN SOURCE TECHNOLOGY: AN EMERGING AND VITAL PARADIGM IN INSTITUTIONS OF LEA...OPEN SOURCE TECHNOLOGY: AN EMERGING AND VITAL PARADIGM IN INSTITUTIONS OF LEA...
OPEN SOURCE TECHNOLOGY: AN EMERGING AND VITAL PARADIGM IN INSTITUTIONS OF LEA...ijcsit
 
mLearn Project 2012 Full Report
mLearn Project 2012 Full ReportmLearn Project 2012 Full Report
mLearn Project 2012 Full ReportmLearn
 
Improving usage and impact of digitised resources
Improving usage and impact of digitised resourcesImproving usage and impact of digitised resources
Improving usage and impact of digitised resourcesAlastair Dunning
 
Improving usage and impact of digitised resources
Improving usage and impact of digitised resourcesImproving usage and impact of digitised resources
Improving usage and impact of digitised resourcesJisc
 
SciForge Workshop@Potsdam Institute for Climate Impact Reserach; Nov 2014
SciForge Workshop@Potsdam Institute for Climate Impact Reserach; Nov 2014SciForge Workshop@Potsdam Institute for Climate Impact Reserach; Nov 2014
SciForge Workshop@Potsdam Institute for Climate Impact Reserach; Nov 2014dreusser
 
International Cooperation Experiences: Results Achieved, Lessons Learned, and...
International Cooperation Experiences: Results Achieved, Lessons Learned, and...International Cooperation Experiences: Results Achieved, Lessons Learned, and...
International Cooperation Experiences: Results Achieved, Lessons Learned, and...SOFIProject
 
Personal dashboards for individual learning and project awareness in social s...
Personal dashboards for individual learning and project awareness in social s...Personal dashboards for individual learning and project awareness in social s...
Personal dashboards for individual learning and project awareness in social s...Wolfgang Reinhardt
 
Student perceptions and attitudes towards the software factory as a learning ...
Student perceptions and attitudes towards the software factory as a learning ...Student perceptions and attitudes towards the software factory as a learning ...
Student perceptions and attitudes towards the software factory as a learning ...Muhammad Ahmad
 
CREW VRE Release 5 - 2009 May
CREW VRE Release 5 - 2009 MayCREW VRE Release 5 - 2009 May
CREW VRE Release 5 - 2009 MayMartin Turner
 
A Practical Approach Of Teaching Software Engineering
A Practical Approach Of Teaching Software EngineeringA Practical Approach Of Teaching Software Engineering
A Practical Approach Of Teaching Software EngineeringAmy Cernava
 
Understanding Continuous Design in F/OSS Projects
Understanding Continuous Design in F/OSS ProjectsUnderstanding Continuous Design in F/OSS Projects
Understanding Continuous Design in F/OSS ProjectsBetsey Merkel
 

Semelhante a Supporting Scientific Software Development (20)

NEED FOR A SOFT DIMENSION
NEED FOR A SOFT DIMENSIONNEED FOR A SOFT DIMENSION
NEED FOR A SOFT DIMENSION
 
Better Software, Better Research
Better Software, Better ResearchBetter Software, Better Research
Better Software, Better Research
 
Project On-Science
Project On-ScienceProject On-Science
Project On-Science
 
Lopez
LopezLopez
Lopez
 
Supporting The Initial Stages of The Product Design Process: Towards Knowledg...
Supporting The Initial Stages of The Product Design Process: Towards Knowledg...Supporting The Initial Stages of The Product Design Process: Towards Knowledg...
Supporting The Initial Stages of The Product Design Process: Towards Knowledg...
 
Omics Logic - Bioinformatics 2.0
Omics Logic - Bioinformatics 2.0Omics Logic - Bioinformatics 2.0
Omics Logic - Bioinformatics 2.0
 
A noble methodology for users’ work
A noble methodology for users’ workA noble methodology for users’ work
A noble methodology for users’ work
 
OPEN SOURCE TECHNOLOGY: AN EMERGING AND VITAL PARADIGM IN INSTITUTIONS OF LEA...
OPEN SOURCE TECHNOLOGY: AN EMERGING AND VITAL PARADIGM IN INSTITUTIONS OF LEA...OPEN SOURCE TECHNOLOGY: AN EMERGING AND VITAL PARADIGM IN INSTITUTIONS OF LEA...
OPEN SOURCE TECHNOLOGY: AN EMERGING AND VITAL PARADIGM IN INSTITUTIONS OF LEA...
 
OPEN SOURCE TECHNOLOGY: AN EMERGING AND VITAL PARADIGM IN INSTITUTIONS OF LEA...
OPEN SOURCE TECHNOLOGY: AN EMERGING AND VITAL PARADIGM IN INSTITUTIONS OF LEA...OPEN SOURCE TECHNOLOGY: AN EMERGING AND VITAL PARADIGM IN INSTITUTIONS OF LEA...
OPEN SOURCE TECHNOLOGY: AN EMERGING AND VITAL PARADIGM IN INSTITUTIONS OF LEA...
 
mLearn Project 2012 Full Report
mLearn Project 2012 Full ReportmLearn Project 2012 Full Report
mLearn Project 2012 Full Report
 
Improving usage and impact of digitised resources
Improving usage and impact of digitised resourcesImproving usage and impact of digitised resources
Improving usage and impact of digitised resources
 
Improving usage and impact of digitised resources
Improving usage and impact of digitised resourcesImproving usage and impact of digitised resources
Improving usage and impact of digitised resources
 
SciForge Workshop@Potsdam Institute for Climate Impact Reserach; Nov 2014
SciForge Workshop@Potsdam Institute for Climate Impact Reserach; Nov 2014SciForge Workshop@Potsdam Institute for Climate Impact Reserach; Nov 2014
SciForge Workshop@Potsdam Institute for Climate Impact Reserach; Nov 2014
 
International Cooperation Experiences: Results Achieved, Lessons Learned, and...
International Cooperation Experiences: Results Achieved, Lessons Learned, and...International Cooperation Experiences: Results Achieved, Lessons Learned, and...
International Cooperation Experiences: Results Achieved, Lessons Learned, and...
 
Personal dashboards for individual learning and project awareness in social s...
Personal dashboards for individual learning and project awareness in social s...Personal dashboards for individual learning and project awareness in social s...
Personal dashboards for individual learning and project awareness in social s...
 
Student perceptions and attitudes towards the software factory as a learning ...
Student perceptions and attitudes towards the software factory as a learning ...Student perceptions and attitudes towards the software factory as a learning ...
Student perceptions and attitudes towards the software factory as a learning ...
 
CREW VRE Release 5 - 2009 May
CREW VRE Release 5 - 2009 MayCREW VRE Release 5 - 2009 May
CREW VRE Release 5 - 2009 May
 
A Practical Approach Of Teaching Software Engineering
A Practical Approach Of Teaching Software EngineeringA Practical Approach Of Teaching Software Engineering
A Practical Approach Of Teaching Software Engineering
 
Understanding Continuous Design in F/OSS Projects
Understanding Continuous Design in F/OSS ProjectsUnderstanding Continuous Design in F/OSS Projects
Understanding Continuous Design in F/OSS Projects
 
Introduction to the Software Sustainability Institute
Introduction to the Software Sustainability InstituteIntroduction to the Software Sustainability Institute
Introduction to the Software Sustainability Institute
 

Mais de anesah

Aizatulin slides-4-3
Aizatulin slides-4-3Aizatulin slides-4-3
Aizatulin slides-4-3anesah
 
Aizatulin poster
Aizatulin posterAizatulin poster
Aizatulin posteranesah
 
Abraham
AbrahamAbraham
Abrahamanesah
 
Mouawad
MouawadMouawad
Mouawadanesah
 
Pantidi
PantidiPantidi
Pantidianesah
 
Wilkie
WilkieWilkie
Wilkieanesah
 
Van der merwe
Van der merweVan der merwe
Van der merweanesah
 
Thomas
ThomasThomas
Thomasanesah
 
Taubenberger
TaubenbergerTaubenberger
Taubenbergeranesah
 
Pantidi
PantidiPantidi
Pantidianesah
 
Corneli
CorneliCorneli
Cornelianesah
 
Collins
CollinsCollins
Collinsanesah
 
Ullmann
UllmannUllmann
Ullmannanesah
 
Quinto
QuintoQuinto
Quintoanesah
 
Overbeeke
OverbeekeOverbeeke
Overbeekeanesah
 

Mais de anesah (20)

Aizatulin slides-4-3
Aizatulin slides-4-3Aizatulin slides-4-3
Aizatulin slides-4-3
 
Aizatulin poster
Aizatulin posterAizatulin poster
Aizatulin poster
 
Abraham
AbrahamAbraham
Abraham
 
Mouawad
MouawadMouawad
Mouawad
 
Pantidi
PantidiPantidi
Pantidi
 
Wilkie
WilkieWilkie
Wilkie
 
Van der merwe
Van der merweVan der merwe
Van der merwe
 
Thomas
ThomasThomas
Thomas
 
Taubenberger
TaubenbergerTaubenberger
Taubenberger
 
Sach
SachSach
Sach
 
Rae
RaeRae
Rae
 
Pantidi
PantidiPantidi
Pantidi
 
Corneli
CorneliCorneli
Corneli
 
Collins
CollinsCollins
Collins
 
Xambo
XamboXambo
Xambo
 
Ullmann
UllmannUllmann
Ullmann
 
Tran
TranTran
Tran
 
Quinto
QuintoQuinto
Quinto
 
Pluss
PlussPluss
Pluss
 
Overbeeke
OverbeekeOverbeeke
Overbeeke
 

Último

Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
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
 
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
 
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
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
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
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
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
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DaySri Ambati
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
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
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 

Último (20)

Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
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
 
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
 
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
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
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
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
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
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
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
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
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
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 

Supporting Scientific Software Development

  • 1. 2010 CRC PhD Student Conference How best to support scientific end-user software development? Aleksandra Pawlik a.n.pawlik@open.ac.uk Supervisors Dr. Judith Segal Prof. Marian Petre Prof. Helen Sharp Department/Institute Computing Status Full-time Probation viva Before Starting date October 2009 Introduction End-user software development has received substantial amounts of attention within both the academic and software engineering communities [1-3]. One of the sub- groups that can be distinguished amongst end-user developers is that of scientific end- user developers [4]. A particular set of characteristics differentiates scientists from other end-user developers. Firstly, working in the field of science often necessitates the use of various software packages on a daily basis. Secondly, scientists are familiar with and utilize formal languages as well as particular modelling techniques. Additionally, the majority of science degree curriculums offered by universities contain at least one course in programming. Thus, many scientists have some experience with coding at a relatively early stage of their academic and professional career. In many cases, conducting a scientific research project means developing a tailor-made software tool which will address a particular scientific problem. Therefore, it may seem that scientists are “predisposed” to being effective and successful end- user software developers more likely to produce a sustainable end-product software. However, numerous problematic issues related to scientific end-user software development have been reported by researchers in computing [5, 6], software engineers [7] and scientists themselves [8]. For the purpose of my research project, I will make the distinction between two different contexts within scientific end-user software development: - Limited Context: when software is developed (usually in a purely academic environment) in order to address a specific problem within a particular project which is being run by a limited group of anticipated users; - Extended Context: when it is expected that the software will be reusable, maintainable and flexible (i.e. potentially used by an extended group of as yet undetermined users). Scientific end-user software development needs, therefore, relevant and effective support from the software development professionals’ community. Despite the fact that some related help exists and is available [9], scientists who develop software and software engineers who collaborate with them at various levels may find scientific software development problematic. This indicates that the assistance and support provided may need adjustments and improvements, an objective that may be approached from different angles. First of all, it is essential to identify and examine difficulties which may crop up during scientific end-user software development. The second approach is to investigate and understand the origins of these problems. Page 78 of 125
  • 2. 2010 CRC PhD Student Conference Finally, we need to comprehend why the support available for scientific end-users provided by the software development professionals’ community does not seem to be working effectively and what steps should be taken to attempt to remedy this. I argue that these steps need to involve observing the practices applied during scientific software development in a number of different contexts. In my PhD research project, I intend to focus on exploring the tools and methods which scientific end-user developers employ in their work. The answer to the question ”What techniques do scientific end-user developers use?” should allow me to identify the ways in which scientists address issues that emerge during software development. Additionally, I will pay special attention to the methods which scientific end-user developers find successful. By “successful” I mean those that were introduced and maintained during part or indeed the whole cycle of software development, and which resulted in sustainable software. Thus, my second research question is “What are the problematic and successful applications of tools and techniques for supporting end-user software developers?". The results of my study may potentially provide sufficient information which could be used to tailor and improve ways of assisting scientific end-user development. Background A number of researchers investigated the characteristics and issues related to scientific end-user development. For example, Segal [10] notes that the software development process consists of short cycles and proposes an “iterative and incremental” model of scientific software development which is a result of the fact that the majority of scientific work remains experimental and is based on approximation models. Moreover, some scientific projects involve tacit knowledge, something which creates difficulties in establishing requirements and designing software packages [11]. The experimental nature of these scientific projects, the application of tacit knowledge and the approximations generated by mathematical models create a further problem, that of software testing [12] [13]. Some problems are generated by the fact that many scientific end-user developers make software within a very limited context of usage. The main aim of scientific projects is to advance science, deliver and publish the findings. The resources (time, finances and people) allocated to software development within the framework of a scientific project tend to be insufficient [14]. Therefore, scientists’ reluctance to apprehend, for example, object-oriented programming languages, and their preference to implement code in Fortran seems justified. Moreover, by sticking with familiar programming languages, scientific end-user developers reduce the risk of errors that might result from the use of languages which are new or unfamiliar to them [6]. Since, within the scientific working culture [5], software development is not made a high priority, scientists who develop software packages do not, as a result, receive relevant credit, something which tends to discourage them from putting more effort into creating sustainable software [14]. Other factors which contribute to problems with scientific end-user software development, such as lack of effective project management or problems with the labour division, may dissuade developers from making use of any version control systems or configuration management tools [15]. Page 79 of 125
  • 3. 2010 CRC PhD Student Conference In fact, tailor-made resources relating directly to software engineering techniques and methods supporting scientific end-user software development are available and being continuously developed, mainly by software development professionals [16]. However, these resources only receive rather a poor uptake from the scientific community, as scientists prefer to teach themselves from, for example, generic textbooks, colleagues, the Internet, and so on [17] [6]. Additionally, as described by Kelly [18], the chasm that divides the different approaches to software development between the communities of scientific end-user developers and software development professionals only serves to cause further discrepancies in the overall communication between the two groups. Methodology I intend to investigate case studies of scientific end-user software development in which various software engineering techniques and methods were used in covering the following: - The transition of turning purely academic (Limited Context) scientific software packages into commercial ones; - The transition of turning purely academic (Limited Context) scientific software packages into open source (Extended Context) ones; - The development of scientific software which directly involves software development professionals (Extended Context). Since this PhD research project is exploratory in nature, qualitative research methods would seem to be the most appropriate. Moreover, studies in information systems are highly context-dependent and interpretative [19], something which requires making use of methods that allow researchers to investigate issues in depth. I will use interviews and participant observation as the main methods of data collection. The interviews will be conducted with both scientific end-user developers and software development professionals who are directly involved, together with scientists, in scientific software development teams. The former will constitute the majority of the respondent group whilst interviews with software development professionals will aim to provide additional information about the application of methods and techniques for supporting scientific end-user development. Ideally the interviews will be combined with participant observation enabling me to obtain a fuller picture of the process and to perceive any issues related to scientific end-user development. Two things will be crucial in the sampling of the case studies: being able to obtain maximum variation within the sample, but also the ability to include convenient sampling (e.g. contacting respondents, access to the fieldwork etc.), something which will doubtless have an impact on the final construction of the set of case studies. References [1] B. A. Myers, M. M. Burnett, S. Wiedenbeck, A. J. Ko, and M. B. Rosson, "End user software engineering: CHI: 2009 special interest group meeting," in Proceedings of the 27th international conference extended abstracts on Human factors in computing systems Boston, MA, USA: ACM, 2009. [2] H. Lieberman, Paternò, F., Wulf, V., "End user development," Dordrecht, The Netherlands: Springer, 2006. Page 80 of 125
  • 4. 2010 CRC PhD Student Conference [3] M. F. Costabile, P. Mussio, L. P. Provenza, and A. Piccinno, "End users as unwitting software developers," in Proceedings of the 4th international workshop on End-user software engineering Leipzig, Germany: ACM, 2008. [4] J. Segal and S. Clarke, "Point/Counterpoint: Software Engineers Don't Know Everything about End-User Programming," Software, IEEE, vol. 26, pp. 54-57, 2009. [5] J. Segal, "Software Development Cultures and Cooperation Problems: A field Study of the Early Stages of Development of Software for a Scientific Community," Computer Supported Cooperative Work (CSCW), vol. 18, pp. 581-606, 2009. [6] R. Sanders and D. Kelly, "Dealing with risk in scientific software development," Software, IEEE, pp. 21-28, 2008. [7] V. R. Basili, D. Cruzes, J. C. Carver, L. M. Hochstein, J. K. Hollingsworth, M. V. Zelkowitz, and F. Shull, "Understanding the high-performance-computing community: A software engineer's perspective," Software, IEEE, vol. 25, pp. 29-36, 2008. [8] C. Rickett, S. Choi, C. Rasmussen, and M. Sottile, "Rapid prototyping frameworks for developing scientific applications: A case study," The Journal of Supercomputing, vol. 36, pp. 123-134, 2006. [9] G. Wilson, "Those Who Will Not Learn From History," Computing in Science and Engineering, vol. 10, p. 5, 2008. [10] J. Segal, "Models of scientific software development," in Workshop on Software Engineering in Computational Science and Engineering, Leipzig, Germany, 2008 [11] S. Thew, A. Sutcliffe, R. Procter, O. de Bruijn, J. McNaught, C. C. Venters, and I. Buchan, "Requirements Engineering for E-science: Experiences in Epidemiology," Software, IEEE, vol. 26, pp. 80-87, 2009. [12] D. Hook and D. Kelly, "Testing for trustworthiness in scientific software," in Proceedings of the 2009 ICSE Workshop on Software Engineering for Computational Science and Engineering: IEEE Computer Society, 2009. [13] S. Easterbrook and T. Johns, "Engineering the Software for Understanding Climate Change," Computing in Science and Engineering, vol. 26, 2009. [14] "Reporting Back - Open Middleware Infrastructure Institute Collaboration Workshops 2010," http://www.omii.ac.uk/wiki/CW10ReportingBack, 2010. [15] M. Vigder, "End-user software development in a scientific organization," in Proceedings of the 2009 ICSE Workshop on Software Engineering Foundations for End User Programming: IEEE Computer Society, 2009. [16] "Software Carpentry - an intensive introduction to basic software development practices for scientists and engineers," http://software-carpentry.org/. [17] G. Wilson, "How Do Scientists Really Use Computers?," American Scientist, vol. 97, pp. 360-362, 2009. [18] D. Kelly, "A software chasm: Software engineering and scientific computing," Software, IEEE, p. 120, 2007. [19] H. K. Klein and M. D. Myers, "A set of principles for conducting and evaluating interpretive field studies in information systems," MIS Quarterly, vol. 23, p. 67(2), 1999. Page 81 of 125