Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Which Factors Influence Practitioners' Usage of Build Automation Tools?

162 views

Published on

Even though build automation tools help to reduce errors and rapid releases of software changes, use of build automation tools is not widespread amongst software practitioners. Software practitioners perceive build automation tools as complex, which can hinder the adoption of these tools. How well founded such perception is, can be determined by systematic exploration of adoption factors that influence usage of build automation tools. The goal of this paper is to aid software practitioners in increasing their usage of build automation tools by identifying the adoption factors that influence usage of these tools. We conducted a survey to empirically identify the adoption factors that influence usage of build automation tools. We obtained survey responses from 268 software professionals who work at NestedApps, Red Hat, as well as contribute to open source software. We observe that adoption factors related to complexity do not have the strongest influence on usage of build automation tools. Instead, we observe compatibility-related adoption factors, such as adjustment with existing tools, and adjustment with practitioner’s existing workflow, to have influence on usage of build automation tools with greater importance. Findings from our paper suggest that usage of build automation tools might increase if: build automation tools fit well with practitioners’ existing workflow and tool usage; and usage of build automation tools are made more visible among practitioners’ peers.

Published in: Software
  • Be the first to comment

  • Be the first to like this

Which Factors Influence Practitioners' Usage of Build Automation Tools?

  1. 1. 1 Which Factors Influence Practitioners’ Usage of Build Automation Tools? Akond Rahman*, Asif Partho**, David Meder$, and Laurie Williams* North Carolina State University*, Nested Apps**, Red Hat$ Contact: aarahman@ncsu.edu
  2. 2. 2 Motivation • Build automation is not widely used, and can have negative consequences • Example: https://www.bloomberg.com/news/articles/2012-08-02/knight-shows-how-to-lose-440-million-in-30-minutes
  3. 3. 3 Research Objective The goal of this paper is to aid software practitioners in increasing their usage of build automation tools by identifying the adoption factors that influence usage of these tools.
  4. 4. 4 Background Humble and Farley defined build automation as the technology which automatically compiles and tests software changes, packages the software changes into a binary, and prepare the created binary for deployment. https://continuousdelivery.com/
  5. 5. 5 Background (Contd.) • Build (B) tools: – Example: Ant and Maven. • Continuous integration (CI) tools: – Example: Jenkins and Travis-CI. • Infrastructure as Code (IaC) tools: – Example: Chef and Puppet. • Version control (VC) tools: – Example: Git and Subversion (SVN).
  6. 6. 6 Background (Contd.) • Education - 6 factors • Diffusion of Innovation (DOI) Theory – Advantages - 4 factors – Compatibility - 4 factors – Complexity - 4 factors – Observability - 4 factors – Trialability - 4 factors
  7. 7. 7 Our Contributions • A list of adoption factors that influence usage of B,CI, IaC, and VC tools; and • A rank of the identified adoption factors that influence usage of B,CI, IaC, and VC tools
  8. 8. 8 Research Questions • RQ-1: Which adoption factors influence usage of B,CI, IaC, and VC tools? • RQ-2: How can we prioritize the identified influencing adoption factors for B,CI, IaC, and VC tools?
  9. 9. 9 Methodology Red Hat, NestedApps, and OSS Projects 26 Adoption Factors from Six Concepts Logistic Regression 268 Professionals
  10. 10. 10 Empirical Findings: Summary of Professional Experience 0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100% B CI IaC VC < 1 y 1 ~ 2 y 3 ~ 5 y 6 ~ 10 y > 10 y
  11. 11. 11 Empirical Findings: Summary of Tool Usage 0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100% B CI IaC VC < 1 y 1 ~ 2 y 3 ~ 5 y 6 ~ 10 y > 10 y
  12. 12. 12 Empirical Findings: RQ1 (“Which adoption factors influence usage of B, CI, IaC, and VC tools?”) • Build tools (B) – Advantages – Compatibility – Complexity – Education – Observability
  13. 13. 13 Empirical Findings: RQ1 (“Which adoption factors influence usage of B, CI, IaC, and VC tools?”) • Continuous integration tools (CI) – Compatibility – Complexity – Education – Observability – Trialability
  14. 14. 14 Empirical Findings: RQ1 (“Which adoption factors influence usage of B, CI, IaC, and VC tools?”) • Infrastructure as code tools (IaC) – Compatibility – Education – Observability – Trialability
  15. 15. 15 Empirical Findings: RQ1 (“Which adoption factors influence usage of B, CI, IaC, and VC tools?”) • Version control tools (VC) – Compatibility – Complexity – Education – Observability – Trialability
  16. 16. 16 Summary of RQ1
  17. 17. 17 Empirical Findings: RQ2 (“How can we prioritize the identified influencing adoption factors for B, CI, IaC, and VC tools?”) • Summary: – For B tools, the highest priority adoption factor is ‘B tools are highly configurable’ (Compatibility). – For CI tools, the highest priority factor is ‘CI tools are compatible with the technologies that I use’ (Compatibility). – For IaC tools, the highest priority factor is ‘Use of IaC tools is not very visible in my organization’ (Observability). – For VC tools, the factor ‘fits well with the way I work’ (Compatibility) – Overall, Education-related adoption factors have lower priority.
  18. 18. 18 Implications • Select build automation tools that fit well with the usual work style of the team members and that can be easily customized to the needs of the team members – Example: A team that uses Ruby might adopt tools that are Ruby-friendly e.g. Chef as a IaC tool, and Rake as a B tool.
  19. 19. 19 Implications (Contd.) • Practitioner-led demonstrations of build automation tools at public events https://www.cloudbees.com/jenkinsworld/home https://puppet.com/puppetconf https://git-merge.com/ https://www.apachecon.com/
  20. 20. 20 Limitations • Survey response rate: 9.9% • Factors used in the survey: 26 adoption factors • Factor selection process: Subjectivity
  21. 21. 21 Conclusion • Survey of 268 software professionals. • Compatibility of build automation tools can increase usage. • Observability of build automation tool usage can increase usage.

×