Planned maintenance
A system upgrade is planned for 10/12-2024, at 12:00-13:00. During this time DiVA will be unavailable.
Change search
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf
Dear Lone Cowboy Programmer - your days are numbered!
Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering. Ericsson AB.ORCID iD: 0000-0001-9898-2222
Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.ORCID iD: 0000-0003-1350-7030
Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.ORCID iD: 0000-0003-3567-9300
Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.ORCID iD: 0000-0002-3646-235x
(English)Manuscript (preprint) (Other academic)
Abstract [en]

Since its inception, software development has been recognized as a highly technical activity, where, at times, highly skilled professionals have been tempted to face technical problems on their own. In the past, software developers, may have been inclined to create solutions as if they were the only ones who needed to understand the solutions.

However, nowadays, the disciplines of software development and systems development have undergone significant change. Current software development requires more crafting skills, in addition to engineering skills. The lone-cowboy programmer will soon have no place in properly organised software development projects. Current practices demand that a productive programmer be tasked to develop both working software (as claimed in the Agile Manifesto) and well crafted software. Accountability, pride in one's work, continuous learning and mentorship are characteristics of the profession that we should promote if we want to enable an attitude of craftsmanship within software development.

This paper provides experiences of craftsmanship, and argues why software craftsmanship is good for the practitioner and software development organizations. To support this claim, we have analysed the development of a product that was developed by following several craftsmanship principles. We observed the product's development for seven years, and interviewed several professionals who were involved in its development.

National Category
Software Engineering
Identifiers
URN: urn:nbn:se:bth-22039OAI: oai:DiVA.org:bth-22039DiVA, id: diva2:1586587
Available from: 2021-08-20 Created: 2021-08-20 Last updated: 2024-01-31Bibliographically approved
In thesis
1. Towards Understanding Software Craftsmanship
Open this publication in new window or tab >>Towards Understanding Software Craftsmanship
2021 (English)Licentiate thesis, comprehensive summary (Other academic)
Abstract [en]

The concept of software craftsmanship has roots in the earliest days of computing but has received comparably little attention from the research community.As a reaction to how Agile methods were practiced and taught in industry, in 2009, the Manifesto for Software Craftsmanship was formulated and published, drawing attention to the concept. Subsequent books and research papers have also elaborated on the concept.

With this dissertation, we aim to study the software craftsmanship phenomenon using empirical software engineering methods.We developed an anatomy of software craftsmanship through a systematic literature study and a longitudinal case study, following a project consisting of multiple teams over several years.We also illustrate some consequences of not following through on the espoused craftsmanship practice of managing and account for technical debt. We find that some areas exhibited high growth in technical debt, while others remained comparably idle. This indicates that it is important to keep track of existing technical debt, but repayment should consider the distribution of each kind of technical debt in the codebase.

Our studies are empirical, using mixed methods, analyzing quantitative as well as qualitative data.We used thematic coding to structure the qualitative data into themes, principles, and practices.

We provide our systematically derived anatomy of the principles and practices of software craftsmanship and discuss how these relate to other principles within software engineering in general.

Place, publisher, year, edition, pages
Karlskrona: Blekinge Tekniska Högskola, 2021
Series
Blekinge Institute of Technology Licentiate Dissertation Series, ISSN 1650-2140 ; 7
Keywords
Software craftsmanship
National Category
Software Engineering
Research subject
Software Engineering
Identifiers
urn:nbn:se:bth-22041 (URN)978-91-7295-427-4 (ISBN)
Presentation
2021-10-07, J1650, 09:00
Supervisors
Available from: 2021-08-23 Created: 2021-08-20 Last updated: 2021-10-28Bibliographically approved

Open Access in DiVA

fulltext(195 kB)343 downloads
File information
File name FULLTEXT01.pdfFile size 195 kBChecksum SHA-512
e52119db50c2ca40f42d5bb78fbd462bea0704f41c2d12f1f9ac4085b2d1fc854994e57aabd343fdf5bf4e016e5d835ad70ab1f19578422c1b5cb90e10d3893b
Type fulltextMimetype application/pdf

Authority records

Sundelin, AndersGonzalez-Huerta, JavierWnuk, KrzysztofGorschek, Tony

Search in DiVA

By author/editor
Sundelin, AndersGonzalez-Huerta, JavierWnuk, KrzysztofGorschek, Tony
By organisation
Department of Software Engineering
Software Engineering

Search outside of DiVA

GoogleGoogle Scholar
Total: 343 downloads
The number of downloads is the sum of all downloads of full texts. It may include eg previous versions that are now no longer available

urn-nbn

Altmetric score

urn-nbn
Total: 387 hits
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf