{"id":4718,"date":"2016-03-19T16:11:48","date_gmt":"2016-03-19T16:11:48","guid":{"rendered":"https:\/\/www.process.st\/templates\/git-workflow\/"},"modified":"2024-02-28T16:41:34","modified_gmt":"2024-02-28T16:41:34","slug":"git-workflow","status":"publish","type":"post","link":"https:\/\/www.process.st\/templates\/git-workflow\/","title":{"rendered":"Git Workflow"},"content":{"rendered":"<section id=\"introduction\">\n<h2> Introduction <\/h2>\n<div class=\"image-content\">\n<figure>\n   <a href=\"https:\/\/www.process.st\/templates\/wp-content\/uploads\/2024\/02\/q6hh1LA-tMFKcqF7mxtO0w.png\" alt=\"Introduction\" target=\"_blank\" rel=\"noopener\"> <img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.process.st\/templates\/wp-content\/uploads\/2024\/02\/q6hh1LA-tMFKcqF7mxtO0w.png\" \/> <\/a><br \/>\n  <\/figure>\n<\/p><\/div>\n<div class=\"text-content\">\n<p>Your latest sprint is almost over and everything has been running smooth as butter; things are looking great! All you need to do is finish off your git workflow and&nbsp;publish that final, one-line update and then clock off for the evening.<\/p>\n<p>Aaaaaaaaand everything's broken.<\/p>\n<p>'<em>...we all make mistakes. Some of those mistakes are unimportant, but some of them are expensive or dangerous<\/em>' - <a href=\"http:\/\/istqbexamcertification.com\/why-is-testing-necessary\/\" rel=\"nofollow noopener\" target=\"_blank\">ISTQB<\/a><\/p>\n<p>Never fear! By following this template you can ensure that your git workflow will run smoothly every single time. From forking your repository to testing the living daylights out of your alterations, we here at <a href=\"https:\/\/www.process.st\/\" rel=\"nofollow noopener\" target=\"_blank\">Process Street<\/a> have the perfect executable checklist for any and all updates to your code.<\/p>\n<p>Let's get started!<\/p>\n<\/p><\/div>\n<\/section>\n<section id=\"preparation\">\n<h2> Preparation: <\/h2>\n<\/section>\n<section id=\"log-in-to-your-project-management-software\">\n<h2> Log in to your project management software <\/h2>\n<div class=\"text-content\">\n<p>The first thing you need to do in your git workflow is to see what features and bugs need working on. To this end, <strong>log in to your <a href=\"https:\/\/www.process.st\/project-management-apps\/\" rel=\"nofollow noopener\" target=\"_blank\">project management app<\/a><\/strong>. Remember to <strong>fill in the form fields<\/strong> below to<strong> record<\/strong> all of the<strong> basic data<\/strong> you'll need to refer to this later!<\/p>\n<\/p><\/div>\n<div class=\"text-field-content form-field-content\">\n<div class=\"form-group\">\n   <label> Developer Name <\/label><br \/>\n   <input type=\"text\" placeholder=\"Something will be typed here...\" disabled=\"disabled\" class=\"form-control\" \/>\n  <\/div>\n<\/p><\/div>\n<div class=\"text-field-content form-field-content\">\n<div class=\"form-group\">\n   <label> Project Management Software Sprint Link <\/label><br \/>\n   <input type=\"text\" placeholder=\"Something will be typed here...\" disabled=\"disabled\" class=\"form-control\" \/>\n  <\/div>\n<\/p><\/div>\n<div class=\"date-field-content form-field-content\">\n<div class=\"form-group\">\n   <label> Date Started <\/label> <\/p>\n<div class=\"date-container\">\n    <button type=\"button\" disabled=\"disabled\" class=\"btn btn-default\"> <i class=\"fa fa-calendar btn-icon\"><\/i> Date will be set here <\/button>\n   <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"text-content\">\n<p>Whether you're using <a href=\"https:\/\/www.atlassian.com\/software\/jira\" rel=\"nofollow noopener\" target=\"_blank\">JIRA<\/a>, <a href=\"https:\/\/www.wrike.com\/\" rel=\"nofollow noopener\" target=\"_blank\">Wrike<\/a>, <a href=\"https:\/\/freshdesk.com\/\" rel=\"nofollow noopener\" target=\"_blank\">Freshdesk<\/a> or something completely different, log into your management software and <strong>open up your current sprint<\/strong>.<\/p>\n<\/p><\/div>\n<\/section>\n<section id=\"choose-a-task-from-your-current-sprint\">\n<h2> Choose a task from your current sprint <\/h2>\n<div class=\"image-content\">\n<figure>\n   <a href=\"https:\/\/www.process.st\/templates\/wp-content\/uploads\/2024\/02\/rMNOXGHe_3yoQIsiLv1KaA.png\" alt=\"Choose a task from your current sprint\" target=\"_blank\" rel=\"noopener\"> <img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.process.st\/templates\/wp-content\/uploads\/2024\/02\/rMNOXGHe_3yoQIsiLv1KaA.png\" \/> <\/a><br \/>\n  <\/figure>\n<\/p><\/div>\n<div class=\"text-content\">\n<p>Next up, you need to&nbsp;<strong>select a task<\/strong> which has been assigned to you during the latest sprint. The selection is entirely up to you, but it is highly advised that you <strong>start with the highest priority issues<\/strong>.<strong> Record the ID and description<\/strong> of the chosen task using the <strong>form fields<\/strong> below.<\/p>\n<\/p><\/div>\n<div class=\"text-field-content form-field-content\">\n<div class=\"form-group\">\n   <label> Task ID <\/label><br \/>\n   <input type=\"text\" placeholder=\"Something will be typed here...\" disabled=\"disabled\" class=\"form-control\" \/>\n  <\/div>\n<\/p><\/div>\n<div class=\"textarea-field-content form-field-content\">\n<div class=\"form-group\">\n   <label> Task Description <\/label><br \/>\n   <textarea placeholder=\"Something will be typed here...\" rows=\"3\" disabled=\"disabled\" class=\"form-control\"><\/textarea>\n  <\/div>\n<\/p><\/div>\n<div class=\"text-content\">\n<p>If the sprint has not yet been planned, the rest of this checklist must be put on hold. In the event that your are <strong>unsure<\/strong> of any aspect of the&nbsp;planning process, we've got you covered with our <strong><a href=\"https:\/\/www.process.st\/templates\/sprint-planning\/\" rel=\"nofollow noopener\" target=\"_blank\">sprint planning<\/a><\/strong> checklist and <strong><a href=\"https:\/\/www.process.st\/templates\/user-story-template\/\" rel=\"nofollow noopener\" target=\"_blank\">user story template<\/a><\/strong>.<\/p>\n<p>Once you have selected your task, it's time to crack on!<\/p>\n<\/p><\/div>\n<\/section>\n<section id=\"coding\">\n<h2> Coding: <\/h2>\n<\/section>\n<section id=\"navigate-to-your-code-repository\">\n<h2> Navigate to your code repository <\/h2>\n<div class=\"text-content\">\n<p>Now that you have a concise task to work on, it's time to <strong>navigate to your code repository<\/strong> and start the magic! As with your sprint navigation,<strong> record the link<\/strong> to your code repository in the <strong>form field<\/strong> below.<\/p>\n<\/p><\/div>\n<div class=\"text-field-content form-field-content\">\n<div class=\"form-group\">\n   <label> Code Repo Link <\/label><br \/>\n   <input type=\"text\" placeholder=\"Something will be typed here...\" disabled=\"disabled\" class=\"form-control\" \/>\n  <\/div>\n<\/p><\/div>\n<div class=\"text-content\">\n<p>Much like the project management software, this could be anything from <a href=\"https:\/\/github.com\/\" rel=\"nofollow noopener\" target=\"_blank\">GitHub<\/a> or <a href=\"https:\/\/bitbucket.org\/\" rel=\"nofollow noopener\" target=\"_blank\">Bitbucket<\/a> to <a href=\"https:\/\/cloud.google.com\/\" rel=\"nofollow noopener\" target=\"_blank\">Google Cloud<\/a>. Whatever your platform, log into the repository ready to start working. Make sure that you're in the <strong>correct project<\/strong>!<\/p>\n<\/p><\/div>\n<\/section>\n<section id=\"fork-the-repository\">\n<h2> Fork the repository <\/h2>\n<div class=\"text-content\">\n<p>No matter what you're working on, it's never a good idea to work on the base code of your program. Instead, by <strong>making a copy of the code<\/strong> to work off, you have a safe environment to alter and test freely.<\/p>\n<p><strong>Forking <\/strong>the repository will make a <strong>safe copy<\/strong> for you to work off, and so this is what you must now do. Note that<strong>&nbsp;some repositories<\/strong> will prevent you from directly altering the fork, and so you must also<strong> download the copy<\/strong> directly to your computer.<\/p>\n<\/p><\/div>\n<\/section>\n<section id=\"code-your-solution-in-the-fork\">\n<h2> Code your solution in the fork <\/h2>\n<div class=\"image-content\">\n<figure>\n   <a href=\"https:\/\/www.process.st\/templates\/wp-content\/uploads\/2024\/02\/uXY-g_j_zvtoWB6UqItNig.png\" alt=\"Code your solution in the fork\" target=\"_blank\" rel=\"noopener\"> <img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.process.st\/templates\/wp-content\/uploads\/2024\/02\/uXY-g_j_zvtoWB6UqItNig.png\" \/> <\/a><br \/>\n  <\/figure>\n<\/p><\/div>\n<div class=\"text-content\">\n<p>You've got your copy set up and raring to go, so now it's time to shine!<strong> Alter the existing code or add a new section<\/strong> (depending on the issue you're tackling) with your favourite text editor. Also <strong>upload a copy<\/strong> of your solution to the<strong> file form field<\/strong> below.<\/p>\n<\/p><\/div>\n<div class=\"file-field-content form-field-content\">\n<div class=\"form-group\">\n   <label> Task Solution <\/label> <\/p>\n<div class=\"file-container\">\n    <button type=\"button\" disabled=\"disabled\" class=\"btn btn-default\"> <i class=\"fa fa-upload btn-icon\"><\/i> File will be uploaded here <\/button>\n   <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"text-content\">\n<p>Whether you're using <a href=\"https:\/\/atom.io\/\" rel=\"nofollow noopener\" target=\"_blank\">Atom<\/a>, <a href=\"https:\/\/www.sublimetext.com\/\" rel=\"nofollow noopener\" target=\"_blank\">Sublime Text<\/a> or <a href=\"http:\/\/www.ultraedit.com\/\" rel=\"nofollow noopener\" target=\"_blank\">UltraEdit<\/a>,&nbsp;<strong>open up your fork<\/strong> and <strong>locate the area<\/strong> which you need to be working in or on. <strong>Type away<\/strong> and, once you're finished, <strong>submit the changes<\/strong> to the fork.<\/p>\n<\/p><\/div>\n<\/section>\n<section id=\"testing\">\n<h2> Testing: <\/h2>\n<\/section>\n<section id=\"merge-your-solution-with-the-test-environment\">\n<h2> Merge your solution with the test environment <\/h2>\n<div class=\"text-content\">\n<p>The new code is ready to be put through its paces; next up in your git workflow is to <strong>merge the fork you've edited with the test environment<\/strong>. This <strong>process will vary<\/strong> depending on the repository you are using, but we'll give a<strong> GitHub example<\/strong> to give you an idea of how to do it.<\/p>\n<p>In order to merge your fork with the test environment in GitHub, you must <strong>make a pull request<\/strong>. To do this, navigate to the location of the project you have just updated with new code. Next, click on &quot;<strong>Compare and Pull Request<\/strong>&quot;, filling in the title and description with as much useful information as possible.<\/p>\n<p>Once you've done this, click on &quot;<strong>Create pull request<\/strong>&quot; and wait fo the project owner's response.<\/p>\n<\/p><\/div>\n<\/section>\n<section id=\"run-tests-on-the-code\">\n<h2> Run tests on the code <\/h2>\n<div class=\"image-content\">\n<figure>\n   <a href=\"https:\/\/www.process.st\/templates\/wp-content\/uploads\/2024\/02\/nupW0XuKALBjdTnVtNFA8w.png\" alt=\"Run tests on the code\" target=\"_blank\" rel=\"noopener\"> <img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.process.st\/templates\/wp-content\/uploads\/2024\/02\/nupW0XuKALBjdTnVtNFA8w.png\" \/> <\/a><br \/>\n  <\/figure>\n<\/p><\/div>\n<div class=\"text-content\">\n<p>Now that your test environment is ready to rock, you need to <strong>run tests on the alterations<\/strong> you've made to ensure that <strong>nothing has been broken<\/strong> and the code is working as intended. <strong>Record the results<\/strong> of these tests using the <strong>dropdown form field<\/strong> below.<\/p>\n<\/p><\/div>\n<div class=\"select-field-content form-field-content\">\n<div class=\"form-group\">\n   <label> Test Results <\/label><br \/>\n   <select disabled=\"disabled\" class=\"form-control\"><option value=\"An option will be selected here\">An option will be selected here<\/option><\/select>\n  <\/div>\n<\/p><\/div>\n<div class=\"text-content\">\n<p>It is worth noting that some tests may be set up to automatically run through the use of software such as <a href=\"https:\/\/circleci.com\/\" rel=\"nofollow noopener\" target=\"_blank\">Circle CI<\/a>. If this is the case, then you don't need to do anything for this step. If not, carry out <strong>unit and integration tests<\/strong> to ensure that everything is running smoothly.<\/p>\n<p>We also have our very own <strong><a href=\"https:\/\/www.process.st\/templates\/software-testing-tutorial\/\" rel=\"nofollow noopener\" target=\"_blank\">software testing tutorial<\/a><\/strong>, if you need a little help with screening your new code for errors. After all, we all know what happens when you don't follow your <a href=\"https:\/\/www.process.st\/it-process\/\" rel=\"nofollow noopener\" target=\"_blank\">IT process<\/a>...<\/p>\n<\/p><\/div>\n<\/section>\n<section id=\"make-any-necessary-corrections\">\n<h2> Make any necessary corrections <\/h2>\n<div class=\"text-content\">\n<p>Once the results of your tests are in, the next step is to<strong> correct any errors<\/strong> which have shown up. Review the data and take note of any results which are undesirable.<\/p>\n<p><strong>Notify the development team<\/strong> of any issues (ideally providing a record of the test results) and assign them to rectify the problem.&nbsp;<strong>Repeat the &quot;Testing&quot; segment<\/strong> of the git workflow&nbsp;<strong>until the code is working<\/strong> as it should.<\/p>\n<p>Once the code is working as intended,<strong> upload the final copy<\/strong>&nbsp;to the <strong>form field<\/strong> below.<\/p>\n<\/p><\/div>\n<div class=\"file-field-content form-field-content\">\n<div class=\"form-group\">\n   <label> Final Task Solution <\/label> <\/p>\n<div class=\"file-container\">\n    <button type=\"button\" disabled=\"disabled\" class=\"btn btn-default\"> <i class=\"fa fa-upload btn-icon\"><\/i> File will be uploaded here <\/button>\n   <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/section>\n<section id=\"polishing-off\">\n<h2> Polishing Off: <\/h2>\n<\/section>\n<section id=\"merge-the-test-environment\">\n<h2> Merge the test environment <\/h2>\n<div class=\"text-content\">\n<p>The code's written, backed up and has been tested so often that it's run up one hell of a hospital bill. Now it's time to <strong>publish the code<\/strong> and improve your product! Remember to <strong>record the time<\/strong> that it is <strong>published<\/strong> (and any <strong>required downtime<\/strong>) using the<strong> form fields<\/strong> below.<\/p>\n<\/p><\/div>\n<div class=\"date-field-content form-field-content\">\n<div class=\"form-group\">\n   <label> Solution Merged <\/label> <\/p>\n<div class=\"date-container\">\n    <button type=\"button\" disabled=\"disabled\" class=\"btn btn-default\"> <i class=\"fa fa-calendar btn-icon\"><\/i> Date will be set here <\/button>\n   <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"date-field-content form-field-content\">\n<div class=\"form-group\">\n   <label> Scheduled Downtime <\/label> <\/p>\n<div class=\"date-container\">\n    <button type=\"button\" disabled=\"disabled\" class=\"btn btn-default\"> <i class=\"fa fa-calendar btn-icon\"><\/i> Date will be set here <\/button>\n   <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"text-content\">\n<p>Do this by <strong>merging your test environment with the production code<\/strong>. As with much of your software development so far, the exact details will vary depending on the software you are using. However, in general, you'll want to merge the test environment by ensuring that the new or altered code&nbsp;is inserted in the correct location (automatically or manually).<\/p>\n<p>If the change is large, will affect the performance of what you are altering or even require downtime to implement, make sure that you <strong>announce the changes (or downtime) in advance<\/strong> so that none of your team or customers will be caught off guard.&nbsp;<\/p>\n<p>Once again, we've got you covered with our <strong><a href=\"https:\/\/www.process.st\/templates\/software-deployment\/\" rel=\"nofollow noopener\" target=\"_blank\">software deployment<\/a>&nbsp;checklist<\/strong> if you're having trouble with this latter stage.<\/p>\n<\/p><\/div>\n<\/section>\n<section id=\"celebrate-with-customer-support\">\n<h2> Celebrate (with customer support) <\/h2>\n<div class=\"image-content\">\n<figure>\n   <a href=\"https:\/\/www.process.st\/templates\/wp-content\/uploads\/2024\/02\/ja9V-6RBhXKZj4eY7dRGGA.png\" alt=\"Celebrate (with customer support)\" target=\"_blank\" rel=\"noopener\"> <img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.process.st\/templates\/wp-content\/uploads\/2024\/02\/ja9V-6RBhXKZj4eY7dRGGA.png\" \/> <\/a><br \/>\n  <\/figure>\n<\/p><\/div>\n<div class=\"text-content\">\n<p>Congratulations! You've successfully carried out the git workflow and completed your software development; it's time to give your team a pat on the back, or have a cold beer to <strong>celebrate<\/strong>.<\/p>\n<p>The only thing that you have left to do is to <strong>keep an eye on your software's performance<\/strong> in the next couple of days and the <strong>support ticket feed<\/strong>. These will usually be your main method of finding <strong>bugs<\/strong> with the system which were not picked up in your pre-publishing checks.<\/p>\n<\/p><\/div>\n<\/section>\n<section id=\"sources\">\n<h2> Sources: <\/h2>\n<div class=\"text-content\">\n<p><a href=\"https:\/\/twitter.com\/istqb\" target=\"_blank\" rel=\"nofollow noopener\">ISTQB<\/a> -&nbsp;<a href=\"http:\/\/istqbexamcertification.com\/why-is-testing-necessary\/\" target=\"_blank\" rel=\"nofollow noopener\">Why Is Testing Necessary?<\/a><\/p>\n<p><a href=\"https:\/\/github.com\/\" target=\"_blank\" rel=\"nofollow noopener\">GitHub<\/a> -&nbsp;<a href=\"https:\/\/help.github.com\/articles\/fork-a-repo\/\" target=\"_blank\" rel=\"nofollow noopener\">Fork A Repo<\/a><\/p>\n<p><a href=\"https:\/\/twitter.com\/NathanBWeller\" target=\"_blank\" rel=\"nofollow noopener\">Nathan Weller<\/a> -&nbsp;<a href=\"https:\/\/www.elegantthemes.com\/blog\/resources\/the-11-best-code-editors-available-in-2015\" target=\"_blank\" rel=\"nofollow noopener\">The 11 Best Code Editors Available in 2015<\/a><\/p>\n<p><a href=\"https:\/\/github.com\/\" target=\"_blank\" rel=\"nofollow noopener\">GitHub<\/a>&nbsp;-&nbsp;<a href=\"https:\/\/guides.github.com\/activities\/forking\/\" rel=\"nofollow noopener\" target=\"_blank\">Forking Projects<\/a><\/p>\n<p><a href=\"https:\/\/twitter.com\/integralist\" target=\"_blank\" rel=\"nofollow noopener\">Integralist<\/a> -&nbsp;<a href=\"http:\/\/www.integralist.co.uk\/posts\/guide-to-js-testing.html\" rel=\"nofollow noopener\" target=\"_blank\">Beginners Guide on How To Test Your Code<\/a><\/p>\n<p><a href=\"https:\/\/github.com\/\" target=\"_blank\" rel=\"nofollow noopener\">GitHub<\/a>&nbsp;-&nbsp;<a href=\"https:\/\/guides.github.com\/introduction\/getting-your-project-on-github\/\" rel=\"nofollow noopener\" target=\"_blank\">Getting Your Project on GitHub<\/a><\/p>\n<p><a href=\"https:\/\/plus.google.com\/+BhaskaruniRavi\/posts\" target=\"_blank\" rel=\"nofollow noopener\">Bhaskaruni Ravi<\/a>&nbsp;-&nbsp;<a href=\"http:\/\/blog-bhaskaruni.blogspot.co.uk\/2012\/11\/staging-process-in-agile-world.html\" rel=\"nofollow noopener\" target=\"_blank\">Staging Process in Agile World<\/a><\/p>\n<p><a href=\"https:\/\/twitter.com\/sirkitree\" target=\"_blank\" rel=\"nofollow noopener\">Jerard Bitner<\/a> -&nbsp;<a href=\"https:\/\/www.lullabot.com\/articles\/managing-projects-with-github\" rel=\"nofollow noopener\" target=\"_blank\">Managing Projects with GitHub<\/a><\/p>\n<p><a href=\"https:\/\/twitter.com\/mattwatson81\" target=\"_blank\" rel=\"nofollow noopener\">Matt Watson<\/a> -&nbsp;<a href=\"http:\/\/stackify.com\/ultimate-checklist-app-deployment-success\/\" rel=\"nofollow noopener\" target=\"_blank\">Ultimate Checklist for Software Deployment Success<\/a><\/p>\n<p><a href=\"https:\/\/developer.salesforce.com\/page\/User:Jesse_Lorenz\" target=\"_blank\" rel=\"nofollow noopener\">Jesse Lorenz<\/a> -&nbsp;<a href=\"https:\/\/developer.salesforce.com\/page\/How_to_Write_Good_Unit_Tests\" rel=\"nofollow noopener\" target=\"_blank\">How to Write Good Unit Tests<\/a><\/p>\n<p><a href=\"http:\/\/stackoverflow.com\/\" target=\"_blank\" rel=\"nofollow noopener\">StackOverflow<\/a> -&nbsp;<a href=\"http:\/\/stackoverflow.com\/questions\/3258733\/new-to-unit-testing-how-to-write-great-tests\" rel=\"nofollow noopener\" target=\"_blank\">New to unit testing, how to write great tests? [Thread]<\/a><\/p>\n<p><a href=\"https:\/\/twitter.com\/tommcfarlin\" target=\"_blank\" rel=\"nofollow noopener\">Tom McFarlin<\/a> -&nbsp;<a href=\"http:\/\/code.tutsplus.com\/articles\/the-beginners-guide-to-unit-testing-what-is-unit-testing--wp-25728\" rel=\"nofollow noopener\" target=\"_blank\">The Beginner\u2019s Guide to Unit Testing: What Is Unit Testing?<\/a><\/p>\n<\/p><\/div>\n<\/section>\n<section id=\"relevant-checklists\">\n<h2> Relevant Checklists: <\/h2>\n<div class=\"text-content\">\n<p><a href=\"https:\/\/www.process.st\/templates\/user-story-template\/\" rel=\"nofollow noopener\" target=\"_blank\">User Story Template<\/a><\/p>\n<p><a href=\"https:\/\/www.process.st\/templates\/sprint-planning\/\" rel=\"nofollow noopener\" target=\"_blank\">Sprint Planning<\/a><\/p>\n<p><a href=\"https:\/\/www.process.st\/templates\/scrum-project-management\/\" rel=\"nofollow noopener\" target=\"_blank\">Scrum Project Management<\/a><\/p>\n<p><a href=\"https:\/\/www.process.st\/templates\/software-deployment\/\" rel=\"nofollow noopener\" target=\"_blank\">Software Deployment<\/a><\/p>\n<p><a href=\"https:\/\/www.process.st\/templates\/software-testing-tutorial\/\" rel=\"nofollow noopener\" target=\"_blank\">Software Testing Tutorial<\/a><\/p>\n<p><a href=\"https:\/\/www.process.st\/templates\/software-debugging-process\/\" rel=\"nofollow noopener\" target=\"_blank\">Software Debugging Process<\/a><\/p>\n<\/p><\/div>\n<\/section>\n","protected":false},"excerpt":{"rendered":"<p>Introduction Your latest sprint is almost over and everything has been running smooth as butter; things are looking great! All you need to do is finish off your git workflow and&nbsp;publish that final, one-line update and then clock off for the evening. Aaaaaaaaand everything's broken. '...we all make mistakes. Some of those mistakes are unimportant, [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":4719,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"ep_exclude_from_search":false,"cover_icon_emoji":"","cover_icon_url":"","tasks_count":"17","template_description":"Run this checklist to securely develop each instance of code during your sprints","template_id":"iM2e_outba0Y5J9eqyxBGQ","task_0":"Introduction","task_slug_0":"introduction","task_1":"Preparation:","task_slug_1":"preparation","task_2":"Log in to your project management software","task_slug_2":"log-in-to-your-project-management-software","task_3":"Choose a task from your current sprint","task_slug_3":"choose-a-task-from-your-current-sprint","task_4":"Coding:","task_slug_4":"coding","task_5":"Navigate to your code repository","task_slug_5":"navigate-to-your-code-repository","task_6":"Fork the repository","task_slug_6":"fork-the-repository","task_7":"Code your solution in the fork","task_slug_7":"code-your-solution-in-the-fork","task_8":"Testing:","task_slug_8":"testing","task_9":"Merge your solution with the test environment","task_slug_9":"merge-your-solution-with-the-test-environment","task_10":"Run tests on the code","task_slug_10":"run-tests-on-the-code","task_11":"Make any necessary corrections","task_slug_11":"make-any-necessary-corrections","task_12":"Polishing Off:","task_slug_12":"polishing-off","task_13":"Merge the test environment","task_slug_13":"merge-the-test-environment","task_14":"Celebrate (with customer support)","task_slug_14":"celebrate-with-customer-support","task_15":"Sources:","task_slug_15":"sources","task_16":"Relevant Checklists:","task_slug_16":"relevant-checklists","task_17":"","task_slug_17":"","task_18":"","task_slug_18":"","task_19":"","task_slug_19":"","task_20":"","task_slug_20":"","task_21":"","task_slug_21":"","task_22":"","task_slug_22":"","task_23":"","task_slug_23":"","task_24":"","task_slug_24":"","task_25":"","task_slug_25":"","task_26":"","task_slug_26":"","task_27":"","task_slug_27":"","task_28":"","task_slug_28":"","task_29":"","task_slug_29":"","task_30":"","task_slug_30":"","task_31":"","task_slug_31":"","task_32":"","task_slug_32":"","task_33":"","task_slug_33":"","task_34":"","task_slug_34":"","task_35":"","task_slug_35":"","task_36":"","task_slug_36":"","task_37":"","task_slug_37":"","task_38":"","task_slug_38":"","task_39":"","task_slug_39":"","task_40":"","task_slug_40":"","task_41":"","task_slug_41":"","task_42":"","task_slug_42":"","task_43":"","task_slug_43":"","task_44":"","task_slug_44":"","task_45":"","task_slug_45":"","task_46":"","task_slug_46":"","task_47":"","task_slug_47":"","task_48":"","task_slug_48":"","task_49":"","task_slug_49":"","task_50":"","task_slug_50":"","task_51":"","task_slug_51":"","task_52":"","task_slug_52":"","task_53":"","task_slug_53":"","task_54":"","task_slug_54":"","task_55":"","task_slug_55":"","task_56":"","task_slug_56":"","task_57":"","task_slug_57":"","task_58":"","task_slug_58":"","task_59":"","task_slug_59":"","task_60":"","task_slug_60":"","task_61":"","task_slug_61":"","task_62":"","task_slug_62":"","task_63":"","task_slug_63":"","task_64":"","task_slug_64":"","task_65":"","task_slug_65":"","task_66":"","task_slug_66":"","task_67":"","task_slug_67":"","task_68":"","task_slug_68":"","task_69":"","task_slug_69":"","task_70":"","task_slug_70":"","task_71":"","task_slug_71":"","task_72":"","task_slug_72":"","task_73":"","task_slug_73":"","task_74":"","task_slug_74":"","task_75":"","task_slug_75":"","task_76":"","task_slug_76":"","task_77":"","task_slug_77":"","task_78":"","task_slug_78":"","task_79":"","task_slug_79":"","task_80":"","task_slug_80":"","task_81":"","task_slug_81":"","task_82":"","task_slug_82":"","task_83":"","task_slug_83":"","task_84":"","task_slug_84":"","task_85":"","task_slug_85":"","task_86":"","task_slug_86":"","task_87":"","task_slug_87":"","task_88":"","task_slug_88":"","task_89":"","task_slug_89":"","task_90":"","task_slug_90":"","task_91":"","task_slug_91":"","task_92":"","task_slug_92":"","task_93":"","task_slug_93":"","task_94":"","task_slug_94":"","task_95":"","task_slug_95":"","task_96":"","task_slug_96":"","task_97":"","task_slug_97":"","task_98":"","task_slug_98":"","task_99":"","task_slug_99":"","footnotes":""},"categories":[5,7,16,31],"tags":[],"class_list":["post-4718","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-featured","category-miscellaneous","category-quality-assurance","category-software"],"acf":[],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.process.st\/templates\/wp-json\/wp\/v2\/posts\/4718","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.process.st\/templates\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.process.st\/templates\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.process.st\/templates\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.process.st\/templates\/wp-json\/wp\/v2\/comments?post=4718"}],"version-history":[{"count":0,"href":"https:\/\/www.process.st\/templates\/wp-json\/wp\/v2\/posts\/4718\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.process.st\/templates\/wp-json\/wp\/v2\/media\/4719"}],"wp:attachment":[{"href":"https:\/\/www.process.st\/templates\/wp-json\/wp\/v2\/media?parent=4718"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.process.st\/templates\/wp-json\/wp\/v2\/categories?post=4718"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.process.st\/templates\/wp-json\/wp\/v2\/tags?post=4718"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}