{"id":140149,"date":"2025-05-23T10:19:48","date_gmt":"2025-05-23T10:19:48","guid":{"rendered":"https:\/\/altitudeaccelerator.ca\/agile-software-development-methodologies\/"},"modified":"2025-10-31T06:09:07","modified_gmt":"2025-10-31T06:09:07","slug":"agile-software-development-methodologies","status":"publish","type":"page","link":"https:\/\/altitudeaccelerator.ca\/fr\/agile-software-development-methodologies\/","title":{"rendered":"Agile Software Development Methodologies: Which to Choose?"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"140149\" class=\"elementor elementor-140149\" data-elementor-post-type=\"page\">\n\t\t\t\t\t\t<section data-particle_enable=\"false\" data-particle-mobile-disabled=\"false\" class=\"elementor-section elementor-top-section elementor-element elementor-element-6bd151c8 guide elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"6bd151c8\" data-element_type=\"section\" data-settings=\"{&quot;ekit_has_onepagescroll_dot&quot;:&quot;yes&quot;}\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-4c3113f4\" data-id=\"4c3113f4\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-d1ff428 elementor-widget elementor-widget-heading\" data-id=\"d1ff428\" data-element_type=\"widget\" data-settings=\"{&quot;ekit_we_effect_on&quot;:&quot;none&quot;}\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<style>\/*! elementor - v3.21.0 - 26-05-2024 *\/\n.elementor-heading-title{padding:0;margin:0;line-height:1}.elementor-widget-heading .elementor-heading-title[class*=elementor-size-]>a{color:inherit;font-size:inherit;line-height:inherit}.elementor-widget-heading .elementor-heading-title.elementor-size-small{font-size:15px}.elementor-widget-heading .elementor-heading-title.elementor-size-medium{font-size:19px}.elementor-widget-heading .elementor-heading-title.elementor-size-large{font-size:29px}.elementor-widget-heading .elementor-heading-title.elementor-size-xl{font-size:39px}.elementor-widget-heading .elementor-heading-title.elementor-size-xxl{font-size:59px}<\/style><h2 class=\"elementor-heading-title elementor-size-default\">Agile Software Development Methodologies: Which to Choose?<\/h2>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-1e159f5d elementor-widget elementor-widget-text-editor\" data-id=\"1e159f5d\" data-element_type=\"widget\" data-settings=\"{&quot;ekit_we_effect_on&quot;:&quot;none&quot;}\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<style>\/*! elementor - v3.21.0 - 26-05-2024 *\/\n.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:#69727d;color:#fff}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap{color:#69727d;border:3px solid;background-color:transparent}.elementor-widget-text-editor:not(.elementor-drop-cap-view-default) .elementor-drop-cap{margin-top:8px}.elementor-widget-text-editor:not(.elementor-drop-cap-view-default) .elementor-drop-cap-letter{width:1em;height:1em}.elementor-widget-text-editor .elementor-drop-cap{float:left;text-align:center;line-height:1;font-size:50px}.elementor-widget-text-editor .elementor-drop-cap-letter{display:inline-block}<\/style>\t\t\t\t<!-- wp:paragraph -->\n<p><strong>This article is for:<\/strong> Technical or non-technical software startup founders and development teams who want to make best use of agile software development methodologies to keep their development project on track. <\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:block {\"ref\":113541} \/-->\n\n<!-- wp:paragraph -->\n<p><a href=\"https:\/\/altitudeaccelerator.ca\/create-software-development-techniques\/\">&lt;&#8211; Back to: \u00ab\u00a0How to Create Software: Development Techniques to Learn\u00a0\u00bb<\/a><\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:separator -->\n<hr class=\"wp-block-separator\"\/>\n<!-- \/wp:separator -->\n\n<!-- wp:paragraph -->\n<p>There is more than one way to\nbuild a great software product. When you are launching your new software\nstartup, you should first consider which development methodology you will use\nduring the development process.&nbsp; In this\narticle, we will outline a comparison of the software development methodologies\navailable, and how to select the correct one for your project. <\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:paragraph -->\n<p>This article is for startup founders who plan on developing a software product. Your company may have a development team and need to plan the development process. Alternatively, you may <a rel=\"noreferrer noopener\" aria-label=\"outsource to a development company (opens in a new tab)\" href=\"https:\/\/altitudeaccelerator.ca\/outsourcing-software-development-for-startups\/\" target=\"_blank\">outsource to a development company<\/a> or <a rel=\"noreferrer noopener\" aria-label=\"hire a freelancer (opens in a new tab)\" href=\"https:\/\/altitudeaccelerator.ca\/software-startup-hire-freelancers\/\" target=\"_blank\">hire a freelancer<\/a> to do the work. You will need to manage the process better and avoid pitfalls. <\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:paragraph -->\n<p>If you are hiring or contracting\na development team, make sure you ask and understand what development methodology\nthey will be using. It may be a red flag if they do not use a methodology,\nalthough some very small operations may not.<\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:paragraph -->\n<p>There are many methods you can use to build a great software product. The methodology you choose will impact who you will hire, how quickly they will develop new features, and how quickly you will receive and react to customer feedback. <\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:paragraph -->\n<p>Generally, the two main categories of development processes are traditional, and agile software development methodologies.<\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:paragraph -->\n<p>We will outline the advantages and disadvantages of some common methodologies and show how each could be the right choice in a specific situation. Use this resource to learn more about both traditional and agile software development methodologies and how to make an informed decision when building your new software product. <\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:paragraph -->\n<p>Main topics to be covered:<\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:list -->\n<ul><li><a href=\"#vs\">Traditional vs. Agile Development Methodologies<\/a><ul><li><em>Evaluate quickly if the traditional or agile route is the way to go.<\/em><\/li><\/ul><\/li><li><a href=\"#traditional\">Traditional Development Methodologies<\/a><ul><li><em>Learn about methodologies that focus on following a set development plan. <\/em><\/li><li><a href=\"#waterfall\">Waterfall<\/a> model<\/li><li><a href=\"#prototyping\">Prototyping<\/a> model<\/li><li><a href=\"#v\">V-model<\/a><\/li><li><a href=\"#rad\">RAD <\/a>model<\/li><li><a href=\"#spiral\">Spiral <\/a>model<\/li><\/ul><\/li><li><a href=\"#agile\">Agile Development Methodologies<\/a><ul><li><em>Learn about methodologies that focus on reacting to change quickly.<\/em><\/li><li><a href=\"#scrum\">Scrum<\/a> model<\/li><li><a href=\"#lean\">Lean<\/a> model<\/li><li><a href=\"#xp\">XP<\/a> model<\/li><li><a href=\"#crystal\">Crystal<\/a> methods<\/li><li><a href=\"#dsd\">DSD<\/a> model<\/li><li><a href=\"#fdd\">FDD<\/a> model<\/li><\/ul><\/li><li><a href=\"#howtoselect\">How to Select Your Software Development Methodology<\/a><ul><li><em>Key things to evaluate when selecting a methodology and the Altitude Accelerator\u2019s own development methodology decision tree.<\/em><\/li><\/ul><\/li><\/ul>\n<!-- \/wp:list -->\n\n<!-- wp:paragraph -->\n<p>We will illustrate these ideas through case studies of companies and founders who work with Altitude Accelerator  <\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:list -->\n<ul><li><a href=\"#case1\"><strong>Case Study:<\/strong> James Lee from Expancio on software development methodologies<\/a><\/li><\/ul>\n<!-- \/wp:list -->\n\n<!-- wp:separator -->\n<hr class=\"wp-block-separator\"\/>\n<!-- \/wp:separator -->\n\n<!-- wp:heading -->\n<h2>Software development &#8211; introduction<\/h2>\n<!-- \/wp:heading -->\n\n<!-- wp:paragraph -->\n<p>Software development is a set of activities that lead to the creation of a software product. The development process is applied to new software or modifying an existing program. It generally consists of the following activities (Figure 1): <\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:list -->\n<ul><li>Software specification and requirements engineering, <\/li><li>Software design and implementation, <\/li><li>Verification and validation, and <\/li><li>Software evolution and maintenance <\/li><\/ul>\n<!-- \/wp:list -->\n\n<!-- wp:image {\"id\":112809,\"sizeSlug\":\"large\"} -->\n<figure class=\"wp-block-image size-large\"><img fetchpriority=\"high\" decoding=\"async\" width=\"1024\" height=\"778\" src=\"https:\/\/altitudeaccelerator.ca\/wp-content\/uploads\/2019\/11\/SoftwareDevelopmentProcess-1024x778.png\" alt=\"Software development process diagram\" class=\"wp-image-112809\" srcset=\"https:\/\/altitudeaccelerator.ca\/wp-content\/uploads\/2019\/11\/SoftwareDevelopmentProcess-1024x778.png 1024w, https:\/\/altitudeaccelerator.ca\/wp-content\/uploads\/2019\/11\/SoftwareDevelopmentProcess-300x228.png 300w, https:\/\/altitudeaccelerator.ca\/wp-content\/uploads\/2019\/11\/SoftwareDevelopmentProcess-768x584.png 768w, https:\/\/altitudeaccelerator.ca\/wp-content\/uploads\/2019\/11\/SoftwareDevelopmentProcess-1536x1167.png 1536w, https:\/\/altitudeaccelerator.ca\/wp-content\/uploads\/2019\/11\/SoftwareDevelopmentProcess.png 1550w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><figcaption>Figure 1: Software development process<\/figcaption><\/figure>\n<!-- \/wp:image -->\n\n<!-- wp:heading -->\n<h2>Content development<\/h2>\n<!-- \/wp:heading -->\n\n<!-- wp:paragraph -->\n<p>Additionally, content development\n(for example, support material, marketing material, etc.) is also a part of the\nsoftware development process. All of these activities working together allow\nstartups to develop a usable product. <\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:paragraph -->\n<p>The order and flow of these key activities depend upon the software development methodology (SDM) chosen at the project\u2019s start. There are many different SDMs used within the industry, each representing a content development process from a different perspective (for example, plan-focused or feature-focused). <\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:heading -->\n<h2 id=\"vs\">Importance of software development methodologies<\/h2>\n<!-- \/wp:heading -->\n\n<!-- wp:paragraph -->\n<p>As a non-technical founder of a startup, you need to be aware of the different SDMs that could be used during your development project. At its core, the SDM selected describes how your development team will be reacting throughout the project. <\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:paragraph -->\n<p>For example, will they spend a chunk of time at the start developing a plan that cannot be deviated from (plan-focused). Or will the development team focus more on the development of features, and adapt to roadblocks flexibly (feature-focused). By determining the style of the development process at the beginning, the project begins with clear expectations, allowing your startup to track the progress of the project. <\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:paragraph -->\n<p>The selection of a SDM is a vital step of the development process. This is because the selection of an unsuitable methodology is the most critical risk of software development failure. Selecting an inappropriate methodology can potentially lead to the project running over budget, timeline delays, and a lack of requirement verification, all of which are considered project failures. <\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:heading -->\n<h2>Traditional vs Agile Software Development Methodologies<\/h2>\n<!-- \/wp:heading -->\n\n<!-- wp:paragraph -->\n<p><em><strong>Key Takeaway:<\/strong> Your startup can either use traditional or agile methods during development. Traditional requires significant upfront planning. Agile, however, allows you to react to issues as they occur. <\/em><\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:separator -->\n<hr class=\"wp-block-separator\"\/>\n<!-- \/wp:separator -->\n\n<!-- wp:paragraph -->\n<p>One of the first decisions you\nmake when starting development is deciding which approach your startup will use\nduring development. Will the startup use a traditional (predictive) approach or\nan agile (adaptive) one? Most successful starts opt for an agile approach, and\nit is usually recommended by industry experts.<\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:paragraph -->\n<p>A traditional approach takes\nheavy front-end planning. Before any development begins, the team does a thorough\nrequirement analysis and plans the project out from beginning to end. In a\npredictable environment, that can work really well. In a startup, it can\nbackfire catastrophically. <\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:paragraph -->\n<p>An agile approach, however, consists of no detailed planning and only clear future tasks are identified. This methodology is applicable to startups most of the time because agile software development methodologies allow for:<\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:list -->\n<ul><li>Dynamic changes in the software product\u2019s\nrequirements,<\/li><li>Persistent testing, and<\/li><li>Frequent interactions with the user<\/li><\/ul>\n<!-- \/wp:list -->\n\n<!-- wp:paragraph -->\n<p>There are many different methods within these broad categories of traditional and agile approaches. Let us now delve a little bit further into each of the different methods available to your startup.<\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:separator -->\n<hr class=\"wp-block-separator\"\/>\n<!-- \/wp:separator -->\n\n<!-- wp:heading {\"level\":3} -->\n<h3 id=\"case1\">Altitude Accelerator Case Study: Expancio<\/h3>\n<!-- \/wp:heading -->\n\n<!-- wp:image {\"id\":112808,\"sizeSlug\":\"large\"} -->\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"215\" src=\"https:\/\/altitudeaccelerator.ca\/wp-content\/uploads\/2019\/11\/expancio-1024x215.png\" alt=\"Expancio header image\" class=\"wp-image-112808\" srcset=\"https:\/\/altitudeaccelerator.ca\/wp-content\/uploads\/2019\/11\/expancio-1024x215.png 1024w, https:\/\/altitudeaccelerator.ca\/wp-content\/uploads\/2019\/11\/expancio-300x63.png 300w, https:\/\/altitudeaccelerator.ca\/wp-content\/uploads\/2019\/11\/expancio-768x162.png 768w, https:\/\/altitudeaccelerator.ca\/wp-content\/uploads\/2019\/11\/expancio.png 1250w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<!-- \/wp:image -->\n\n<!-- wp:quote -->\n<blockquote class=\"wp-block-quote\"><p>Expancio is a startup that provides a tool to help businesses design, build and run their web application. With their product businesses do not need to create a web application from scratch. They instead can use Expancio\u2019s platform saving significant development costs. <\/p><p>When Expancio began to receive requests for service from businesses and started to sign contracts the team knew they had to have a plan in place. This plan needed to cover how the team would complete each project successfully and efficiently. <\/p><p>According to Expancio\u2019s Vice-President of Engineering, James Lee, an agile software development methodology was the only fit for them. \u201cExpancio consists of a small team\u2026and we want projects to be completed quickly, with a fast turnaround,\u201d says Lee.  <\/p><p>This decision was built upon his past experiences working with financial institutions to create web applications. Companies within the financial industry commonly use the Waterfall Methodology, where the entire development project needed to be planned out in detail before any work could be conducted. Banks then would follow a strict concrete timeline during development which could not adapt to any changes within the industry or market easily.  <\/p><p>The main challenge experienced by Lee while working within the financial industry was that the creation of a set of detailed concrete plans increased the complexity of the project. This complexity was a result of trying to accurately plan out an entire development project, and cover all potential stages of development, at the start before any work has been completed. As the project\u2019s complexity increased, the amount of resources and time required to complete the project increased as well.<\/p><p>Alternatively, the banking institutions could have used agile software development methodologies throughout their development processes. These agile methods would have allowed Lee to develop the required software product in small increments with in-development testing built right into the project plan. By utilizing these agile methods, Lee and the rest of the development team could have created the required product using a method that did not rely on upfront planning, but rather the results of in-development product testing leading the remaining development stages. <\/p><p>Based on all his learnings from past experiences, Lee recommended the use of agile development methodologies when the topic of what method Expancio should use during product development. As a startup, Expancio needs to be able to adapt quickly to changes within the industry to ensure that their product, and company, are not being left behind.  <\/p><p>The use of agile development methodologies also allows Expancio to continue to validate their early commercial product. This continuous validation is made possible by agile methodologies, which allows the company to quickly change their platform based on user feedback. Any observations made by the users regarding challenges in task completion and design flaws, as well as bugs identified within the product, can be addressed during a new stage of iteration. By constantly iterating their early stage commercial product during the validation, Expancio is able to create a product that their users really need. This is instead of saving all opportunity for user feedback till the very end of development when a massive overhaul of the product maybe required. <\/p><p>Overall, the use of agile development methodologies allows Expancio to continue to grow and improve their platform. This ensures that their product does not become stagnant, and can easy be improved upon based on user feedback and any changes within the industry. <\/p><\/blockquote>\n<!-- \/wp:quote -->\n\n<!-- wp:separator -->\n<hr class=\"wp-block-separator\"\/>\n<!-- \/wp:separator -->\n\n<!-- wp:heading -->\n<h2 id=\"traditional\">Traditional software development methodologies<\/h2>\n<!-- \/wp:heading -->\n\n<!-- wp:paragraph -->\n<p><strong><em>Key Takeaway<\/em><\/strong><em><strong>:<\/strong> Traditional development methodologies are highly structured and allow for limited flexibility during development. The most popular traditional methodology with startups is the Waterfall Method. <\/em><\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:separator -->\n<hr class=\"wp-block-separator\"\/>\n<!-- \/wp:separator -->\n\n<!-- wp:paragraph -->\n<p>Traditional development\nmethodologies result in highly structured projects. They are based on a series\nof back-to-back plan-driven steps. <\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:paragraph -->\n<p>During the definition stage,\nbefore development begins, the team plans out the entire process. This is done\nto guide members during the work phase of the project. <\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:paragraph -->\n<p>Startups often do not have\nclearly validated product requirements before development begins. This can\npresent a challenge. As a result, resources may be wasted on development that\nneeds to be changed later as the requirements evolve. <\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:paragraph -->\n<p>Software developers commonly use traditionally methodologies on projects that are:<\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:list -->\n<ul><li>Large budgets (usually over $1 million) that\nallow for work to be redone<\/li><li>Used by multiple medium-sized teams that are\nworking on a single project<\/li><li>Conducted by large companies<\/li><\/ul>\n<!-- \/wp:list -->\n\n<!-- wp:paragraph -->\n<p>Although agile software development methodologies have become increasingly popular, traditional methods are still the most frequently used development style. <\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:heading {\"level\":4} -->\n<h4>Advantages:<\/h4>\n<!-- \/wp:heading -->\n\n<!-- wp:list -->\n<ul><li>Plan-driven process that is easy to understand<\/li><li>Strict development roles for all team members<\/li><li>Compatible with large teams and projects<\/li><\/ul>\n<!-- \/wp:list -->\n\n<!-- wp:heading {\"level\":4} -->\n<h4>Disadvantages:<\/h4>\n<!-- \/wp:heading -->\n\n<!-- wp:list -->\n<ul><li>High cost to restart the development process<\/li><li>Requires startups to know the software\u2019s\nrequirements at the start of the project<\/li><li>Fixed development process with limited, to no,\nflexibility allowed<\/li><li>Testing is usually conducted at the end of the\ndevelopment process<\/li><\/ul>\n<!-- \/wp:list -->\n\n<!-- wp:paragraph -->\n<p>There are many traditional\nmethodologies, all based on the core concept of pre-planning the project to\nguide development. Understanding the most appropriate traditional method for\nthe project is important. If your startup selects a methodology that focuses on\nplanning upfront, you need to make sure you are planning in an appropriate\nmanner. <\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:paragraph -->\n<p>The following section describes the key traditional methodologies available and begins with the most relevant to startups, the Waterfall model. <\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:heading {\"level\":3} -->\n<h3 id=\"waterfall\">Waterfall model<\/h3>\n<!-- \/wp:heading -->\n\n<!-- wp:paragraph -->\n<p><em><strong>Key Takeaway:<\/strong> The Waterfall model is best suited for startups that have projects with clear, well understood requirements that will not change. Strict documentation and planning prevents flexibility during development when reacting to design problems. <\/em><\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:separator -->\n<hr class=\"wp-block-separator\"\/>\n<!-- \/wp:separator -->\n\n<!-- wp:paragraph -->\n<p>The Waterfall model (also known\nas linear-sequential life cycle model or cascade model) requires each\ndevelopment stage to be completed and reviewed before starting the next (Figure\n2). This model involves a lot of documentation to ensure the team follows the\nplan and is developing all the requested requirements. This level of\ndocumentation may overwhelm startups. <\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:paragraph -->\n<p>Loops can be introduced to allow the previous stage to be revisited. This allows your startup to conduct product verification. <\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:image {\"id\":112807,\"sizeSlug\":\"large\"} -->\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"582\" src=\"https:\/\/altitudeaccelerator.ca\/wp-content\/uploads\/2019\/11\/WaterfallModel-1024x582.png\" alt=\"Waterfall model: traditional software development methodology\" class=\"wp-image-112807\" srcset=\"https:\/\/altitudeaccelerator.ca\/wp-content\/uploads\/2019\/11\/WaterfallModel-1024x582.png 1024w, https:\/\/altitudeaccelerator.ca\/wp-content\/uploads\/2019\/11\/WaterfallModel-300x170.png 300w, https:\/\/altitudeaccelerator.ca\/wp-content\/uploads\/2019\/11\/WaterfallModel-768x436.png 768w, https:\/\/altitudeaccelerator.ca\/wp-content\/uploads\/2019\/11\/WaterfallModel.png 1450w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><figcaption>Figure 2: The Waterfall model of software development<\/figcaption><\/figure>\n<!-- \/wp:image -->\n\n<!-- wp:heading {\"level\":4} -->\n<h4>Advantages:<\/h4>\n<!-- \/wp:heading -->\n\n<!-- wp:list -->\n<ul><li>New team members can easily join due to the\nlevel of documentation and structural design<\/li><li>Coordination is easy as each stage has an\nexpected result and evaluation process <\/li><li>Consists of sequential steps that can be easily\nunderstood and used by team members<\/li><li>Has stages that are implemented in sequence <\/li><li>Becomes easy to determine project costs due to a\nset schedule and resources that are allocated accordingly<\/li><\/ul>\n<!-- \/wp:list -->\n\n<!-- wp:heading {\"level\":4} -->\n<h4>Disadvantages:<\/h4>\n<!-- \/wp:heading -->\n\n<!-- wp:list -->\n<ul><li>Requirements need to be fully understood at the\nstart of the project<\/li><li>Identification of new requirements negatively\nimpacts development, increases costs, and delays the timeline<\/li><li>Limits flexibility during development, and it is\ndifficult to return to the design stage if testing identifies a problem<\/li><li>Develops a prototype for user feedback at the\nend of development, not during the process<\/li><li>Results in high project risk due to limited\nflexibility<\/li><\/ul>\n<!-- \/wp:list -->\n\n<!-- wp:heading {\"level\":4} -->\n<h4>Recommended for the following cases:<\/h4>\n<!-- \/wp:heading -->\n\n<!-- wp:list -->\n<ul><li>Projects with well understood, clear, and final\nrequirements<\/li><li>Understood technology that has a concrete\nrepeatable development path (not innovative) <\/li><li>Short projects with limited chance of additional\nrequirements being requested by the user<\/li><li>When Subject Matter Experts (SMEs) are readily\navailable within your team to plan out the project before development begins<\/li><li>Software that provides service to other\napplications or provides back-end functionality <\/li><\/ul>\n<!-- \/wp:list -->\n\n<!-- wp:heading {\"level\":3} -->\n<h3 id=\"prototyping\">Prototyping model<\/h3>\n<!-- \/wp:heading -->\n\n<!-- wp:paragraph -->\n<p><strong><em>Key Takeaway:<\/em><\/strong><em> The prototyping model is best suited for startups that have projects with unclear requirements and, a focus on the user interface. Significant amounts of user involvement commonly increase the project\u2019s duration and overall cost.<\/em><\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:separator -->\n<hr class=\"wp-block-separator\"\/>\n<!-- \/wp:separator -->\n\n<!-- wp:paragraph -->\n<p>The Prototyping model involves\nthe quick creation of a sample of the final product\u2019s capabilities (Figure 3).\nThis model is implemented to validate the user\u2019s requirements and the\nfeasibility of the design before creating the final product. By doing so, your\nstartup ensures that it is producing a product the users want! <\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:paragraph -->\n<p>Startups commonly use this method to avoid the Waterfall method problem of receiving user feedback only at the end of development. Prototyping is not an independent method. It is rather an approach that startups can use alongside another methodology to improve project success. <\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:image {\"id\":112806,\"sizeSlug\":\"large\"} -->\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"825\" src=\"https:\/\/altitudeaccelerator.ca\/wp-content\/uploads\/2019\/11\/PrototypingModel-1024x825.png\" alt=\"Prototyping model: Traditional software development method\" class=\"wp-image-112806\" srcset=\"https:\/\/altitudeaccelerator.ca\/wp-content\/uploads\/2019\/11\/PrototypingModel-1024x825.png 1024w, https:\/\/altitudeaccelerator.ca\/wp-content\/uploads\/2019\/11\/PrototypingModel-300x242.png 300w, https:\/\/altitudeaccelerator.ca\/wp-content\/uploads\/2019\/11\/PrototypingModel-768x619.png 768w, https:\/\/altitudeaccelerator.ca\/wp-content\/uploads\/2019\/11\/PrototypingModel.png 1338w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><figcaption>Figure 3: The prototyping model of software development<\/figcaption><\/figure>\n<!-- \/wp:image -->\n\n<!-- wp:heading {\"level\":4} -->\n<h4>Advantages:<\/h4>\n<!-- \/wp:heading -->\n\n<!-- wp:list -->\n<ul><li>Increases the likelihood of product acceptance\ndue to user involvement during development<\/li><li>Functional processes of the software are clearly\nidentified and evaluated<\/li><li>Reduces the risk of software functionality\nfailure <\/li><li>Requirements can be added throughout the\ndevelopment process<\/li><li>Detects errors early in development <\/li><li>Quick user feedback is available and leads to\nimproved solutions<\/li><li>Easy identification of missing functionality<\/li><\/ul>\n<!-- \/wp:list -->\n\n<!-- wp:heading {\"level\":4} -->\n<h4>Disadvantages:<\/h4>\n<!-- \/wp:heading -->\n\n<!-- wp:list -->\n<ul><li>Changes during the development process results\nin increased costs<\/li><li>Excessive involvement of the client can increase\nthe project\u2019s duration<\/li><li>Large number of changes impact the workflow of\nthe software<\/li><li>Project complexity may change as the scope of\nthe development project expands<\/li><\/ul>\n<!-- \/wp:list -->\n\n<!-- wp:heading {\"level\":4} -->\n<h4>Recommended for the following cases:<\/h4>\n<!-- \/wp:heading -->\n\n<!-- wp:list -->\n<ul><li>When product requirements are unclear<\/li><li>When the development software needs to have a\nlot of interaction with the end users (i.e. online systems and web interfaces)<\/li><\/ul>\n<!-- \/wp:list -->\n\n<!-- wp:heading {\"level\":3} -->\n<h3 id=\"v\">V-Model<\/h3>\n<!-- \/wp:heading -->\n\n<!-- wp:paragraph -->\n<p><strong><em>Key Takeaway:<\/em><\/strong> <em>The V-model is best suited for startups that have projects with clear, well understood requirements that will not change throughout the project. A large team of highly technical members are required to conduct verification and validation work early in the development process.<\/em><\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:separator -->\n<hr class=\"wp-block-separator\"\/>\n<!-- \/wp:separator -->\n\n<!-- wp:paragraph -->\n<p>The V-model or Verification and Validation model takes the waterfall model one step further with the development and verification stages being performed in parallel (Figure 4). As the software product\u2019s requirements are developed, startups test and integrate them into the final product in parallel. This allows startups to move past subjective terms such as \u201cuser friendly\u201d, into more objective and verifiable requirements. <\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:image {\"id\":112805,\"sizeSlug\":\"large\"} -->\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"648\" src=\"https:\/\/altitudeaccelerator.ca\/wp-content\/uploads\/2019\/11\/VModel-1024x648.png\" alt=\"V-model of software development\" class=\"wp-image-112805\" srcset=\"https:\/\/altitudeaccelerator.ca\/wp-content\/uploads\/2019\/11\/VModel-1024x648.png 1024w, https:\/\/altitudeaccelerator.ca\/wp-content\/uploads\/2019\/11\/VModel-300x190.png 300w, https:\/\/altitudeaccelerator.ca\/wp-content\/uploads\/2019\/11\/VModel-768x486.png 768w, https:\/\/altitudeaccelerator.ca\/wp-content\/uploads\/2019\/11\/VModel-1536x973.png 1536w, https:\/\/altitudeaccelerator.ca\/wp-content\/uploads\/2019\/11\/VModel-1568x993.png 1568w, https:\/\/altitudeaccelerator.ca\/wp-content\/uploads\/2019\/11\/VModel.png 1696w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><figcaption>Figure 4: The V-model of software development<\/figcaption><\/figure>\n<!-- \/wp:image -->\n\n<!-- wp:heading {\"level\":4} -->\n<h4>Advantages:<\/h4>\n<!-- \/wp:heading -->\n\n<!-- wp:list -->\n<ul><li>Consists of sequential steps that team members\ncan easily understand and use<\/li><li>Focuses on verification and validation early in\ndevelopment, improving the probability of a successful product<\/li><li>Is a highly-disciplined model with phases\ncompleted sequentially <\/li><li>Each phase has specific deliverables and\nassociated review process to ensure easier management<\/li><li>Consists of proactive defect testing <\/li><li>Can be used in large projects with multiple\nteams, contractors, and sub-contractors<\/li><li>Project management can track the progress of the\nproject accurately <\/li><\/ul>\n<!-- \/wp:list -->\n\n<!-- wp:heading {\"level\":4} -->\n<h4>Disadvantages:<\/h4>\n<!-- \/wp:heading -->\n\n<!-- wp:list -->\n<ul><li>Increased verification work is not recommended\nfor long projects due to potential timeline delays <\/li><li>Complex and object-oriented projects are not\nsuitable for the methodology as requirements are not fully integrated during\nthe development process<\/li><li>Requirements cannot change during the\ndevelopment process<\/li><li>Changes to functions are difficult to implement once\nthe software reaches the testing stage<\/li><li>Generates a prototype late in the development\nprocess<\/li><li>Does not handle concurrent events easily <\/li><\/ul>\n<!-- \/wp:list -->\n\n<!-- wp:heading {\"level\":4} -->\n<h4>Recommended for the following cases:<\/h4>\n<!-- \/wp:heading -->\n\n<!-- wp:list -->\n<ul><li>Software that provides service to other\napplications or provides back-end functionality<\/li><li>Small projects with requirements that are\nclearly defined and fixed<\/li><li>When SMEs are readily available within your team\nto provide support to the project<\/li><\/ul>\n<!-- \/wp:list -->\n\n<!-- wp:heading {\"level\":3} -->\n<h3 id=\"rad\">Rapid application development (RAD) model <\/h3>\n<!-- \/wp:heading -->\n\n<!-- wp:paragraph -->\n<p><strong><em>Key Takeaway:<\/em><\/strong> <em>The rapid application development model is best suited for startups that have projects with a tight deadline. This model is highly dependent upon the team\u2019s technical knowledge and collaboration efforts to succeed. <\/em><\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:separator -->\n<hr class=\"wp-block-separator\"\/>\n<!-- \/wp:separator -->\n\n<!-- wp:paragraph -->\n<p>The Rapid Application Development (RAD) model is designed to improve the practicality of a startup\u2019s development process by highlighting the participation of the end-user (Figure 5). This method uses prototyping to allow for iterative development. It also promotes a collaborative atmosphere through stakeholder participation. Prototyping cycles are completed over long, drawn-out development and testing cycles. <\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:image {\"id\":112804,\"sizeSlug\":\"large\"} -->\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"272\" src=\"https:\/\/altitudeaccelerator.ca\/wp-content\/uploads\/2019\/11\/RapidModel-1024x272.png\" alt=\"Rapid application development model\" class=\"wp-image-112804\" srcset=\"https:\/\/altitudeaccelerator.ca\/wp-content\/uploads\/2019\/11\/RapidModel-1024x272.png 1024w, https:\/\/altitudeaccelerator.ca\/wp-content\/uploads\/2019\/11\/RapidModel-300x80.png 300w, https:\/\/altitudeaccelerator.ca\/wp-content\/uploads\/2019\/11\/RapidModel-768x204.png 768w, https:\/\/altitudeaccelerator.ca\/wp-content\/uploads\/2019\/11\/RapidModel-1536x408.png 1536w, https:\/\/altitudeaccelerator.ca\/wp-content\/uploads\/2019\/11\/RapidModel.png 1554w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><figcaption>Figure 5: The rapid application development model of software development<\/figcaption><\/figure>\n<!-- \/wp:image -->\n\n<!-- wp:heading {\"level\":4} -->\n<h4>Advantages:<\/h4>\n<!-- \/wp:heading -->\n\n<!-- wp:list -->\n<ul><li>Encourages and prioritizes feedback from client\nto allow for improvement <\/li><li>Decision making is moved to the functional team\ninstead of the project manager<\/li><li>Flexible system that allows for requirement\nchanges &nbsp;<\/li><li>Improves review cycle productivity <\/li><li>Reduces development time<\/li><li>Increases productivity with fewer people\ninvolved<\/li><li>Integration is a part of the project from the\nbeginning <\/li><\/ul>\n<!-- \/wp:list -->\n\n<!-- wp:heading {\"level\":4} -->\n<h4>Disadvantages:<\/h4>\n<!-- \/wp:heading -->\n\n<!-- wp:list -->\n<ul><li>Highly dependent upon the team for the model\u2019s\nsuccess<\/li><li>Requires highly skilled personnel to handle the\nmodel\u2019s complexities <\/li><li>Not appropriate for small-budgeted projects <\/li><li>Requires strong team collaboration <\/li><li>Not suitable for large teams due to the quick\nturnaround required <\/li><li>Suitable only for projects that have a small\ndevelopment time <\/li><li>Creates a complex development process that is\ndifficult to manage <\/li><li>Requires projects to be modularized to allow for\nthe quick turnaround of project stages<\/li><\/ul>\n<!-- \/wp:list -->\n\n<!-- wp:heading {\"level\":4} -->\n<h4>Recommended for the following cases:<\/h4>\n<!-- \/wp:heading -->\n\n<!-- wp:list -->\n<ul><li>Best suited for software that provides a visual interface to the end-user<\/li><li>When you have a pool of users that can give consistent and reliable feedback<\/li><li>When you have a tight deadline to produce the product<\/li><\/ul>\n<!-- \/wp:list -->\n\n<!-- wp:heading {\"level\":3} -->\n<h3 id=\"spiral\">Spiral model<\/h3>\n<!-- \/wp:heading -->\n\n<!-- wp:paragraph -->\n<p><strong><em>Key Takeaway:<\/em><\/strong> <em>The Spiral model is best suited for startups with projects that are high risk, and will require frequent updates once available to users. This model is complex and requires all team members to strictly follow it to ensure success. <\/em><\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:separator -->\n<hr class=\"wp-block-separator\"\/>\n<!-- \/wp:separator -->\n\n<!-- wp:paragraph -->\n<p>The Spiral model, a risk-driven development process, is shaped as a spiral, rather than a sequence of activities (Figure 6). Startups combine the waterfall and prototyping methods with the introduction of a risk assessment at the start of the process. Your startup cycles through multiple iterations of the spiral until a prototype is created that can be verified against user requirements. <\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:image {\"id\":112803,\"sizeSlug\":\"large\"} -->\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"737\" src=\"https:\/\/altitudeaccelerator.ca\/wp-content\/uploads\/2019\/11\/SpiralModel-1024x737.png\" alt=\"Spiral model: traditional software development methodologies\" class=\"wp-image-112803\" srcset=\"https:\/\/altitudeaccelerator.ca\/wp-content\/uploads\/2019\/11\/SpiralModel-1024x737.png 1024w, https:\/\/altitudeaccelerator.ca\/wp-content\/uploads\/2019\/11\/SpiralModel-300x216.png 300w, https:\/\/altitudeaccelerator.ca\/wp-content\/uploads\/2019\/11\/SpiralModel-768x552.png 768w, https:\/\/altitudeaccelerator.ca\/wp-content\/uploads\/2019\/11\/SpiralModel.png 1204w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><figcaption>Figure 6: The spiral model of software development<\/figcaption><\/figure>\n<!-- \/wp:image -->\n\n<!-- wp:heading {\"level\":4} -->\n<h4>Advantages:<\/h4>\n<!-- \/wp:heading -->\n\n<!-- wp:list -->\n<ul><li>Reduces risk with early identification and\nmitigation to prevent later cost increases<\/li><li>Suitable for use during large and complex\nprojects<\/li><li>Allows for additional requirements to be added\nlater<\/li><li>Suitable for high risk projects with varied\nbusiness needs<\/li><li>Integrating the customer into the early stages\nof development allows them to provide usable feedback and increases their\nsatisfaction<\/li><li>Development is fast and features are added in a\nsystematic way<\/li><\/ul>\n<!-- \/wp:list -->\n\n<!-- wp:heading {\"level\":4} -->\n<h4>Disadvantages:<\/h4>\n<!-- \/wp:heading -->\n\n<!-- wp:list -->\n<ul><li>Complex development model that requires\ndevelopers to follow it strictly to ensure success<\/li><li>Time management is difficult to plan as the\nnumber of phases at the start of the project is unknown <\/li><li>Is a costly method of software development<\/li><li>Failure during the risk analysis stage of\ndevelopment could damage the whole project<\/li><li>Not suitable for low-risk projects<\/li><li>No clear end of the project, so it could continuously\nextend and never reach completion<\/li><li>Requires adaptive management that might not be\npresent within the company already <\/li><\/ul>\n<!-- \/wp:list -->\n\n<!-- wp:heading {\"level\":4} -->\n<h4 id=\"agile\">Recommended for the following cases:<\/h4>\n<!-- \/wp:heading -->\n\n<!-- wp:list -->\n<ul><li>Software that provides service to other\napplications or provides back-end functionality<\/li><li>Project that requires frequent releases<\/li><li>Medium to high-risk projects<\/li><li>Project that requires a prototype<\/li><li>Requirements are unclear and complex, and\nchanges may occur at any time<\/li><li>When long term project commitment is not\nfeasible due to changes in economic priorities<\/li><\/ul>\n<!-- \/wp:list -->\n\n<!-- wp:heading -->\n<h2>Agile software development methodologies<\/h2>\n<!-- \/wp:heading -->\n\n<!-- wp:paragraph -->\n<p><em><strong>Key Takeaway:<\/strong> Agile development methodologies allow for flexibility during development and increased user participation. The most popular agile method with startups is the Scrum model. <\/em><\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:separator -->\n<hr class=\"wp-block-separator\"\/>\n<!-- \/wp:separator -->\n\n<!-- wp:paragraph -->\n<p>Agile software development methodologies focus on collaborative development. Users and stakeholders actively guide the development of the product together.<\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:paragraph -->\n<p>Startups commonly use these\nmethods because of their lean concepts. Agile methodologies minimize unnecessary\nwork and excess documentation. The less time you are working away on paperwork,\nthe more time you can spend creating your software product! <\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:paragraph -->\n<p>These methodologies accept that\nuncertainty is a part of software development and trying to control changes is\nimpossible. <\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:paragraph -->\n<p>Agile software development methodologies are commonly used on projects that are:<\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:list -->\n<ul><li>Low budget (less than $200 thousand), encouraging startups to be flexible in their approach in an effort to save money<\/li><li>Made up of a team with less than ten people<\/li><li>Conducted by companies with less than 250 employees<\/li><\/ul>\n<!-- \/wp:list -->\n\n<!-- wp:paragraph -->\n<p>Agile methods are likely the best to follow as a startup, as costly mistakes can lead to business failure or financial ruin.<\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:heading {\"level\":4} -->\n<h4>Advantages:<\/h4>\n<!-- \/wp:heading -->\n\n<!-- wp:list -->\n<ul><li>Ability to rapidly and flexibly respond to\nchange <\/li><li>Minimal formal processes <\/li><li>Communication between project team members is\nencouraged <\/li><li>Customer feedback is provided throughout the\nentire development process<\/li><li>Development is broken into short intervals with\nfrequent software releases <\/li><\/ul>\n<!-- \/wp:list -->\n\n<!-- wp:heading {\"level\":4} -->\n<h4>Disadvantages:<\/h4>\n<!-- \/wp:heading -->\n\n<!-- wp:list -->\n<ul><li>Highly dependent upon the motivation and expertise\nof the developers <\/li><li>Difficult for new team members to enter the\nproject<\/li><li>Need good communication skills to interact with\nthe client regularly <\/li><li>Difficult to use during large projects due to\nthe emphasis on real-time communication <\/li><\/ul>\n<!-- \/wp:list -->\n\n<!-- wp:paragraph -->\n<p>There are many agile software\nmethodologies available, each allowing for different levels of flexibility\nduring development. &nbsp;Understanding the\nmost appropriate agile method for your startup\u2019s project is important. By\nunderstanding these models, you will be able to select the method that is most\nsuitable for your startup\u2019s project, and desired reaction style. <\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:paragraph -->\n<p>The following section describes the key agile methodologies available and begins with the most relevant to startups, the Scrum model. &nbsp;&nbsp;<\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:heading {\"level\":3} -->\n<h3 id=\"scrum\">Scrum model<\/h3>\n<!-- \/wp:heading -->\n\n<!-- wp:paragraph -->\n<p><em><strong>Key Takeaway:<\/strong> The scrum model is best suited for startups that have projects with rapidly changing requirements. This model involves an intense project lifecycle which requires technical experts, more than novices, to use successfully.<\/em><\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:separator -->\n<hr class=\"wp-block-separator\"\/>\n<!-- \/wp:separator -->\n\n<!-- wp:paragraph -->\n<p>The scrum model is one of the\nmost widely used agile software development approaches by startups (Figure 7).\nThe model is built on the assumption that the development process is\nunpredictable, and that the requirements could, and should, be changed during\nthe process.&nbsp; <\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:paragraph -->\n<p>Startups can use this model to quickly develop software through a series of iterations. Daily scrum meetings, that the user can attend, are held to ensure that development is controlled and tracked.<\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:image {\"id\":112802,\"sizeSlug\":\"large\"} -->\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"556\" src=\"https:\/\/altitudeaccelerator.ca\/wp-content\/uploads\/2019\/11\/ScrumModel-1024x556.png\" alt=\"Scrum model: agile software development methodologies\" class=\"wp-image-112802\" srcset=\"https:\/\/altitudeaccelerator.ca\/wp-content\/uploads\/2019\/11\/ScrumModel-1024x556.png 1024w, https:\/\/altitudeaccelerator.ca\/wp-content\/uploads\/2019\/11\/ScrumModel-300x163.png 300w, https:\/\/altitudeaccelerator.ca\/wp-content\/uploads\/2019\/11\/ScrumModel-768x417.png 768w, https:\/\/altitudeaccelerator.ca\/wp-content\/uploads\/2019\/11\/ScrumModel-1536x834.png 1536w, https:\/\/altitudeaccelerator.ca\/wp-content\/uploads\/2019\/11\/ScrumModel-1568x851.png 1568w, https:\/\/altitudeaccelerator.ca\/wp-content\/uploads\/2019\/11\/ScrumModel.png 2023w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><figcaption>Figure 7: The Scrum model of software development<\/figcaption><\/figure>\n<!-- \/wp:image -->\n\n<!-- wp:heading {\"level\":4} -->\n<h4>Advantages:<\/h4>\n<!-- \/wp:heading -->\n\n<!-- wp:list -->\n<ul><li>Decision making is in the hands of the\ndevelopment team<\/li><li>Limits the amount of documentation required<\/li><li>Divides up large projects into smaller ones so\neach part can be organized as a scrum of a scrum<\/li><li>Testing is conducted throughout the process to\nensure a high-quality product<\/li><\/ul>\n<!-- \/wp:list -->\n\n<!-- wp:heading {\"level\":4} -->\n<h4>Disadvantages:<\/h4>\n<!-- \/wp:heading -->\n\n<!-- wp:list -->\n<ul><li>Requires substantial resources due to daily\nscrum meetings and frequent reviews<\/li><li>Not suitable for large projects that require\nmultiple teams to complete. If multiple teams are required, you need to break\nthe project into smaller scrums to allow for easier decision making within the\nteam. <\/li><li>Requires a team consisting of experts; novices\nto the field will struggle keeping up to the fast pace<\/li><li>Intense project cycle due to frequent changes,\nproduct uncertainty, and frequent product delivery <\/li><li>Requires a high level of communication within\nthe team<\/li><\/ul>\n<!-- \/wp:list -->\n\n<!-- wp:heading {\"level\":4} -->\n<h4>Recommended for the following cases:<\/h4>\n<!-- \/wp:heading -->\n\n<!-- wp:list -->\n<ul><li>Works well for small to medium sized projects<\/li><li>Software that provides a visual interface to an\nend-user<\/li><li>Project teams that are mature and are fully\ndedicated to the product<\/li><\/ul>\n<!-- \/wp:list -->\n\n<!-- wp:heading {\"level\":3} -->\n<h3 id=\"lean\">Lean agile software development model<\/h3>\n<!-- \/wp:heading -->\n\n<!-- wp:paragraph -->\n<p><em><strong>Key Takeaway:<\/strong> The lean development model is best suited for startups that have projects with low budgets and time requirements allowing for increased productivity. This model is dependent on the team\u2019s technical knowledge and collaboration efforts to succeed and not lose focus during the project. <\/em><\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:separator -->\n<hr class=\"wp-block-separator\"\/>\n<!-- \/wp:separator -->\n\n<!-- wp:paragraph -->\n<p>The Lean Development methodology emphasizes the creation of effortless manageable software in about a third of the time (Figure 8). Startups complete this by restricting the budget and eliminating waste. Meaning your team does not build features that do not impact the functionality of the final product.<\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:paragraph -->\n<p>This is done to deliver your product early with minimal functionality. Short iterations throughout the process allow for communication with the user and the flexibility to adapt to any unforeseen risks.<\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:image {\"id\":112801,\"sizeSlug\":\"large\"} -->\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"454\" src=\"https:\/\/altitudeaccelerator.ca\/wp-content\/uploads\/2019\/11\/LeanDevelopmentModel-1024x454.png\" alt=\"Lean: agile software development method\" class=\"wp-image-112801\" srcset=\"https:\/\/altitudeaccelerator.ca\/wp-content\/uploads\/2019\/11\/LeanDevelopmentModel-1024x454.png 1024w, https:\/\/altitudeaccelerator.ca\/wp-content\/uploads\/2019\/11\/LeanDevelopmentModel-300x133.png 300w, https:\/\/altitudeaccelerator.ca\/wp-content\/uploads\/2019\/11\/LeanDevelopmentModel-768x340.png 768w, https:\/\/altitudeaccelerator.ca\/wp-content\/uploads\/2019\/11\/LeanDevelopmentModel-1536x681.png 1536w, https:\/\/altitudeaccelerator.ca\/wp-content\/uploads\/2019\/11\/LeanDevelopmentModel-1568x695.png 1568w, https:\/\/altitudeaccelerator.ca\/wp-content\/uploads\/2019\/11\/LeanDevelopmentModel.png 1873w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><figcaption>Figure 8: The lean development model of software development<\/figcaption><\/figure>\n<!-- \/wp:image -->\n\n<!-- wp:heading {\"level\":4} -->\n<h4>Advantages:<\/h4>\n<!-- \/wp:heading -->\n\n<!-- wp:list -->\n<ul><li>Lowers the budget and time requirements of the\nproject leading to increased efficiency <\/li><li>Delivers the final product early<\/li><li>Increase team empowerment and motivation as team\nmembers are involved in the decision-making process<\/li><\/ul>\n<!-- \/wp:list -->\n\n<!-- wp:heading {\"level\":4} -->\n<h4>Disadvantages:<\/h4>\n<!-- \/wp:heading -->\n\n<!-- wp:list -->\n<ul><li>Depends on the cohesiveness and commitment of\nthe development team<\/li><li>Requires the team to consist of members with\ncomplementary technical skills<\/li><li>Loss of focus due to the excessive flexibility <\/li><li>Need to know the software requirements at the\nstart and they cannot be altered during the process<\/li><\/ul>\n<!-- \/wp:list -->\n\n<!-- wp:heading {\"level\":4} -->\n<h4>Recommended for the following cases:<\/h4>\n<!-- \/wp:heading -->\n\n<!-- wp:list -->\n<ul><li>Software that provides a visual interface to an\nend-user<\/li><li>Small projects with a short timeframe <\/li><li>Less complex projects<\/li><li>Projects where the user wants to participate in\nthe development process <\/li><\/ul>\n<!-- \/wp:list -->\n\n<!-- wp:heading {\"level\":3} -->\n<h3 id=\"xp\">Extreme programming (XP) model<\/h3>\n<!-- \/wp:heading -->\n\n<!-- wp:paragraph -->\n<p><em><strong>Key Takeaway:<\/strong> The Extreme Programming model is best suited for startups that have open office space to allow for rapid communication and collaboration between pairs of people on the team. This model is highly dependent upon the team\u2019s technical knowledge and collaboration efforts to succeed. <\/em><\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:separator -->\n<hr class=\"wp-block-separator\"\/>\n<!-- \/wp:separator -->\n\n<!-- wp:paragraph -->\n<p>Using the Extreme Programming\n(XP) model, startups develop in several small releases (Figure 9). This allows\nstartups to quickly adapt to requirement changes with a low impact on cost. <\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:paragraph -->\n<p>Developers work in pairs with a simple design and continuously improve the code based on user feedback. This is done in a consistent style so everyone can understand and improve the code. This model aims to save time, and prevent delays when team members are not present to code the feature themselves. XP is considered the most agile method available within software development. <\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:image {\"id\":112800,\"sizeSlug\":\"large\"} -->\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"1005\" src=\"https:\/\/altitudeaccelerator.ca\/wp-content\/uploads\/2019\/11\/ExtremeProgrammingModel-1024x1005.png\" alt=\"Extreme programming model of agile software development\" class=\"wp-image-112800\" srcset=\"https:\/\/altitudeaccelerator.ca\/wp-content\/uploads\/2019\/11\/ExtremeProgrammingModel-1024x1005.png 1024w, https:\/\/altitudeaccelerator.ca\/wp-content\/uploads\/2019\/11\/ExtremeProgrammingModel-300x294.png 300w, https:\/\/altitudeaccelerator.ca\/wp-content\/uploads\/2019\/11\/ExtremeProgrammingModel-768x754.png 768w, https:\/\/altitudeaccelerator.ca\/wp-content\/uploads\/2019\/11\/ExtremeProgrammingModel.png 1299w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><figcaption>Figure 9: The extreme programming model of software development<\/figcaption><\/figure>\n<!-- \/wp:image -->\n\n<!-- wp:heading {\"level\":4} -->\n<h4>Advantages:<\/h4>\n<!-- \/wp:heading -->\n\n<!-- wp:list -->\n<ul><li>Functions are reviewed by the users in order to\nensure functionality <\/li><li>Avoids long scope projects by splitting them\ninto smaller projects<\/li><li>Increases developer motivation as money is\nprovided following the development of individual working features<\/li><li>Prevents development lags due to developers\nworking in pairs<\/li><li>Increases knowledge sharing within the team due\nto team collaboration <\/li><\/ul>\n<!-- \/wp:list -->\n\n<!-- wp:heading {\"level\":4} -->\n<h4>Disadvantages:<\/h4>\n<!-- \/wp:heading -->\n\n<!-- wp:list -->\n<ul><li>Requires open office space<\/li><li>Works primarily with small to medium fixed\nprojects due to the team size required<\/li><li>Lacks an initial design stage which could lead\nto higher costs later when new, incompatible requirements surface <\/li><li>Effectiveness is dependent upon the people\ninvolved with the project <\/li><li>Requires frequent meetings (virtual or\nin-person) with the user that may be costly or repetitive <\/li><\/ul>\n<!-- \/wp:list -->\n\n<!-- wp:heading {\"level\":4} -->\n<h4>Recommended for the following cases:<\/h4>\n<!-- \/wp:heading -->\n\n<!-- wp:list -->\n<ul><li>Software that provides a visual interface to an\nend-user<\/li><li>Small projects that consist of small teams that\nwork closely to allow for face-to-face meetings<\/li><li>Projects involving new technology, as this\nmethod can face rapidly-changing and technical requirements <\/li><li>Teams where the user is already integrated<\/li><\/ul>\n<!-- \/wp:list -->\n\n<!-- wp:heading {\"level\":3} -->\n<h3 id=\"crystal\">Crystal methods<\/h3>\n<!-- \/wp:heading -->\n\n<!-- wp:paragraph -->\n<p><em><strong>Key Takeaway:<\/strong> The crystal methods are best suited for startups that have projects with multiple teams working together to rapidly develop a product. Due to the number of crystal methods available, there can be confusion during the project as the crystal method used is changed when the team size increases. <\/em><\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:separator -->\n<hr class=\"wp-block-separator\"\/>\n<!-- \/wp:separator -->\n\n<!-- wp:paragraph -->\n<p>The Crystal Methods are a family\nof software development methodologies that are colour-coded to signify the risk\nto human life (Figure 10). Crystal sapphire is for projects that may involve\nrisk to human life, where crystal clear is for projects without those risks. <\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:paragraph -->\n<p>Startups use these methods as\nthey are considered very flexible. This is because they are designed as a\nhuman-centric project, rather than a feature- or business-centric project. <\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:paragraph -->\n<p>Startups chose the crystal method\u2019s colour as a result of the number of team members and the project\u2019s environment. Crystal Clear is the most commonly used crystal development methodology by startups when developing a software product field. <\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:image {\"id\":112799,\"sizeSlug\":\"large\"} -->\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"628\" src=\"https:\/\/altitudeaccelerator.ca\/wp-content\/uploads\/2019\/11\/CrystalMethods-1024x628.png\" alt=\"Crystal methods\" class=\"wp-image-112799\" srcset=\"https:\/\/altitudeaccelerator.ca\/wp-content\/uploads\/2019\/11\/CrystalMethods-1024x628.png 1024w, https:\/\/altitudeaccelerator.ca\/wp-content\/uploads\/2019\/11\/CrystalMethods-300x184.png 300w, https:\/\/altitudeaccelerator.ca\/wp-content\/uploads\/2019\/11\/CrystalMethods-768x471.png 768w, https:\/\/altitudeaccelerator.ca\/wp-content\/uploads\/2019\/11\/CrystalMethods.png 1269w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><figcaption>Figure 10: The crystal methods of software development<\/figcaption><\/figure>\n<!-- \/wp:image -->\n\n<!-- wp:heading {\"level\":4} -->\n<h4>Advantages:<\/h4>\n<!-- \/wp:heading -->\n\n<!-- wp:list -->\n<ul><li>Ensures frequent deliverables in order to\nidentify eventual problems in every stage<\/li><li>Improves features as discussion into how to\nperfect the process is encouraged<\/li><li>Allows for increased communication and\nencourages knowledge sharing between team members<\/li><li>Requires a technical environment with automated\ntests, configuration management, and frequent integration<\/li><li>Reflection workshop held every week to ensure\nthere is clear communication about the development process<\/li><li>Is not mutually exclusive to other methodologies\n<\/li><\/ul>\n<!-- \/wp:list -->\n\n<!-- wp:heading {\"level\":4} -->\n<h4>Disadvantages:<\/h4>\n<!-- \/wp:heading -->\n\n<!-- wp:list -->\n<ul><li>Results in projects that are not straightforward\ndue to the number of crystal methods available. Each method\u2019s principles vary\nwith the size of the team and project<\/li><li>Management is difficult with geographically\ndifferent teams due to the constant need to communicate and reflect<\/li><li>Significant amounts of resources are focused on\ndaily meetings and increased team\/user communication. This takes resources away\nfrom doing development work<\/li><li>Participation of users is only gained with\nincremental releases, instead of throughout the entire development process. <\/li><li>Planning and development are not dependent upon\nrequirements <\/li><\/ul>\n<!-- \/wp:list -->\n\n<!-- wp:heading {\"level\":4} -->\n<h4>Recommended for the following cases:<\/h4>\n<!-- \/wp:heading -->\n\n<!-- wp:list -->\n<ul><li>Companies that have a very open flow of\ncommunication within groups<\/li><li>Projects that have teams of a fixed size that\nwill not change throughout development <\/li><li>Projects that are less user interface-focused <\/li><\/ul>\n<!-- \/wp:list -->\n\n<!-- wp:heading {\"level\":3} -->\n<h3 id=\"dsd\">Dynamic system development model (DSDM)<\/h3>\n<!-- \/wp:heading -->\n\n<!-- wp:paragraph -->\n<p><em><strong>Key Takeaway:<\/strong> The dynamic system development model is best suited for startups that have projects with fixed resources and timeline budgets. This model does not have defined practices to handle the scalability of a project later in the development process. <\/em><\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:separator -->\n<hr class=\"wp-block-separator\"\/>\n<!-- \/wp:separator -->\n\n<!-- wp:paragraph -->\n<p>The Dynamic System Development Model\n(DSDM) is derived from the Rapid Application Development (RAD) model. An\niterative and incremental approach is used that focuses on the involvement of\nthe user through the development process (Figure 11).<\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:paragraph -->\n<p>This is a useful model for startups as it involves fixed resources and time, something that you may be experiencing right now yourself. As a result, functionality requirements are adjusted to meet the deadline. This model is structured so that the development process takes the shortest possible time, and that each delivery contains most of the requirements. <\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:image {\"id\":112798,\"sizeSlug\":\"large\"} -->\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"872\" src=\"https:\/\/altitudeaccelerator.ca\/wp-content\/uploads\/2019\/11\/DynamicSystemDevelopmentModel-1024x872.png\" alt=\"Dynamic system development model: agile software development process\" class=\"wp-image-112798\" srcset=\"https:\/\/altitudeaccelerator.ca\/wp-content\/uploads\/2019\/11\/DynamicSystemDevelopmentModel-1024x872.png 1024w, https:\/\/altitudeaccelerator.ca\/wp-content\/uploads\/2019\/11\/DynamicSystemDevelopmentModel-300x255.png 300w, https:\/\/altitudeaccelerator.ca\/wp-content\/uploads\/2019\/11\/DynamicSystemDevelopmentModel-768x654.png 768w, https:\/\/altitudeaccelerator.ca\/wp-content\/uploads\/2019\/11\/DynamicSystemDevelopmentModel.png 1531w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><figcaption>Figure 11: The dynamic system development model of software development<\/figcaption><\/figure>\n<!-- \/wp:image -->\n\n<!-- wp:heading {\"level\":4} -->\n<h4>Advantages:<\/h4>\n<!-- \/wp:heading -->\n\n<!-- wp:list -->\n<ul><li>Rapidly delivers on basic product functionality <\/li><li>Increases users understanding of the product through user testing during development <\/li><li>Access to users is easy for the developers<\/li><li>Complete projects on time reliably<\/li><li><\/li><\/ul>\n<!-- \/wp:list -->\n\n<!-- wp:heading {\"level\":4} -->\n<h4>Disadvantages:<\/h4>\n<!-- \/wp:heading -->\n\n<!-- wp:list -->\n<ul><li>Implementation is costly <\/li><li>Not suitable for small organizations due to the\nrapid turnaround required<\/li><li>No defined practices to handle the scalability\nof the project <\/li><li>Requirements are unclear at the start of the\nproject<\/li><li>Represents a dramatic and disruptive change in\ncompany culture<\/li><\/ul>\n<!-- \/wp:list -->\n\n<!-- wp:heading {\"level\":4} -->\n<h4>Recommended for the following cases:<\/h4>\n<!-- \/wp:heading -->\n\n<!-- wp:list -->\n<ul><li>For companies that prioritizes developing\nquickly, while delivering on time and on budget<\/li><li>Projects that have fixed budgets and timeline<\/li><li>Products that need to enter the market quickly<\/li><\/ul>\n<!-- \/wp:list -->\n\n<!-- wp:heading {\"level\":3} -->\n<h3 id=\"fdd\">Feature driven development (FDD) model<\/h3>\n<!-- \/wp:heading -->\n\n<!-- wp:paragraph -->\n<p><em><strong>Key Takeaway:<\/strong> The feature driven development model is best suited for startups that have projects with multiple teams working together to rapidly develop a product. This model is not recommended for a single developer, and requires lead developers in order to closely monitor feature development. <\/em><\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:separator -->\n<hr class=\"wp-block-separator\"\/>\n<!-- \/wp:separator -->\n\n<!-- wp:paragraph -->\n<p>The Feature Driven Development\n(FDD) model organizes development around creating features. These features are\nsmall defined projects within the larger project (Figure 12). <\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:paragraph -->\n<p>FDD focuses on serving companies\nwith many teams working on a project based on object-oriented technology. Due\nto its multi-team nature, this is a commonly used agile method by startups. <\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:paragraph -->\n<p>The FDD model uses short-iteration processes to ensure that features are presented to the user quickly (e.g. every two weeks a new feature is presented). As a result, startups focus on the most important user features first. <\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:image {\"id\":112797,\"sizeSlug\":\"large\"} -->\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"302\" src=\"https:\/\/altitudeaccelerator.ca\/wp-content\/uploads\/2019\/11\/FeatureDrivenDevelopmentModel-1024x302.png\" alt=\"Feature driven development model\" class=\"wp-image-112797\" srcset=\"https:\/\/altitudeaccelerator.ca\/wp-content\/uploads\/2019\/11\/FeatureDrivenDevelopmentModel-1024x302.png 1024w, https:\/\/altitudeaccelerator.ca\/wp-content\/uploads\/2019\/11\/FeatureDrivenDevelopmentModel-300x89.png 300w, https:\/\/altitudeaccelerator.ca\/wp-content\/uploads\/2019\/11\/FeatureDrivenDevelopmentModel-768x227.png 768w, https:\/\/altitudeaccelerator.ca\/wp-content\/uploads\/2019\/11\/FeatureDrivenDevelopmentModel.png 1515w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><figcaption>Figure 12: The feature driven development model of software development<\/figcaption><\/figure>\n<!-- \/wp:image -->\n\n<!-- wp:heading {\"level\":4} -->\n<h4>Advantages:<\/h4>\n<!-- \/wp:heading -->\n\n<!-- wp:list -->\n<ul><li>Allows for rapid development through its\nfive-step process <\/li><li>Leverages pre-defined development standards so\nteams can move quickly<\/li><li>Allows larger teams to move products forward\nwith continuous success<\/li><li>Can be scaled to large projects&nbsp; <\/li><li>Enables the production of tangible results every\ntwo weeks<\/li><\/ul>\n<!-- \/wp:list -->\n\n<!-- wp:heading {\"level\":4} -->\n<h4>Disadvantages:<\/h4>\n<!-- \/wp:heading -->\n\n<!-- wp:list -->\n<ul><li>Not suitable for small organizations due to the\nrapid turnaround required<\/li><li>Depends on the lead developers as the process\nneeds to be monitored through every phase<\/li><li>Requires the client to have clearly identified\nand prioritized features <\/li><li>Leads to confusion due to the lack of documentation\n<\/li><\/ul>\n<!-- \/wp:list -->\n\n<!-- wp:heading {\"level\":4} -->\n<h4 id=\"howtoselect\">Recommended for the following cases:<\/h4>\n<!-- \/wp:heading -->\n\n<!-- wp:list -->\n<ul><li>Large companies conducting development work<\/li><li>Large-scale software development projects<\/li><li>Companies that have a very top-down\ndecision-making process <\/li><\/ul>\n<!-- \/wp:list -->\n\n<!-- wp:heading -->\n<h2>How to select your software development methodology<\/h2>\n<!-- \/wp:heading -->\n\n<!-- wp:paragraph -->\n<p><em><strong>Key Takeaway:<\/strong> Selecting a software development methodology is a critical stage in the development process. Make sure your startup evaluates organizational, project, and team characteristics before deciding upon a development methodology. <\/em><\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:separator -->\n<hr class=\"wp-block-separator\"\/>\n<!-- \/wp:separator -->\n\n<!-- wp:paragraph -->\n<p>The selection of a software development\nmethodology is an important step when launching your software startup. Your\nstartup must select and follow this methodology from start to finish.<\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:paragraph -->\n<p>Changing the model partway\nthrough the process is difficult. Changing the process ends up confusing everyone\non the team, causing potential development delays. This is especially not\nadvised for startups due to the financial and timeline impact of methodology\nchange. <\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:paragraph -->\n<p>Many industry leaders believe the main reason for <a rel=\"noreferrer noopener\" aria-label=\"project failure (opens in a new tab)\" href=\"https:\/\/altitudeaccelerator.ca\/software-product-development-challenges\/\" target=\"_blank\">project failure<\/a> is the result of an inappropriate method being used during development. Project failure could be due to the product not being delivered on time or within budget. It could also fail because it does not provide value to the user. <\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:paragraph -->\n<p>Evaluate different development models based on organizational, project, and team characteristics. This prevents your startups\u2019 selection from being biased by the literature or the recommendations of others. <\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:heading {\"level\":3} -->\n<h3>Characteristics to be evaluated during software development methodology selection<\/h3>\n<!-- \/wp:heading -->\n\n<!-- wp:paragraph -->\n<p>Your startup can create a stellar product by focusing on your project\u2019s specific situation. The following are key characteristics that should be evaluated during the development methodology selection process:<\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:heading {\"level\":4} -->\n<h4>Team characteristics<\/h4>\n<!-- \/wp:heading -->\n\n<!-- wp:list -->\n<ul><li>Size of the team \u2013 Choose a methodology that has shown success when used by a team the same size as yours.<\/li><li>Team roles \u2013 Teams that contain members with several unique roles (i.e. project manager, programmers, designer, technical facilitator, etc.) may require a methodology that is more traditional, based on the organizational structure of your startup.<\/li><li>Team experience \u2013 Agile methodologies depend on highly experienced team members, whereas more traditional methodologies can include novice developers successfully. Look at your development team and determine the ratio of differently skilled team members. Also do not forget to look at the experience level of the leadership team to make sure they can successfully manage a more flexible project structure.<\/li><li>Management style within the company \u2013 If your startup is structured in a top-down manner, team decision making would be difficult, thus preventing most agile development methods from fully succeeding. <\/li><\/ul>\n<!-- \/wp:list -->\n\n<!-- wp:heading {\"level\":4} -->\n<h4>Project characteristics<\/h4>\n<!-- \/wp:heading -->\n\n<!-- wp:list -->\n<ul><li>Project size \u2013 Certain methodologies are structured in a way that only works for small projects with a quick turnaround. <\/li><li>Project complexity \u2013 Projects that are highly complex require a more agile development process to allow for adaption to any difficulties that arise throughout development. &nbsp;<\/li><li>Project risk \u2013 Agile software development methodologies are best suited for projects that are high risk due to the consistent cycles of client feedback.<\/li><li>Project budget \u2013 If needed choose a model that focuses on staying within budget, rather than methodologies that allow for increased flexibility because this usually increases the cost of the project.<\/li><li>Project\u2019s requirements \u2013 Traditional methodologies demand that the software requirements be known at the start or the project. &nbsp;More agile methods allow for startups to change the requirements easily throughout the development process. <\/li><li>Number of mandated reviews \u2013 If your startup wants a lot of <a href=\"https:\/\/altitudeaccelerator.ca\/user-feedback-usability-testing\/\" target=\"_blank\" rel=\"noreferrer noopener\" aria-label=\"user feedback (opens in a new tab)\">user feedback<\/a> during the development process, a traditional methodology is not suitable. In traditional methodologies, the user is not usually given a product to review until the product is fully developed. <\/li><\/ul>\n<!-- \/wp:list -->\n\n<!-- wp:heading {\"level\":4} -->\n<h4>Communication requirements<\/h4>\n<!-- \/wp:heading -->\n\n<!-- wp:list -->\n<ul><li>Geographical location of the team \u2013 Some methodologies require frequent <a href=\"https:\/\/altitudeaccelerator.ca\/software-startup-development-communication\/\" target=\"_blank\" rel=\"noreferrer noopener\" aria-label=\"communication between team members (opens in a new tab)\">communication between team members<\/a>. This can be difficult if your startup is spread out over different work areas, let alone if they are in different geographical locations. <\/li><li>Customer accessibility \u2013 The selected methodology may require constant feedback from the user. You need to ensure that your startup has users readily available and committed to providing you this feedback. <\/li><\/ul>\n<!-- \/wp:list -->\n\n<!-- wp:heading {\"level\":4} -->\n<h4>External project factors<\/h4>\n<!-- \/wp:heading -->\n\n<!-- wp:list -->\n<ul><li>Market stability \u2013 If the market that your software product is entering is constantly evolving, a more agile methodology should be selected. This will allow for increased flexibility during the development process <\/li><li>Industry requirements &#8211; If the industry your product will enter requires adherence to strict regulations, more traditional methodologies may be better suited. This is due to the significant amounts of documentation required. <\/li><li>Quality assurance procedure in place \u2013 If your startup has a fully developed Quality Assurance (QA) system in place, an agile software development process is suitable. This is because a fully developed QA system allows for continuous testing to ensure there is a fully functioning and verified product produced at the end of development. <\/li><\/ul>\n<!-- \/wp:list -->\n\n<!-- wp:heading {\"level\":3} -->\n<h3>Can&rsquo;t decide? Use multiple software development methodologies<\/h3>\n<!-- \/wp:heading -->\n\n<!-- wp:paragraph -->\n<p>As an alternative to selecting\none specific methodology, startups can use multiple methodologies on the same\nproject (aka. hybrid methodologies). This, however, is not advisable for\nstartups.<\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:paragraph -->\n<p>Using multiple methodologies can lead to project management issues. Your startup could also waste resources and time determining what method you at specific times. Companies that choose to go the hybrid route commonly have a medium budget, a highly critical project, and a small team. <\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:heading {\"level\":3} -->\n<h3>Importance of selecting a software development methodology<\/h3>\n<!-- \/wp:heading -->\n\n<!-- wp:paragraph -->\n<p>The development methodology selection process has been found to have a direct impact on the following:<\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:list -->\n<ul><li>The amount of testing required, and<\/li><li>Customer satisfaction, which directly impacts\nyour business\u2019 welfare <\/li><\/ul>\n<!-- \/wp:list -->\n\n<!-- wp:paragraph -->\n<p>As a result, the development\nmethodology selection process should be prioritized by yourself and other members\nof your startup during the development process in order to create a stellar\nproduct. &nbsp;<\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:paragraph -->\n<p>Use the following SDM selection decision tree, created by the Altitude Accelerator, to get an idea of what methodology you should look at in detail first (Figure 13). This should help you when you are selecting the SDM suitable for your startup\u2019s software development project.<\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:image {\"id\":112796,\"sizeSlug\":\"large\"} -->\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/altitudeaccelerator.ca\/wp-content\/uploads\/2019\/11\/MethodologyDecisionTree-1024x657.png\" alt=\"Software development methodology decision tree\" class=\"wp-image-112796\"\/><figcaption>Figure 13: Selecting a software development methodology decision tree<\/figcaption><\/figure>\n<!-- \/wp:image -->\n\n<!-- wp:heading -->\n<h2>Conclusion: Traditional and agile software development methodologies<\/h2>\n<!-- \/wp:heading -->\n\n<!-- wp:paragraph -->\n<p>There are a variety of software\ndevelopment methodologies available that startups can use to manage the\ndevelopment process. Each method varies in the amount of pre-planning, flexibility\nand in-development testing required during development. <\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:paragraph -->\n<p>At the start of every new development project, startups need to evaluate their team and project based on several criteria to determine which methodology is most suitable. Specifically, companies should focus on the individual attributes of the team (i.e. technical skills, communication capabilities, etc.). This is because the team members themselves have a significant influence on the quality of the product produced. <\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:paragraph -->\n<p>One key thing to keep in mind is\nthat no methodology is the perfect fit for all types of software development\nprojects. So just because a methodology worked with a past project, does not\nmean that it will be successful during your startup\u2019s next development project.\n<\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:paragraph -->\n<p>As you move forward and begin the development of your software, remember to take the learnings from this article with you. Discuss the different development methodologies with your team, and find the one that works best for your project. Get everyone involved in the process so the team collaboration begins early to ensure the success of your project. <\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:heading -->\n<h2>Lessons learned on choosing between software development methods<\/h2>\n<!-- \/wp:heading -->\n\n<!-- wp:paragraph -->\n<p>Congratulations! You have now learned about a number of different software development methodologies. After reading this article you should have learned the following key learnings:<\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:list -->\n<ul><li>The importance of selecting an appropriate development methodology for your software product.<\/li><li>Traditional software development methodologies are the most plan-focused development methodologies. These methods are predictive in nature.<\/li><li>Agile software development methodologies are adaptive in nature and are highly flexible.<\/li><li>The most popular traditional software development methodology is the Waterfall Method.<\/li><li>The Scrum Method is the most popular agile software development methodology.<\/li><li>Your startup needs to review team, project, and organization characteristics when selecting a development methodology.<\/li><li>All projects are unique so make sure to select the most appropriate one for each development project. <\/li><\/ul>\n<!-- \/wp:list -->\n\n<!-- wp:paragraph -->\n<p> <a href=\"https:\/\/altitudeaccelerator.ca\/create-software-development-techniques\/\">&lt;&#8211; Back to: \u00ab\u00a0How to Create Software: Development Techniques to Learn\u00a0\u00bb<\/a> <\/p>\n<!-- \/wp:paragraph -->\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Agile Software Development Methodologies: Which to Choose? This article is for: Technical or non-technical software startup founders and development teams who want to make best use of agile software development&hellip; <a class=\"more-link\" href=\"https:\/\/altitudeaccelerator.ca\/fr\/agile-software-development-methodologies\/\">Poursuivre la lecture <span class=\"screen-reader-text\">Agile Software Development Methodologies: Which to Choose?<\/span><\/a><\/p>\n","protected":false},"author":3,"featured_media":0,"parent":0,"menu_order":50,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"_acf_changed":false,"content-type":"","footnotes":""},"class_list":["post-140149","page","type-page","status-publish","hentry","entry"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v22.8 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Agile Software Development Methodologies: Which to Choose? - Altitude Accelerator<\/title>\n<meta name=\"description\" content=\"Should you use traditional or agile software development methodologies to build your software startup? This guide compares all the common methodologies\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/altitudeaccelerator.ca\/agile-software-development-methodologies\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Agile Software Development Methodologies: Which to Choose? - Altitude Accelerator\" \/>\n<meta property=\"og:description\" content=\"Should you use traditional or agile software development methodologies to build your software startup? This guide compares all the common methodologies\" \/>\n<meta property=\"og:url\" content=\"https:\/\/altitudeaccelerator.ca\/agile-software-development-methodologies\/\" \/>\n<meta property=\"og:site_name\" content=\"Altitude Accelerator\" \/>\n<meta property=\"article:modified_time\" content=\"2025-10-31T06:09:07+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/altitudeaccelerator.ca\/wp-content\/uploads\/2019\/11\/SoftwareDevelopmentProcess-1024x778.png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data1\" content=\"30 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/altitudeaccelerator.ca\/agile-software-development-methodologies\/\",\"url\":\"https:\/\/altitudeaccelerator.ca\/agile-software-development-methodologies\/\",\"name\":\"Agile Software Development Methodologies: Which to Choose? - Altitude Accelerator\",\"isPartOf\":{\"@id\":\"https:\/\/altitudeaccelerator.ca\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/altitudeaccelerator.ca\/agile-software-development-methodologies\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/altitudeaccelerator.ca\/agile-software-development-methodologies\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/altitudeaccelerator.ca\/wp-content\/uploads\/2019\/11\/SoftwareDevelopmentProcess-1024x778.png\",\"datePublished\":\"2025-05-23T10:19:48+00:00\",\"dateModified\":\"2025-10-31T06:09:07+00:00\",\"description\":\"Should you use traditional or agile software development methodologies to build your software startup? This guide compares all the common methodologies\",\"breadcrumb\":{\"@id\":\"https:\/\/altitudeaccelerator.ca\/agile-software-development-methodologies\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/altitudeaccelerator.ca\/agile-software-development-methodologies\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/altitudeaccelerator.ca\/agile-software-development-methodologies\/#primaryimage\",\"url\":\"https:\/\/altitudeaccelerator.ca\/wp-content\/uploads\/2019\/11\/SoftwareDevelopmentProcess-1024x778.png\",\"contentUrl\":\"https:\/\/altitudeaccelerator.ca\/wp-content\/uploads\/2019\/11\/SoftwareDevelopmentProcess-1024x778.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/altitudeaccelerator.ca\/agile-software-development-methodologies\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/altitudeaccelerator.ca\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Agile Software Development Methodologies: Which to Choose?\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/altitudeaccelerator.ca\/#website\",\"url\":\"https:\/\/altitudeaccelerator.ca\/\",\"name\":\"Altitude Accelerator\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/altitudeaccelerator.ca\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/altitudeaccelerator.ca\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"fr-FR\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/altitudeaccelerator.ca\/#organization\",\"name\":\"Altitude Accelerator\",\"url\":\"https:\/\/altitudeaccelerator.ca\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/altitudeaccelerator.ca\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/altitudeaccelerator.ca\/wp-content\/uploads\/2023\/11\/altitude_accelerator_logo_horizontal_charcoal-2048x747-1.png\",\"contentUrl\":\"https:\/\/altitudeaccelerator.ca\/wp-content\/uploads\/2023\/11\/altitude_accelerator_logo_horizontal_charcoal-2048x747-1.png\",\"width\":2048,\"height\":747,\"caption\":\"Altitude Accelerator\"},\"image\":{\"@id\":\"https:\/\/altitudeaccelerator.ca\/#\/schema\/logo\/image\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Agile Software Development Methodologies: Which to Choose? - Altitude Accelerator","description":"Should you use traditional or agile software development methodologies to build your software startup? This guide compares all the common methodologies","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:\/\/altitudeaccelerator.ca\/agile-software-development-methodologies\/","og_locale":"fr_FR","og_type":"article","og_title":"Agile Software Development Methodologies: Which to Choose? - Altitude Accelerator","og_description":"Should you use traditional or agile software development methodologies to build your software startup? This guide compares all the common methodologies","og_url":"https:\/\/altitudeaccelerator.ca\/agile-software-development-methodologies\/","og_site_name":"Altitude Accelerator","article_modified_time":"2025-10-31T06:09:07+00:00","og_image":[{"url":"https:\/\/altitudeaccelerator.ca\/wp-content\/uploads\/2019\/11\/SoftwareDevelopmentProcess-1024x778.png"}],"twitter_card":"summary_large_image","twitter_misc":{"Dur\u00e9e de lecture estim\u00e9e":"30 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/altitudeaccelerator.ca\/agile-software-development-methodologies\/","url":"https:\/\/altitudeaccelerator.ca\/agile-software-development-methodologies\/","name":"Agile Software Development Methodologies: Which to Choose? - Altitude Accelerator","isPartOf":{"@id":"https:\/\/altitudeaccelerator.ca\/#website"},"primaryImageOfPage":{"@id":"https:\/\/altitudeaccelerator.ca\/agile-software-development-methodologies\/#primaryimage"},"image":{"@id":"https:\/\/altitudeaccelerator.ca\/agile-software-development-methodologies\/#primaryimage"},"thumbnailUrl":"https:\/\/altitudeaccelerator.ca\/wp-content\/uploads\/2019\/11\/SoftwareDevelopmentProcess-1024x778.png","datePublished":"2025-05-23T10:19:48+00:00","dateModified":"2025-10-31T06:09:07+00:00","description":"Should you use traditional or agile software development methodologies to build your software startup? This guide compares all the common methodologies","breadcrumb":{"@id":"https:\/\/altitudeaccelerator.ca\/agile-software-development-methodologies\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/altitudeaccelerator.ca\/agile-software-development-methodologies\/"]}]},{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/altitudeaccelerator.ca\/agile-software-development-methodologies\/#primaryimage","url":"https:\/\/altitudeaccelerator.ca\/wp-content\/uploads\/2019\/11\/SoftwareDevelopmentProcess-1024x778.png","contentUrl":"https:\/\/altitudeaccelerator.ca\/wp-content\/uploads\/2019\/11\/SoftwareDevelopmentProcess-1024x778.png"},{"@type":"BreadcrumbList","@id":"https:\/\/altitudeaccelerator.ca\/agile-software-development-methodologies\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/altitudeaccelerator.ca\/"},{"@type":"ListItem","position":2,"name":"Agile Software Development Methodologies: Which to Choose?"}]},{"@type":"WebSite","@id":"https:\/\/altitudeaccelerator.ca\/#website","url":"https:\/\/altitudeaccelerator.ca\/","name":"Altitude Accelerator","description":"","publisher":{"@id":"https:\/\/altitudeaccelerator.ca\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/altitudeaccelerator.ca\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"fr-FR"},{"@type":"Organization","@id":"https:\/\/altitudeaccelerator.ca\/#organization","name":"Altitude Accelerator","url":"https:\/\/altitudeaccelerator.ca\/","logo":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/altitudeaccelerator.ca\/#\/schema\/logo\/image\/","url":"https:\/\/altitudeaccelerator.ca\/wp-content\/uploads\/2023\/11\/altitude_accelerator_logo_horizontal_charcoal-2048x747-1.png","contentUrl":"https:\/\/altitudeaccelerator.ca\/wp-content\/uploads\/2023\/11\/altitude_accelerator_logo_horizontal_charcoal-2048x747-1.png","width":2048,"height":747,"caption":"Altitude Accelerator"},"image":{"@id":"https:\/\/altitudeaccelerator.ca\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/altitudeaccelerator.ca\/fr\/wp-json\/wp\/v2\/pages\/140149","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/altitudeaccelerator.ca\/fr\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/altitudeaccelerator.ca\/fr\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/altitudeaccelerator.ca\/fr\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/altitudeaccelerator.ca\/fr\/wp-json\/wp\/v2\/comments?post=140149"}],"version-history":[{"count":5,"href":"https:\/\/altitudeaccelerator.ca\/fr\/wp-json\/wp\/v2\/pages\/140149\/revisions"}],"predecessor-version":[{"id":140213,"href":"https:\/\/altitudeaccelerator.ca\/fr\/wp-json\/wp\/v2\/pages\/140149\/revisions\/140213"}],"wp:attachment":[{"href":"https:\/\/altitudeaccelerator.ca\/fr\/wp-json\/wp\/v2\/media?parent=140149"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}