Using Git for Automation and Collaboration

Total Page:16

File Type:pdf, Size:1020Kb

Using Git for Automation and Collaboration USING GIT FOR AUTOMATION AND COLLABORATION JUSTIN ELLIOTT - MATT HANSEN PENN STATE UNIVERSITY AGENDA • Version control overview • Introduction and basics of Git • Advanced Git features • Collaboration • Automation VERSION CONTROL WHAT IS IT? • Manages changes and versions of files • Also known as: • Source Code Management (SCM) • Version Control System (VCS) • GitHub is a hosting service that uses Git WHY USE IT? • Reduces risk and enables you to experiment with code • Agility • Flexible workflows • Quicker deployments • Automate updates WHY USE IT? • Helps with documentation • Collaboration with others • Contributing to open source projects • Modifying a project for your own use GIT INTRODUCTION WHY GIT? • The current de facto standard for source code management • Easy to learn, quick to start! • Very powerful and extensive GIT OVERVIEW • Extremely fast • Excellent data integrity • Git checksums everything (SHA-1) GIT OVERVIEW • Distributed • All clients have the full repo • Backups are everywhere • Local repo updated before remotes • When available, push updates to remote GIT TERMINOLOGY • Repository • Local • Remote • Working Directory • Commit GIT INSTALLATION & CONFIGURATION HOW TO INSTALL GIT • Embedded with many Git GUI Apps • Included with XCode • Download from http://git-scm.com • OS X: Terminal.app • Windows: Git Bash • Linux: Terminal • OS X: MacPorts and HomeBrew GIT CLIENT APPS • http://git-scm.com/downloads/guis • GitHub Desktop • https://desktop.github.com • SourceTree • https://www.sourcetreeapp.com REVIEWING DIFFS • Very easy to view with GitHub Desktop and Web • External diff apps • FileMerge • Kaleidoscope GITHUB DESKTOP • Simplifies the complex Git tasks • Integrates well with GitHub hosting service • Easy to start with • Limited feature set (by design) DEMO: GITHUB CONFIG CONFIGURING GIT ON THE CLI • Git GUI clients handle it for you, or for the CLI fans … • $ git config • Contains items such as name, email, editor, diff tool • Critical for collaboration DEMO: GIT CONFIG CLI https://asciinema.org/a/anjsg2tmlwul6j3ahizgl98ie FUNDAMENTALS REPO FILE CLASSIFICATIONS • Tracked • Ignored • Untracked TRACKED FILE STATES • Modified • Staged • GitHub Desktop shows as checkboxes • Committed CREATE A REPO • Create new empty project repository Working Directory ADD FILES TO THE REPO • Add (stage) files for the next commit Working Directory add Staging Area COMMIT FILES TO REPO • Save staged files to the project repository Working Directory add Staging Area commit Repository COMMITS • Saves file changes to the repo • Each commit should encapsulate a single fix* • Commit often - You will thank yourself later! • Or else … Larger changes are much harder to pick apart and revert back to. IGNORING FILES / DIRECTORIES • Why? • What? • How? • Scope • Single Project Repo • All Repos ( Global ~/.gitignore_global file ) • Recommended to create ignore file as first step COMMIT HISTORY LOGS • Review history of commits to repo • Documents changes over time • Extremely helpful for your future self and others DEMO • Create repo • Modify same tracked file • Create files • View diff of file changes • Show status • Commit the file • Ignore file(s) • Review history log • Commit git ignore file • Revert to previous commit • Initial commit of file • Review history log BRANCHES BRANCHES • Provide separate paths of code development • When should they be used? • Others to help test before merged to master • “master” is the default branch • Great for vetting major changes, for others to review • Many workflow methods out there (ie, GitFlow) BRANCH WALK THROUGH First Commit M1 BRANCH WALK THROUGH M1 B1 New Branch BRANCH WALK THROUGH M1 B1 B2 Second Branch Commit BRANCH WALK THROUGH M1 B1 B2 B3 Third Branch Commit BRANCH WALK THROUGH M1 B1 B2 B3 B4 Fourth Branch Commit BRANCH WALK THROUGH Merge Branch To Master M1 M2 B1 B2 B3 B4 (Branch Deleted After Merge) GIT'S "HEAD" REFERENCE • Reference pointer to a commit • “Detached HEAD” warning • What does it mean? • When does this occur? • What should I do? • Have code changes? Branch! BRANCH WORKFLOWS • GitHub Flow • Atlassian’s List • Centralized • Feature • Git Flow • Forking REMOTES REMOTES • Local repo on your client only • Remote is a Git host to push to • You clone from remote(s) • ie. GitHub, BitBucket • First remote is called “origin” • Avoid changing the remote name, some GUI Apps look for it REMOTE REPOS • Network Protocols • HTTPS • SSH (Keys) • Git Protocol (daemon) SELF-HOSTED REPO SERVICES • SSH • Enable SSH, create “bare” repository on server • % git init --bare --shared • Atlassian Stash • Enterprise GitHub • GitLab HOSTED REPO SERVICES • GitHub, BitBucket • SourceRepo, Assembla • GitLab • git.psu.edu for Penn Staters (runs on GitLab) • And many more … GIT WORKFLOW STAGES Working Directory add Staging Area commit Repository pull push Remote CLONING • Copies repo from remote • Repo includes entire project PUSHING • Saves commits to remote server • Pushes active branch that you’re on FETCHING • Updates repo status of remote • Local repo files are not changed • Always fetch or pull before pushing to remotes! REMOTES - DO'S AND DON'TS • Do... • Always fetch or pull before making changes • Otherwise you will need to merge or rebase your changes • Don't... • Make changes to local repo before fetching/pulling, or else create a new branch first • OR stash the files first REMOTES DEMO • Add local repo to GitHub Desktop • Publish to GitHub • View new remote host via “git remote -vv” • View tracking branch(es) via “git branch -vv” • Local branches track remote branches • Commit first to local, then push to GitHub • Create README.md file on GitHub, Pull COLLABORATION ETIQUETTE • Pull Request vs. Feature Requests • Read the project's docs and guidelines first • Start with simple changes to learn processes • Avoid pull requests on pull requests • Instead, provide feedback to author of pull for additional fixes or suggestions ETIQUETTE • Commit Messages • Keep them small, clear and descriptive • Remember others need to understand them • Stick to the project's coding styles and conventions • Follow or establish team decided branch workflow • Be nice! CREATING A PULL REQUEST Their Remote Repo Contributor fork Your Remote Repo push clone/pull merge Local Repository commit Pull Request Working Copy Discussion GITHUB PULL REQUEST RECEIVING A PULL REQUEST • Discuss and gather feedback RECEIVING A PULL REQUEST • Squash & merge or Merge commit RECEIVING A PULL REQUEST • Checkout and test AUTOMATION INTEGRATIONS • Automatic emails • Push notifications • Slack Channels, IRC, Twitter, HipChat, etc. • Methods • WebHooks • Agents / Runners • Polling AUTOMATION TOOLS • Scripts • launchd, cron to automate git pulls • AutoPkgr schedule for autopkg recipe repos • Continuous Integration • Jenkins, Atlassian Bamboo, GitLab • Travis CI WEBHOOKS • Receive event notifications between multiple systems • commit, push (tag or branch), releases, issues, documentation updates, forks, etc. • Useful for updating, notifying, building, testing, backing up, deploying AUTOMATION IDEAS • Auto update servers (Web, etc.) • Revert to previous commit • Example • Agent/Runner runs script after repo receives commit • Automated testing, build and test products/recipes AUTOMATED WORKFLOWS • Update server content from master branch • Auto pull “ready for production” versions • Track changes made on servers, switches • .git folder security issue - be aware CLC CASE STUDY GitLab GitHub autopkg Jenkins Slack BigFix CLC CASE STUDY • Lessons Learned • Use the tool that works best • Keep it simple and robust • Lots of notifications, categorized and specific • Working with internal and external collaborators • Leverage the features of Git - commits, events, builds SUMMARY LESSONS LEARNED • Start small • Pick just one project to manage with Git • Use remotes when ready • GitHub, BitBucket • Your own SSH host LESSONS LEARNED • Write good commit messages • There will be a time when you need to search your commit messages and it will really help you out! • Be nice to your future self. • “Where / when / how did I fix that issue?” • What’s for the release notes? LESSONS LEARNED • Keep it simple • Don't be afraid to experiment • Automation and integrations are powerful • Use them after you're comfortable with the basics RESOURCES AND TRAINING • http://bit.ly/psumac-git-cs • Official Git Site • http://git-scm.com • Git Cheat Sheets • Git Pro Book • bit.ly/psumac-nice-pulls RESOURCES AND TRAINING • http://try.github.com - learn Git in 15 minutes! • http://atlassian.com/git • http://bit.ly/psumac-git-wf • O’Reilly • “McCullough and Berglund on Mastering Git” Q & A Justin Elliott jelliott [at] psu.edu @justindelliott Matt Hansen hansen.m [at] psu.edu @hansen_m Feedback: https://bit.ly/psumac2016-91.
Recommended publications
  • Jira Team Satisfaction Report
    Jira Team Satisfaction Report Alister pricing his shareholders bights bearably, but photoelectric Andros never metricate so ruminantly. Animate and scaldic beneficiaryHaywood often Jarvis coxes dignify some jadedly. prince's-feather helluva or disprizes graspingly. Enured Curtice nictate some mainlanders after Your prospect to unlocking Agile Testing in Jira Xray Blog. The team receive the latter. What the types to manage service desk was reported issues across all cards on jira service management, they can otherwise have? Track or the ticket fields, apply them to fit your production processes set one of the right balance between multiple tags templates. Soon the jira service customer satisfaction report or jira service management can reject merge opsgenie with integrity team members permission to access and bug issue. Your current Info-Tech Research Group subscription does not vehicle access to medicine content. It teams have embraced them explore administrator global email for jira satisfaction surveys to reporter field values are. In jira satisfaction report had us and kanban to reporter field id and quantitative and look at the date, it simpler alternative that we! First in Time Report report Report Builder Whether you are eating in force support or lock desk has Crucial for chemistry success reduce customer satisfaction is. In 2012 I lead a partition to install Atlassian suite of products in a brittle environment. Changepoint Extends Market-Leading Daptiv PPM Solution to. 5 Reasons to seize an Employee Satisfaction Survey. It team satisfaction report bugs to jira alternative for multiple checklists templates that you get access to send customers will only offer a rather with? Customer satisfaction or CSAT is how key performance indicator that tracks how satisfied.
    [Show full text]
  • Project Management Software March 2019
    PROJECT MANAGEMENT SOFTWARE MARCH 2019 Powered by Methodology CONTENTS 3 Introduction 5 Defining Project Management Software 6 FrontRunners (Small Vendors) 8 FrontRunners (Enterprise Vendors) 10 Runners Up 22 Methodology Basics 2 INTRODUCTION his FrontRunners analysis minimum qualifying score of 3.96 Tis a data-driven assessment for Usability and 3.91 for User identifying products in the Project Recommended, while the Small Management software market that Vendor graphic had a minimum offer the best capability and value qualifying score of 4.55 for Usability for small businesses. For a given and 4.38 for User Recommended. market, products are evaluated and given a score for Usability (x-axis) To be considered for the Project and User Recommended (y-axis). Management FrontRunners, a FrontRunners then plots 10-15 product needed a minimum of 20 products each on a Small Vendor user reviews published within 18 and an Enterprise Vendor graphic, months of the evaluation period. based on vendor business size, per Products needed a minimum user category. rating score of 3.0 for both Usability and User Recommended in both In the Project Management the Small and Enterprise graphics. FrontRunners infographic, the Enterprise Vendor graphic had a 3 INTRODUCTION The minimum score cutoff to be included in the FrontRunners graphic varies by category, depending on the range of scores in each category. No product with a score less than 3.0 in either dimension is included in any FrontRunners graphic. For products included, the Usability and User Recommended scores determine their positions on the FrontRunners graphic. 4 DEFINING PROJECT MANAGEMENT SOFTWARE roject management software and document management, as well Phelps organizations manage as at least one of the following: time and deliver projects on time, on tracking, budgeting, and resource budget and within scope.
    [Show full text]
  • FAKULTÄT FÜR INFORMATIK Leveraging Traceability Between Code and Tasks for Code Reviews and Release Management
    FAKULTÄT FÜR INFORMATIK DER TECHNISCHEN UNIVERSITÄT MÜNCHEN Master’s Thesis in Informatics Leveraging Traceability between Code and Tasks for Code Reviews and Release Management Jan Finis FAKULTÄT FÜR INFORMATIK DER TECHNISCHEN UNIVERSITÄT MÜNCHEN Master’s Thesis in Informatics Leveraging Traceability between Code and Tasks for Code Reviews and Release Management Einsatz von Nachvollziehbarkeit zwischen Quellcode und Aufgaben für Code Reviews und Freigabemanagement Author: Jan Finis Supervisor: Prof. Bernd Brügge, Ph.D. Advisors: Maximilian Kögel, Nitesh Narayan Submission Date: May 18, 2011 I assure the single-handed composition of this master’s thesis only supported by declared resources. Sydney, May 10th, 2011 Jan Finis Acknowledgments First, I would like to thank my adviser Maximilian Kögel for actively supporting me with my thesis and being reachable for my frequent issues even at unusual times and even after he left the chair. Furthermore, I would like to thank him for his patience, as the surrounding conditions of my thesis, like me having an industrial internship and finishing my thesis abroad, were sometimes quite impedimental. Second, I want to thank my other adviser Nitesh Narayan for helping out after Max- imilian has left the chair. Since he did not advise me from the start, he had more effort working himself into my topic than any usual adviser being in charge of a thesis from the beginning on. Third, I want to thank the National ICT Australia for providing a workspace, Internet, and library access for me while I was finishing my thesis in Sydney. Finally, my thanks go to my supervisor Professor Bernd Brügge, Ph.D.
    [Show full text]
  • Atlassian Is Primed to Widen Its Appeal Beyond IT
    Seth Agulnick, [email protected] REPORT Atlassian Is Primed to Widen Its Appeal Beyond IT Companies: CA, CRM, GOOG/GOOGL, HPE, IBM, JIVE, MSFT, NOW, ORCL, TEAM, ZEN February 11, 2016 Report Type: Initial Coverage ☐ Previously Covered Full Report ☐ Update Report Research Question: Will Atlassian’s workflow tools continue to grow quickly with software development teams while also expanding into new use cases? Summary of Findings Silo Summaries . Atlassian Corp. Plc’s (TEAM) tracking and collaboration tools, widely 1) Atlassian Software Users considered the best-in-class for software development, are gaining JIRA and Confluence are both effective tools for team traction among nontechnical teams. collaboration. JIRA can be customized to suit nearly any team’s development process, though setup is . The company’s two flagship products, JIRA and Confluence, are complicated. Confluence is much easier to use and slowly being rolled out in departments like human resources, sales, tends to be deployed more widely. Atlassian’s biggest customer support and product management. These represent a advantage is the way all of its software pieces work together. Atlassian products—which already are being much larger market than Atlassian’s traditional core in IT. branched out beyond software development—can grow . JIRA was praised for its flexibility and advanced customization even further with business teams. options, though the latter trait makes setup and maintenance a challenge. It has great potential for sales growth with any business 2) Users of Competing Software Three of these five sources said Atlassian’s JIRA is not team that needs to track numerous tasks through a multistage the right fit for every company.
    [Show full text]
  • Agile Project Management Software Agile Project Management Buyer’S Guide
    A Publication From BUYER’S GUIDE AGILE PROJECT MANAGEMENT SOFTWARE AGILE PROJECT MANAGEMENT BUYER’S GUIDE Executive Summary The software-centric business model is quickly becoming pervasive in every industry, not just IT. As Jeff Gothelf, co-author of Lean UX, put it, “Software is eating the world.”1 Since the publication of the Agile Manifesto in 2001, the project management (PM) climate has experienced a gradual shift away from the traditional “waterfall” process and toward a more adaptive, Agile model. In the wake of this paradigm shift, many business managers and developers have begun searching both for knowledge of Agile and for practical Agile tools—whether to better manage the software development lifecycle (SDLC) or other non-IT projects. This buyer’s guide will define the methodology of Agile PM as well as the product market and compare four leading Agile PM solutions. Table Of Contents 2 Executive Summary 3 Introduction 5 JIRA Agile 6 Axosoft 7 Planbox 8 Assembla 9 Comparable Products 10 How to Choose a Product 2 AGILE PROJECT MANAGEMENT BUYER’S GUIDE Introduction The rapid emergence of Agile software startups and corresponding business adoption has made the trend clear: people like Agile. Developers like it. Product owners like it. Customers don’t know it, but they like it, too, because they reap its benefits every day. A 2013 study by VersionOne stated that 76 percent of developers are using, or plan to use an Agile project management tool—a 9 percent increase from 2009.2 Agile actually isn’t a project management structure per se, although it is often referred to as such.
    [Show full text]
  • Code-To-Cloud with Opennebula & Megam
    Code-to-Cloud with OpenNebula & Megam Varadarajan Narayanan Kishore Kumar Neelamegam Thomas Alrin Raj Thilak Megam Systems Ottawa , Canada The Cloud system Cloud Journey Moving to cloud ● Migration of development to production is a nightmare. ● Setting up an app environment takes ages. ● Most PAAS available today are coupled to single or few vendors ● No backup and DR solutions in place ● On demand auto scaling in a hybrid cloud environment is not feasible ! ● Cloud add-ons for monitoring, logging, databases have fancy price tags ! ● On site IT infrastructure, private cloud ● Multiple IAAS vendors ! ● SAAS is siloed ! What if we can …. ● Deploy in any cloud - Private and public Clouds or hybrid ● Capture repetitions and use canned pre-built recipes ● Scale seamlessly ● Use multiple cloud storage solutions ● Use any framework - Java, Play, Ruby on Rails, Node.js, Akka … and any source cloud - Github , Bitbucket , Cloudforge …. ● Monitor, log and manage my apps ● API driven ● Integrate continuously with ALM & SDLC ● Avoid vendor lock in by sticking to open standards and open source What does it mean for developers ? Simplifies IaaS plumbing work so developers focus on developing applications. Market “The market will experience consistent growth with worldwide PaaS revenue totaling 1.5 billion in 2013, and growing to $2.9 billion in 2016 The SaaS-based cloud market will grow from $12.1B in 2013 to $21.3B in 2015, with the primary growth factors being ease of customization and speed of deployment” - Gartner Customers ? ● Enterprise With Apps/Cloud ● SaaS players ● SDLC (GitHub.com, Assembla, CloudForge, BitBucket ..) ● DevOps Size ? ● 30 million Programmers World wide ● 16 million Code Repositories What does it mean for IaaS providers ? IaaS is the lowest in the value chain of cloud services and it generates least amount of revenue.
    [Show full text]
  • Coding Together at Scale: Github As a Collaborative Social Network
    Coding Together at Scale: GitHub as a Collaborative Social Network Antonio Lima, Luca Rossi and Mirco Musolesi School of Computer Science University of Birmingham, UK fa.lima,l.rossi,[email protected] Abstract ever, this service has much emphasis on its social features, GitHub is the most popular repository for open source as summarized in its motto “GitHub: social coding”. In fact, code (Finley 2011). It has more than 3.5 million users, GitHub is not simply offering a code hosting service, like as the company declared in April 2013, and more than its competitors had been doing for a long time, but also an 10 million repositories, as of December 2013. It has a easy-to-use and cheap (or even free in its basic version) on- publicly accessible API and, since March 2012, it also line tool for collaborative software development and many publishes a stream of all the events occurring on public features supporting the community of developers. For all projects. Interactions among GitHub users are of a com- these reasons, GitHub has successfully lowered the barrier plex nature and take place in different forms. Devel- to collaboration in open source. The importance of this col- opers create and fork repositories, push code, approve laboration platform seems to be increasing, as its founder code pushed by others, bookmark their favorite projects has plans to extend the use cases beyond software develop- and follow other developers to keep track of their activ- ment (Lunden 2013). At the same time, most of the data con- ities.
    [Show full text]
  • Approve Merge Request Gitlab
    Approve Merge Request Gitlab Indistinguishable Preston pare certifiably. Bubba often quiz sacrilegiously when racial Maurise clothes particularly and windsurfs her kingcup. Carlie asperses titillatingly. Navigate to construction project's Settings General shall expand any request approvals Click Add approvers to create no new approval rule service like in GitLab Starter. GitLab Code Review and appeal Request Metrics SourceLevel. This stud was introduced in version 2 of prison for Windows Tower's to Request integration allows you can review and work in Pull Requests seamlessly. There are a pull requests we are wholesale to sort that key be of. Approving a merchandise request Le Web l'Universit d'Ottawa. Approving a build in Percy will subsequently update your GitLab. Feature to Merge Request Approvals GitLab. Remember a safe request before the succession of a conversation or if you elicit the. If you have some people to existing resources. On GitLab you gotta create a markdown file inside out path. Before merging of property of data provides a gitlab merge request can see an equation? Git credentials for approvals for writing unit test environment of approvers that user you approved by the. This project and last line and your request gitlab merge. How call you hit merge requests? This file as a gitlab item form to approve merge request gitlab does not you do. Gitlabprojectlevelmrapprovals Resources gitlabhqgitlab. Can approve a pull request GitLab You can set that is allowed to approve. To felt the Keypup-GitLab approval flow can merge requests simply comment on create merge request constitute a command see available commands.
    [Show full text]
  • Building the Community of Leading Software Practitioners
    Building the Community of Leading Software Practitioners Design Agile Practitioner Tools InteroperabilityProgramming Software Patterns RequirementsDevelopmentIndustryEngineering Requirements RequirementsStandards EngineeringIndustryRequirementsDevelopmentDevelopmentSoftware StandardsIndustry PatternsRequirements StandardsRequirements SoftwareDevelopmentIEEEIndustry Patterns StandardsRequirementsRequirements Open SourceDevelopmentSoftwareDevelopmentIndustryDevelopmentIndustryRequirements PatternsStandardsSoftwareIndustry StandardsEngineering StandardsRequirementsPatterns RequirementsSoftwareDevelopmentSoftwareArchitectureEngineering Patterns Patterns Data SoftwareIndustryEngineering PatternsEngineering StandardsReliability CodingSoftwareDevelopmentSoftwareDevelopmentDevelopmentRequirements Patterns SoftwarePatternsEngineering Patterns Test-DrivenSoftwareDevelopmentArchitectureEngineering Patterns DevelopmentRequirements HolisticsDevelopmentSoftwareTest-DrivenSoftwareSoftwareSoftwareSoftwareDevelopmentEngineering EngineeringPatterns EngineeringInteroperability PatternsEngineering PatternsPatterns Development SoftwareSoftwareTest-DrivenDevelopmentDevelopmentSoftwareIndustryArchitectureEngineering PatternsEngineering PatternsEngineering StandardsPatterns Development EducationSoftwareTest-DrivenDevelopmentDevelopmentSoftwareDevelopmentDevelopmentRequirements Patterns SoftwareEngineeringPatterns EngineeringDevelopment PatternsOpen Source Test-DrivenDevelopmentTest-DrivenSoftwareSoftwareSoftwareIndustryDevelopmentEngineering EngineeringInteroperability
    [Show full text]
  • Engaging Developers in Open Source Software Projects: Harnessing Social
    Iowa State University Capstones, Theses and Graduate Theses and Dissertations Dissertations 2015 Engaging developers in open source software projects: harnessing social and technical data mining to improve software development Patrick Eric Carlson Iowa State University Follow this and additional works at: https://lib.dr.iastate.edu/etd Part of the Computer Engineering Commons, Computer Sciences Commons, and the Library and Information Science Commons Recommended Citation Carlson, Patrick Eric, "Engaging developers in open source software projects: harnessing social and technical data mining to improve software development" (2015). Graduate Theses and Dissertations. 14663. https://lib.dr.iastate.edu/etd/14663 This Dissertation is brought to you for free and open access by the Iowa State University Capstones, Theses and Dissertations at Iowa State University Digital Repository. It has been accepted for inclusion in Graduate Theses and Dissertations by an authorized administrator of Iowa State University Digital Repository. For more information, please contact [email protected]. Engaging developers in open source software projects: Harnessing social and technical data mining to improve software development by Patrick Eric Carlson A dissertation submitted to the graduate faculty in partial fulfillment of the requirements for the degree of DOCTOR OF PHILOSOPHY Major: Human-Computer Interaction Program of Study Committee: Judy M. Vance, Major Professor Tien Nguyen James Oliver Jon Kelly Stephen Gilbert Iowa State University Ames, Iowa 2015 Copyright c Patrick Eric Carlson, 2015. All rights reserved. ii DEDICATION This is dedicated to my parents who have always supported me. iii TABLE OF CONTENTS Page LIST OF TABLES . vi LIST OF FIGURES . vii ACKNOWLEDGEMENTS . ix ABSTRACT . x CHAPTER 1.
    [Show full text]
  • Checklist for a Software Management Plan
    Checklist for a Software Management Plan Michael Jackson (ed.) Version 0.2 10.5281/zenodo.1460504 12 October 2018 Please cite as: Michael Jackson (ed.) (12 October 2018). Checklist for a Software Management Plan (Version 0.2). Zenodo. doi:10.5281/zenodo.1460504. Web site: https://www.software.ac.uk/software- management-plans Introduction It is easy to concentrate on short-term issues when developing research software. Getting publications, collaboration with others and the demands of a daily research routine can all conspire to prevent proper planning for the development of research software. A Software Management Plan can help us to define a set of structures and goals to help us to understand what we are going to write, who it is for, how we will get it to them, how will it help them, and how we will assess whether it has helped them. They also help us to understand what processes, resources and infrastructure we need and how we can use these to meet our own goals, in the short, medium and long term. They also encourage us to think about the future of our software once our project or funding period ends, and what our plans for its long-term sustainability are. This checklist is intended to help researchers write software management plans. Use of this checklist The Software Sustainability Institute provides this checklist on an "as-is" basis, makes no warranties regarding any information provided within and disclaims liability for damages resulting from using this information. You are solely responsible for determining the appropriateness of any advice and guidance provided and assume any risks associated with your use of this advice and guidance.
    [Show full text]
  • Comparative Study of APM Tools
    Jagpuneet Kaur Bajwa, Jaspreet Kaur 26 Comparative Study of APM Tools 1Jagpuneet Kaur Bajwa, 2Jaspreet Kaur 1,2Department of Computer science, Punjabi University, Patiala, Punjab, India [email protected], [email protected] Abstract Agile Project Management tools form the backbone of mature software development projects. There are various tools that companies are using to support their agile processes for project management and bug tracking. Whenever an organization starts the software development, they look out for a good tool to manage their agile processes. Agile Project management tools have overtaken the manual tools (physical cards, task boards, charts etc.) in almost all the companies. Nowadays, there are a number of web-based tools available. The purpose of this paper is to study and compare the popular APM tools which are currently being used to support agile processes. In addition, to analyze them on the basis of their functionality, common characteristics, distinguishing features and pros and cons of each tool, in order to find out which one is most complete and better to help agile teams in project management process. Keywords: Project Management, APM tools, Software Development, Systematic literature review. Introduction Nowadays, project management tools have been widely used to manage agile projects. These tools help an organization in reducing the product development time. The proper use of project management tools has a great impact in the success of a project. There are many Agile Project management tools available. But organizations need to select appropriate tool according to their requirement which will lead to better project performance. Reasons for selecting an APM tool According to a survey, 60-70% of organizations (all sizes) are deploying project management tools for agile processes.
    [Show full text]