{"id":360,"date":"2026-02-05T08:00:30","date_gmt":"2026-02-05T08:00:30","guid":{"rendered":"https:\/\/stackknowhow.com\/?p=360"},"modified":"2026-02-05T08:00:30","modified_gmt":"2026-02-05T08:00:30","slug":"an-entire-software-development-life-cycle-full-guide-tutorial","status":"publish","type":"post","link":"https:\/\/stackknowhow.com\/?p=360","title":{"rendered":"An Entire Software Development Life Cycle &#8211; Full Guide (Tutorial)"},"content":{"rendered":"<p><iframe loading=\"lazy\" width=\"480\" height=\"270\" src=\"\/\/www.youtube.com\/embed\/9PgZCJNzY9M\" frameborder=\"0\" allowfullscreen><\/iframe><\/p>\n<p>Start a free plan of CircleCI &#8212; http:\/\/go.thoughtleaders.io\/1419920191121<\/p>\n<p>Try my coffee at First Supply Coffee &#8212; https:\/\/firstsupplycoffee.com<\/p>\n<p>One tutorial to cover it all. I take you from nothing, to coding a terminal app, to writing tests, to creating a GitHub repo, to hooking it up, to building a continuous integration workflow, and more. While the analysis and design of a SDLC is important, we won&#8217;t be going over that here as it would take more work than it&#8217;s worth for such a simple app.<\/p>\n<p>0:00 Intro<br \/>\n3:14 Install IDE (Eclipse)<br \/>\n3:53 Explanation of the app we&#8217;re building &#8211; Caesars Cipher<br \/>\n4:36 Hop into Eclipse<br \/>\n5:15 Create Gradle project<br \/>\n6:10 Create CaesarsCipher.java class<br \/>\n6:45 How to start actually writing code<br \/>\n7:37 Start coding our cipher method<br \/>\n8:02 Talk about what the cipher method code does<br \/>\n10:17 Start coding our offsetBy method along with what it does<br \/>\n11:37 Create offsetChar method<br \/>\n11:40 Overview of the offsetBy method code<br \/>\n13:24 Start coding our offsetChar method<br \/>\n13:34 Talk about what the offsetChar method code does<br \/>\n14:53 After completing CaesarsCipher, we create the Main class<br \/>\n15:35 Start coding our main method along with what it does (ignore package name&#8230; it should be caesars.cipher)<br \/>\n18:00 Run the code<br \/>\n18:13 Write code to actually print out the result<br \/>\n18:25 Run the code again&#8230; but mistake<br \/>\n19:03 Fix our code &amp; talk about what it does<br \/>\n19:33 Run our code again again<br \/>\n19:37 Clean up our code<br \/>\n20:15 Walk through all of the code in the order our IDE runs it<br \/>\n25:39 Create CaesarCipherTest.java JUnit test<br \/>\n26:14 Write JUnit tests to test our code<br \/>\n26:38 Talk about what the JUnit test code does<br \/>\n28:10 Run our JUnit tests<br \/>\n28:25 Write a failing test &amp; talk about why tests fail<br \/>\n29:24 Comment out failing test<br \/>\n29:31 Test our tests &amp; ensure our code works<br \/>\n29:57 Create our GitHub repository<br \/>\n30:35 Turn our project into a local Git repository<br \/>\n31:18 Open Git perspective<br \/>\n31:50 Stage our code changes &amp; write commit message<br \/>\n32:06 Hook up your GitHub user to Eclipse<br \/>\n33:33 Commit &amp; Push to our master branch<br \/>\n33:36 Connect our local Git repository to our remote GitHub repository<br \/>\n34:28 Start creating our continuous integration workflow with CircleCI<br \/>\n34:40 Create a CircleCI account here: http:\/\/go.thoughtleaders.io\/1419920191121<br \/>\n34:46 Navigate to Add Projects<br \/>\n34:58 Set Up Project for our Caesars Cipher project repo that CircleCI sees on GitHub<br \/>\n35:12 Add dependencies &amp; test in build.gradle for our JUnit 5 (Jupiter) tests<br \/>\ndependencies {<br \/>\ntestImplementation &#8216;org.junit.jupiter:junit-jupiter-api:5.3.1&#8217;<br \/>\ntestRuntimeOnly &#8216;org.junit.jupiter:junit-jupiter-engine:5.3.1&#8217;<br \/>\n}<br \/>\ntest {<br \/>\nuseJUnitPlatform()<br \/>\n}<br \/>\n36:26 Stage, Commit, &amp; Push our build.gradle changes<br \/>\n36:46 On CircleCI, click Start Building then Add Config (CircleCI will build a branch for us)<br \/>\n37:15 Check our pipeline and confirm it successfully builds<br \/>\n37:22 A deeper look into our CircleCI pipeline<br \/>\n38:43 A deeper look into what CircleCI did on GitHub<br \/>\n39:11 Compare &amp; pull request our changes from the CircleCI branch to our master branch<br \/>\n39:59 Why we need multiple branches<br \/>\n40:59 Delete our circleci-project-setup branch<br \/>\n41:15 Implement a failing test<br \/>\n41:26 Pull code from our GitHub repo<br \/>\n41:51 Create a new branch in Eclipse<br \/>\n42:12 Commit &amp; Push our failing test to our new branch<br \/>\n42:25 CircleCI is building our code &amp; running our tests<br \/>\n42:43 Our test failed<br \/>\n43:39 We can no longer Merge Pull Request on GitHub<br \/>\n43:55 Outro<\/p>\n<p>This video is sponsored by CircleCI.<\/p>\n<p>CircleCI Docs<\/p>\n<p>Debugging with SSH &#8212; http:\/\/bit.ly\/2UPlbsP<br \/>\nWorkspaces &#8212; http:\/\/bit.ly\/3bAJSiE<br \/>\nScaling Concurrency &#8212; http:\/\/bit.ly\/38nKNAY<br \/>\nCustom Caching Strategies &#8212; http:\/\/bit.ly\/2SnO9OA<br \/>\nResource Classes &#8212; http:\/\/bit.ly\/2Hlv2hZ<br \/>\nDocker Layer Caching &#8212; http:\/\/bit.ly\/31SZhpZ<br \/>\nTest Splitting &#8212; http:\/\/bit.ly\/2SIF4Pp<\/p>\n<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211; FIRST SUPPLY COFFEE &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<\/p>\n<p>First Supply Coffee &#8212; https:\/\/firstsupplycoffee.com\/<\/p>\n<p>First Supply Coffee Instagram &#8212; https:\/\/instagram.com\/firstsupplycoffee\/<\/p>\n<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211; SOCIAL MEDIA &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<\/p>\n<p>Instagram &#8212; https:\/\/instagram.com\/ForrestPKnight<br \/>\nTwitter &#8212; https:\/\/twitter.com\/ForrestPKnight<br \/>\nGitHub &#8212; https:\/\/github.com\/ForrestKnight<br \/>\nTwitch &#8212; https:\/\/www.twitch.tv\/ForrestKnight<br \/>\nMedium &#8212; https:\/\/medium.com\/@ForrestKnight<\/p>\n<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211; DESK SETUP &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<\/p>\n<p>Monitor &#8212; http:\/\/amzn.to\/2E9sioB<br \/>\nMonitor Arm &#8212; http:\/\/amzn.to\/2E8UckG<br \/>\nStanding Desk &#8212; http:\/\/amzn.to\/2C3T3oG<br \/>\nKeyboard &#8212; http:\/\/amzn.to\/2EaSxHa<br \/>\nMouse &#8212; http:\/\/amzn.to\/2C3Bbud<br \/>\nMousepad &#8212; http:\/\/amzn.to\/2GWASVB<br \/>\nMicrophone &#8212; http:\/\/amzn.to\/2C4Upzj<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Start a free plan of CircleCI &#8212; http:\/\/go.thoughtleaders.io\/1419920191121 Try my coffee at First Supply Coffee &#8212; https:\/\/firstsupplycoffee.com One tutorial to [&hellip;]<\/p>\n","protected":false},"author":0,"featured_media":361,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-360","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v17.6 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/stackknowhow.com\/?p=360\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"An Entire Software Development Life Cycle - Full Guide (Tutorial) - Software\" \/>\n<meta property=\"og:description\" content=\"Start a free plan of CircleCI &#8212; http:\/\/go.thoughtleaders.io\/1419920191121 Try my coffee at First Supply Coffee &#8212; https:\/\/firstsupplycoffee.com One tutorial to [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/stackknowhow.com\/?p=360\" \/>\n<meta property=\"og:site_name\" content=\"Software\" \/>\n<meta property=\"article:published_time\" content=\"2026-02-05T08:00:30+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/stackknowhow.com\/wp-content\/uploads\/2026\/02\/ytb_thumb-38.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"480\" \/>\n\t<meta property=\"og:image:height\" content=\"360\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebSite\",\"@id\":\"https:\/\/stackknowhow.com\/#website\",\"url\":\"https:\/\/stackknowhow.com\/\",\"name\":\"Software\",\"description\":\"Discover How To Use Different Kinds Of Software!\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/stackknowhow.com\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"ImageObject\",\"@id\":\"https:\/\/stackknowhow.com\/?p=360#primaryimage\",\"inLanguage\":\"en-US\",\"url\":\"https:\/\/stackknowhow.com\/wp-content\/uploads\/2026\/02\/ytb_thumb-38.jpg\",\"contentUrl\":\"https:\/\/stackknowhow.com\/wp-content\/uploads\/2026\/02\/ytb_thumb-38.jpg\",\"width\":480,\"height\":360},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/stackknowhow.com\/?p=360#webpage\",\"url\":\"https:\/\/stackknowhow.com\/?p=360\",\"name\":\"An Entire Software Development Life Cycle - Full Guide (Tutorial) - Software\",\"isPartOf\":{\"@id\":\"https:\/\/stackknowhow.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/stackknowhow.com\/?p=360#primaryimage\"},\"datePublished\":\"2026-02-05T08:00:30+00:00\",\"dateModified\":\"2026-02-05T08:00:30+00:00\",\"author\":{\"@id\":\"\"},\"breadcrumb\":{\"@id\":\"https:\/\/stackknowhow.com\/?p=360#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/stackknowhow.com\/?p=360\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/stackknowhow.com\/?p=360#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/stackknowhow.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"An Entire Software Development Life Cycle &#8211; Full Guide (Tutorial)\"}]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/stackknowhow.com\/?p=360","og_locale":"en_US","og_type":"article","og_title":"An Entire Software Development Life Cycle - Full Guide (Tutorial) - Software","og_description":"Start a free plan of CircleCI &#8212; http:\/\/go.thoughtleaders.io\/1419920191121 Try my coffee at First Supply Coffee &#8212; https:\/\/firstsupplycoffee.com One tutorial to [&hellip;]","og_url":"https:\/\/stackknowhow.com\/?p=360","og_site_name":"Software","article_published_time":"2026-02-05T08:00:30+00:00","og_image":[{"width":480,"height":360,"url":"https:\/\/stackknowhow.com\/wp-content\/uploads\/2026\/02\/ytb_thumb-38.jpg","type":"image\/jpeg"}],"twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebSite","@id":"https:\/\/stackknowhow.com\/#website","url":"https:\/\/stackknowhow.com\/","name":"Software","description":"Discover How To Use Different Kinds Of Software!","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/stackknowhow.com\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"ImageObject","@id":"https:\/\/stackknowhow.com\/?p=360#primaryimage","inLanguage":"en-US","url":"https:\/\/stackknowhow.com\/wp-content\/uploads\/2026\/02\/ytb_thumb-38.jpg","contentUrl":"https:\/\/stackknowhow.com\/wp-content\/uploads\/2026\/02\/ytb_thumb-38.jpg","width":480,"height":360},{"@type":"WebPage","@id":"https:\/\/stackknowhow.com\/?p=360#webpage","url":"https:\/\/stackknowhow.com\/?p=360","name":"An Entire Software Development Life Cycle - Full Guide (Tutorial) - Software","isPartOf":{"@id":"https:\/\/stackknowhow.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/stackknowhow.com\/?p=360#primaryimage"},"datePublished":"2026-02-05T08:00:30+00:00","dateModified":"2026-02-05T08:00:30+00:00","author":{"@id":""},"breadcrumb":{"@id":"https:\/\/stackknowhow.com\/?p=360#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/stackknowhow.com\/?p=360"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/stackknowhow.com\/?p=360#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/stackknowhow.com\/"},{"@type":"ListItem","position":2,"name":"An Entire Software Development Life Cycle &#8211; Full Guide (Tutorial)"}]}]}},"_links":{"self":[{"href":"https:\/\/stackknowhow.com\/index.php?rest_route=\/wp\/v2\/posts\/360","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/stackknowhow.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/stackknowhow.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"replies":[{"embeddable":true,"href":"https:\/\/stackknowhow.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=360"}],"version-history":[{"count":0,"href":"https:\/\/stackknowhow.com\/index.php?rest_route=\/wp\/v2\/posts\/360\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/stackknowhow.com\/index.php?rest_route=\/wp\/v2\/media\/361"}],"wp:attachment":[{"href":"https:\/\/stackknowhow.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=360"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/stackknowhow.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=360"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/stackknowhow.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=360"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}