Agile (adaptive) model

From apppm
(Difference between revisions)
Jump to: navigation, search
(Abstract)
(History)
 
(120 intermediate revisions by one user not shown)
Line 1: Line 1:
Marco Lombardo s210384
+
Written by Marco Lombardo s210384
  
 
== Abstract ==
 
== Abstract ==
  
Agile model is a new way to ride the life cycle in Project, Program and Portfolio Management. The focus of the model are process adaptability and customer satisfaction. To achieve the scope, the model uses a combination of iterative and incremental process models by rapid delivery of working software product <ref name="SDLC - Agile Model">[https://www.tutorialspoint.com/sdlc/sdlc_agile_model.htm] SDLC - Agile Model</ref>
 
Although there are some adaptive methods that are from before 2000’s, it is possible to date the concept of agile in 2001 when it was signed the Agile Manifesto.<ref name="Manifesto for Agile Software Development">[http://agilemanifesto.org Manifesto for Agile Software Development, 2001]</ref>  The Agile Manifesto outlines 4 Core Values (individuals and interactions; working software; customer collaboration; and responding to change) and 12 Guiding Principles which are of key importance for any team aiming at using an agile model.
 
The agile model is an adaptive model that is divided in 5 phases: envision, speculate, explore, adapt, and close, whereas the traditional models are based on a predictive approach (i.e., waterfall model). Both typologies of modelling have their pros and cons and the best approach to follow depends on the project/product.
 
Its goal is to assist companies provide value more frequently to their clients, react quicker to changes, and eventually improve the business. <ref name="Agile Body of Knowledge">[https://kanbanize.com/agile Agile Body of Knowledge]</ref> It is utilized when it is necessary to divide a large project into more reasonable tasks and complete them in short iterations throughout the project life cycle, defined as the set of phases from the start to the end of a project.
 
The model can be applied to almost any project, as it is not related to its size or complexity. However, it is not suitable for all cases, and it is fundamental to carefully define when to implement it. It is also important that the companies adopting the agile model make sure that their employees are aware of the rules and methodologies to successfully work with such a model.
 
  
== Big Idea ==
+
Agile model is a new way of riding the development approach and the life cycle performance domain of a Project, Program and Portfolio Management (PPPM). The focus of the model is on process adaptability and customer satisfaction. The model is based on iterative and incremental processes combined to achieve a rapid delivery of working software product. <ref name="SDLC - Agile Model">SDLC - Agile Model https://www.tutorialspoint.com/sdlc/sdlc_agile_model.htm </ref>
The development models are tools that allow people to correctly follow the steps to create software that meets a business need, one of these tools is the agile model. This model is used for its elasticity and adaptability and based on an iterative approach. <ref name="COMPARATIVE STUDY: WATERFALL V/S AGILE MODEL">[http://citeseerx.ist.psu.edu/viewdoc/download;jsessionid=F2BCA87C0B147D28CC78CED89B3802CC?doi=10.1.1.695.9278&rep=rep1&type=pdf COMPARATIVE STUDY: WATERFALL V/S AGILE MODEL, A. Dubey, A. Jain, A. Mantri, Acropolis Institute of Technology and Research, Indore (M.P), India, March, 2015]</ref> It is possible to define the agile model as a lightweight method compared with all the other software development models.  
+
 
 +
Although there are some adaptive methods dating back to before 2000’s, it is possible to date the concept of agile in 2001, when it was signed the “Agile Manifesto”. The Agile Manifesto outlines four Core Values (individuals and interactions; working software; customer collaboration; and responding to change) and twelve Guiding Principles which are of key importance for any team aiming at using an agile model.
 +
 +
The agile model is an adaptive model that uses iterations called also sprints to divide the project life cycle to work with a short-term planning. It is possible to define each sprint as the sum of 5 phases: gathering, design, construction, testing, close, and after each iteration the teams receive feedback, <ref name="Agile Processes and Methodologies"> Sharma, Sheetal & Sarkar, Darothi & Gupta, Divya. (2012). Agile Processes and Methodologies: A Conceptual Study. International Journal on Computer Science and Engineering. 4. https://www.researchgate.net/publication/267706023_Agile_Processes_and_Methodologies_A_Conceptual_Study </ref> whereas the traditional models are based on a predictive approach (e.g., waterfall model). Both typologies of modelling have their pros and cons and the best approach to follow depends on the project/product.
 +
 
 +
The goal of the agile model is to assist companies in providing value more frequently to their clients, reacting quicker to changes, and eventually improving the business.  <ref name="Agile Body of Knowledge">Agile Body of Knowledge https://kanbanize.com/agile </ref> It is utilized when it is necessary to divide a large project into more reasonable tasks and complete them in short iterations throughout the project life cycle, defined as the set of phases from the start to the end of a project.
 +
 
 +
The model can be applied to almost any project, but for high complexity of design and scale of projects, companies prefer to use the predictive models. It is also important that the companies adopting the agile model make sure that their employees are aware of the rules and methodologies to successfully work with such a model.
 +
 
 +
'''Keywords:''' ''development approach, agile model, adaptive, sprint, PPPM''
 +
 
 +
[[File:agilemodeldiag.jpg|300px|thumb|center|How [[agile (adaptive) model]] works; elements of an agile model.Source:[https://scrummate.com/agile-guide/agile-model/]]
 +
 
 +
== Big idea ==
 +
The development approaches are tools that allow people to correctly follow the steps to create software that meets a business need. It is possible to divide the development approaches in two big areas, adaptive and predictive approaches; the agile model is a tool based on the adaptive approach. This model is used for its elasticity and adaptability and based on an iterative approach. <ref name="COMPARATIVE STUDY: WATERFALL V/S AGILE MODEL"> COMPARATIVE STUDY: WATERFALL V/S AGILE MODEL, A. Dubey, A. Jain, A. Mantri, Acropolis Institute of Technology and Research, Indore (M.P), India, March, 2015 http://citeseerx.ist.psu.edu/viewdoc/download;jsessionid=F2BCA87C0B147D28CC78CED89B3802CC?doi=10.1.1.695.9278&rep=rep1&type=pdf]</ref> It is possible to define the agile model as a lightweight method compared with all the other development models.
 
==== History ====
 
==== History ====
 
The Agile Manifesto was written in 2001, when 17 developers in Wasatch Mountains (Utah) had a meeting focused on the technological development of the future. Everyone agreed to the fact that most companies were drowning in documentation and were focusing too much on planning, with the consequence that they were losing what was the most important thing for their business: their clients.
 
The Agile Manifesto was written in 2001, when 17 developers in Wasatch Mountains (Utah) had a meeting focused on the technological development of the future. Everyone agreed to the fact that most companies were drowning in documentation and were focusing too much on planning, with the consequence that they were losing what was the most important thing for their business: their clients.
For this reason, that weekend they wrote a short document (with only 68 words) that changed completely the development of software and the way of working for big companies. The idea of the Agile Manifesto was to find a common area among the most used frameworks conceptually close to the agile method (for example: Scrum, Extreme Programming, Crystal Clear and other frameworks).  
+
 
 +
For this reason, that weekend they wrote a short document (with only 68 words) that changed completely the development of software and the way of working for big companies. The idea of the Agile Manifesto was to find a common area among the most used frameworks conceptually close to the agile method (for example: Scrum, Extreme Programming, Kanban and other frameworks).  
 +
 
 
“The Agile Manifesto has four Core Values:  
 
“The Agile Manifesto has four Core Values:  
  
Line 19: Line 30:
 
#Working software over comprehensive documentation
 
#Working software over comprehensive documentation
 
#Customer collaboration over contract negotiation
 
#Customer collaboration over contract negotiation
#Responding to change over following a plan
+
#Responding to change over following a plan." <ref name="Manifesto for Agile Software Development">Manifesto for Agile Software Development, 2001 http://agilemanifesto.org </ref>
  
And the 12 principles are:
+
The twelve principles are the conceptualization of how teams and companies need to work if they want to follow the agile model.
#Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.
+
#Welcome changing requirements, even late in development. Agile processes arness change for the customer's competitive advantage.
+
#Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.
+
#Businesspeople and developers must work together daily throughout the project.
+
#Build projects around motivated individuals. Give them the environment and support they need and trust them to get the job done.
+
#The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.
+
#Working software is the primary measure of progress.
+
#Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.
+
#Continuous attention to technical excellence and good design enhances agility.
+
#Simplicity--the art of maximizing the amount of work not done--is essential.
+
#The best architectures, requirements, and designs emerge from self-organizing teams.
+
#At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behaviour accordingly”. <ref>http://agilemanifesto.org/principles.html Principle of Agile Software Development, 2001</ref>
+
  
==== Description model ====
+
The model is based on high priority of customer satisfaction; in order to achieve this, the people involved in the project need to share the deliveries of each iteration with the other team members and with the clients, in order to keep a high relation between them and, at the same time, if there is a need to make changes in the project, it is possible to do so even if the project is in the final stage of development. The reason why it is possible to have such a flexibility is that all the timelines are organized in order to have a short timescale, and all the deliveries are set within a time schedule ranging from two weeks to a couple of months. All the teams working on the project should work together having daily meetings, because the development of an agile project is based on trust between teams and companies. In fact, it is important that everyone is supported and motivated, keeping a good environment and giving people high motivation. Transparency and face to face conversation are the base to gather all the information needed to design the whole project. The agile model is based on software which reduces the weight of the tasks, and thanks to which it is possible to measure the daily progress. The processes of the agile model promote the sustainable development, and everyone involved shall respect the environment and the work done individually. The agility gives the possibility to have good design and excellent technical procedures thanks to the continuous attention of details. Having a very organized teamwork and individuals help designing the best architecture fulfilling the requirements. After each iteration, the teams share their ideas on how to be more effective. <ref name="Manifesto for Agile Software Development">Manifesto for Agile Software Development, 2001 http://agilemanifesto.org </ref>
The model is well defined using the word adaptive, it is used in companies to break projects in small pieces. The approach used is that there is no detailed planning and the idea about future tasks is clear only about what is needed to be developed. Using this method teams need to be elastic and able to easily adapt when the product requirement is changing. The particularity of the version is that a product is examined regularly the use of release iterations, minimizing on this manner the hazard of any predominant disasters in future. The iterations involve different teams that simultaneously work on various area. <ref>https://www.tutorialspoint.com/sdlc/sdlc_agile_model.htm, SDLC - Agile Model</ref> Work done in working sessions is also known as sprints. They have variable durations that can range from a few days to a few weeks. The idea is to have a rotating release schedule from the teams to demonstrate that these segments are working well and, if not, to quickly fix any flaws. The agile model has 5 main phases:
+
#Envision: this is the starter point for each company it is important to conceptualize the product and the needs of the end customer. It is important because in this step it is studied who will work on and its stakeholders.
+
#Speculate: this phase is important to create the initial requirements for the product. Each team would possibly paintings collectively to complicate a featured listing of the very last product, then become aware of milestones concerning the undertaking timeline.
+
#Explore: The mission is laboured on with a focal point on staying inside mission constraints, however groups may also discover options to meet mission requirements. Teams’ paintings on unmarried milestones and iterate earlier than shifting directly to the next.
+
#Adapt: Delivered outcomes are reviewed, and groups adapt as needed. This section makes a speciality of adjustments or corrections that arise primarily based totally on consumer and personnel perspectives. Feedback must be continuously given, so a part of the undertaking meets end-person requirements. The undertaking must enhance with every iteration.
+
#Close: The results provided will be reviewed and the groups adjusted as necessary. The final project is measured against the update requirements. Errors or problems encountered during this process should be investigated to avoid similar problems in the future. <ref>https://kanbanize.com/agile Agile Body of Knowledge</ref>
+
  
Agile is everything about adaptive planning, development that evolve over time, early delivery, continuous improvement. it encourages rapid response, adoption and adaptation to change. <ref>https://www.blueoceanworkshops.com/agile-adaptive-vs-waterfall-predictive-project-management/ Introduction to agile and waterfall</ref>
+
==== Sprints of the agile model ====
 +
 
 +
 
 +
The model is well defined using the word adaptive and it is used in companies to break projects in small pieces. The approach used is that there is no detailed planning of long-term work; it is possible to have a clear idea of future tasks only when these tasks will be necessary to be developed. Using this method, the teams need to be elastic and able to easily adapt when the product requirement is changing. The particularity of the agile model is that a product is examined continuously using iterations, minimizing on this manner the uncertainty on the final goal. The iterations involve different teams that simultaneously work on various areas. <ref name="SDLC - Agile Model"></ref> The work done in every working session is also known as sprints. The sprints have variable durations that can range from few days to few weeks. The idea is to have a rotating release schedule from the teams to demonstrate that these segments are working well and, if not, to quickly fix any flaws.
 +
 
 +
 
 +
[[File:sprints.JPG|400px|thumb|center| Main phases of a sprint]]
 +
 
 +
The agile model consists of 5 main phases:
 +
#'''Gathering:''' this is the starting point for each project. The first phase is important because there is the need to make a plan in order to conceptualize the product and the needs of the end customer, and also understand who the stakeholders are, and which of the teams will be interested in the project.
 +
#'''Design:''' this phase is important to create the initial requirements for the product. The idea is to encourage each team involved in the project to have a holistic view and explore different ideas for the project. It is the phase that expand the collaboration of the team members. It is important because teams need to have a good overview of the product and also of the timeline for the deliveries.
 +
#'''Construction''': this phase is focusing on deliveries and particularly on the requirements and the constraints that the teams should follow. It is important to have a good collaboration between teams and a good interaction with customers and stakeholders.
 +
#'''Testing:''' in this phase teams analyse the results with what was planned. Teams can adapt or make changes in order to have a better product. The most important work is to receive and elaborate feedback.
 +
#'''Close:''' the iteration is finished; each team should share the results and receive feedback from the customer in order to start the new iteration. <ref name="Agile model software engineering">Agile model software engineering https://www.javatpoint.com/software-engineering-agile-model</ref> The most important thing to do in this phase is to analyse all the key-points of the project and save all the knowledge gathered.
 +
 
 +
Overall, agile is about adaptive planning, getting earlier deliveries and ensuring a steady improvement throughout every sprint. Key concepts to realize this are rapid response and adaptation to change. <ref name="Introduction to agile and waterfall">Introduction to agile and waterfall https://www.blueoceanworkshops.com/agile-adaptive-vs-waterfall-predictive-project-management/ </ref>
  
 
== Applications ==
 
== Applications ==
==== Adaptive (agile model) vs. predictive (waterfall) ====
+
==== Adaptive (agile model) vs. predictive (waterfall model) ====
 
To explain where an agile model can be applied, it is important to understand the differences between adaptive (agile model) and predictive (waterfall model) methodologies.
 
To explain where an agile model can be applied, it is important to understand the differences between adaptive (agile model) and predictive (waterfall model) methodologies.
The adaptive strategies change fast exactly as fast as the real constraints and idea might change. Teams might be efficient to understand when a project change, they might adapt to it as well. Teams are working with agile models are not able to describe precisely what will happen in the project in the next future. The in addition away a date is, the vaguer an adaptive approach is ready what is going to show up on that date. An adaptive team cannot file precisely what obligations they may do subsequent week, however best which functions they plan for subsequent month. An instance is likewise while requested approximately a launch six months from now, an adaptive team is probably capable of file best the assignment assertion for the launch, or an assertion of predicted price vs. cost.
+
 
Predictive strategies, in contrast, consciousness on analysing and making plans the destiny in element and cater for recognised risks. In the extremes, a predictive group can file precisely what functions and obligations are deliberate for the whole period of the improvement process. Predictive strategies depend on powerful early segment evaluation and if this is going very wrong, the mission might also additionally have problem converting direction. Predictive groups regularly institute an extrade manipulate board to make sure they do not forget most effective the maximum treasured changes.
+
A development approach is the method utilized to design and develop product, service, or the resource involved in the life cycle of a project. Each project is different compared to another, and the approach used can change considering the complexity and volatility of it. In fact, companies with projects with a high complexity are the ones which prefer working using a predictive model, while the ones with projects with a high volatility prefer the adaptive model. <ref name="PMBOK">Project Management Institute, Inc. (PMI). (2021). A Guide to the Project Management Body of Knowledge (PMBOK ® Guide) – 7th Edition and The Standard for Project Management. Project Management Institute, Inc. (PMI). Retrieved from
The predictive models are still the most used to manage projects and in particular the Waterfall Model. It is defined also as a linear sequential model. Often, it is possible to consider the waterfall model as the traditional approach of project management. It is organized in a strict way of planning and executing the plan step-by-step, and each step is dependent to the previous. This type of linear approach often cannot be useful if the product needs dynamic and fast changing environment as nowadays. In a Waterfall project, if there is a need to fix a failure it will require lots of extra time and cost that are not planned with the clients. For this reason, many teams in companies are strict to ensure that projects satisfy the constraints before continuing to the next phase otherwise it will have to be rebuilt from the starter point.
+
https://app.knovel.com/hotlink/toc/id:kpSPMAGPMP/guide-project-management/guide-project-management</ref>
Considering that, it is possible to make a clear line in between the two methodologies and trying to understand when it is better one and when the other.  
+
 
The waterfall model is suitable for projects with well-defined requirements where almost no changes are expected. Instead, agile works smoothly when there is a higher chance of frequent requirement changes. Agile is a flexible model able to adapt to the change of the requirements also if it will happen daily. Instead, in the waterfall model the constraints are defined with the business analyst only once at the starter point of the project. <ref>https://www.blueoceanworkshops.com/agile-adaptive-vs-waterfall-predictive-project-management/ Introduction to agile and waterfall</ref>
+
The adaptive strategies change exactly as fast as the real constraints and idea might change; for this reason, this approach is very useful when the requirements to develop a product have a high level of uncertainty and there can be changes during the project. The model defines a clear vision of the full project in the early phase. The development of the project is based on the user feedback, and all changes are done in accordance with the stakeholders. Usually, the method utilizes iterative and incremental approaches with a duration from one to two weeks and where each team involved in the project should deliver and share with the other teams the work done. <ref name="PMBOK">Project Management Institute, Inc. (PMI). (2021). A Guide to the Project Management Body of Knowledge (PMBOK ® Guide) – 7th Edition and The Standard for Project Management. Project Management Institute, Inc. (PMI). Retrieved from
 +
https://app.knovel.com/hotlink/toc/id:kpSPMAGPMP/guide-project-management/guide-project-management </ref>
 +
 
 +
Predictive approaches, in contrast, are utilized when it is possible to identify, gather and analyse the requirements before the starting point of a project life cycle to reduce as much as possible the changes and replanning the phases of a project. This method, in fact, is useful because it reduces the uncertainty related with the risk management of the project and for this reason it is used when the investment is important. <ref name="PMBOK">https://app-knovel-com.proxy.findit.cvt.dk/kn/resources/kpSPMAGPMP/toc?issue_id=kt012LZGX3&hierarchy=toggle-content</ref>
 +
 
 +
The predictive models, in particular the waterfall model, are still the most used to manage projects. They are defined also as linear sequential models. Often, it is possible to consider the waterfall model as the traditional approach to project management. It is organized in a strict way of planning and executing the plan step-by-step, and each step is dependent on the previous. This type of linear approach cannot be useful if the product needs dynamic and fast changing environment, as more and more common nowadays. In a waterfall project, if there is a need to fix a failure it will require lots of extra time and cost, that are not planned with the clients. For this reason, many companies are strict to ensure that projects satisfy the constraints before continuing to the next phase, otherwise it will have to be rebuilt from the starting point.
 +
 
 +
Considering that, it is possible to make a clear line in between the two methodologies and to try to understand when it is better one and when the other.
 +
 
 +
The waterfall model is suitable for projects with well-defined requirements, where almost no changes are expected. Instead, agile works smoothly when there is a higher chance of frequent requirement changes. Agile is a flexible model able to adapt to the change of requirements, also if it will happen daily. Instead, in the waterfall model the constraints are defined with the business analyst only once at the starting point of the project. <ref name="Introduction to agile and waterfall">https://www.blueoceanworkshops.com/agile-adaptive-vs-waterfall-predictive-project-management/ Introduction to agile and waterfall</ref>
  
 
==== Companies which adopted the agile model ====
 
==== Companies which adopted the agile model ====
For its nature, agile model is a challenge for big companies, because it requires strong ability of the teams, flexibility, and fast response to changes. Something that does not seem to be compatible with the rigid’s structures of the large companies. But there are some big companies like CISCO (IT), Lego (IT), Barclays (Finance), Panera Bread (IT), Ericsson (Mobile network), PlayStation (Gaming), John Deere (IT), Fitbit (technology), OpenLink (Finance), Royal Philips (medical technology company) which had adopted the agile model and they got positive results from it. <ref>https://techbeacon.com/app-dev-testing/10-companies-killing-it-scaling-agile Big companies associated with agile model</ref>
+
The agile model is an uncommon method and sometimes a challenge for big companies, because it requires strong ability of the teams, flexibility, and fast response to changes; something that does not seem to be compatible with the rigid structures of large companies. But there are some big companies like CISCO (IT), Lego (IT), Barclays (Finance), Panera Bread (IT), Ericsson (Mobile network), PlayStation (Gaming), John Deere (IT), Fitbit (technology), OpenLink (Finance), Royal Philips (medical technology company) which adopted the agile model and they got positive results from it. <ref name="Big companies associated with agile model">10 companies killing it at scaling agile,Christopher Null https://techbeacon.com/app-dev-testing/10-companies-killing-it-scaling-agile </ref>
  
 
==== Examples of agile software ====
 
==== Examples of agile software ====
 
Some examples of the most popular agile methods are:
 
Some examples of the most popular agile methods are:
#Scrum
+
#'''Scrum:''' The first agile framework is Scrum, which uses iterative and incremental frameworks and daily meetings (also known as Scrum ceremonies) at intervals in order to facilitate the development and the performance of the teams in the life cycle of a project. The method offers benefits such as security, quality, and decreasing of the project cost thanks to the combination of iterative and incremental approaches called sprints. The first step is to set the goals of each sprint; according to this framework, it is not possible to modify the focus of the sprint, but it is possible to increase the number of sprints and/or modify the scope of one of the future ones. The three important roles in Scrum are: the leader of a project is usually the Scrum master, the client is the product owner, while the people developing the product are the scrum team members. <ref name="Scrum model for agile methodology">A. Srivastava, S. Bhardwaj and S. Saraswat, "SCRUM model for agile methodology," 2017 International Conference on Computing, Communication and Automation (ICCCA), 2017, pp. 864-869, doi: 10.1109/CCAA.2017.8229928. https://ieeexplore-ieee-org.proxy.findit.cvt.dk/document/8229928</ref>
The first agile framework is Scrum, which uses sprints and daily meetings (also known as Scrum ceremonies) at intervals in order to address different portions or a set amount of work within a project during its life cycle. There are three important roles in Scrum: the leader of a project is usually the Scrum master, the client is often the product owner, while the people developing the product are the scrum team members. <ref>https://thedigitalprojectmanager.com/agile-project-management/, Scrum and Kanban explanations</ref>
+
#'''Kanban:''' The Kanban method is one of the most used frameworks which consists of the visual workflow, and presentations showing all the tasks of the project. Each task is displayed in a kanban board where the team members can see the state of every piece and work on that at any time. The system helps to eliminate waste focusing on the costumer's value. The core of Kanban is visualizing the workflow, limit WIP (work in progress) and measure the lead time. <ref name="The projection of the specific practices of the third level of CMMI model in agile methods: Scrum, XP and Kanban">Z. Bougroun, A. Zeaaraoui and T. Bouchentouf, "The projection of the specific practices of the third level of CMMI model in agile methods: Scrum, XP and Kanban," 2014 Third IEEE International Colloquium in Information Science and Technology (CIST), 2014, pp. 174-179, doi: 10.1109/CIST.2014.7016614. https://ieeexplore-ieee-org.proxy.findit.cvt.dk/document/7016614 </ref>
#Kanban
+
#'''Extreme programming (XP):''' The last model is the Extreme programming, an agile software development framework based on supporting teams who are working with continuous changes in the project, producing a higher quality software and quality of work thanks to the management of codes. The model is the most specific among all agile frameworks for what concerns good engineering practices for developing software and matching the requirements of the users. The values of the extreme programming are four: communication, simplicity, feedback, courage. <ref name="Agile Softwar COnstruction">Agile Software Construction, John Hunt ,Springer-Verlag London Limited 2006 https://link-springer-com.proxy.findit.cvt.dk/content/pdf/10.1007%2F1-84628-262-4.pdf</ref>
The Kanban method is one of the most used frameworks which consists on the visual display of present, future and completed tasks. Each task is displayed on a kanban board where the team members can see the state of every piece of work at any time. The applications for this method are the agile implementation and the development of DevOps software. The reason why the Kanban board is widely used is that having a visual representation of the tasks helps the agile team members to have an overview on all tasks, both their own and the ones related to the project. To achieve this visual display, it is important to have quick and continuous communication of available resources and being completely transparent on the work progress. <ref>https://thedigitalprojectmanager.com/agile-project-management/ Scrum and Kanban explanations</ref> <ref>https://www.atlassian.com/agile/kanban Kanban explanation, atlassian</ref>
+
#Extreme programming (XP)
+
The last model is the Extreme programming an agile software development framework with the idea of producing a higher quality software and quality of work for the development team. The model is considered the most specific among all agile frameworks for what concerns good engineering practices for developing software. The values of the extreme programming are five and are: communication, simplicity, feedback, courage, and respect and are described in more detail on the website. <ref>https://www.agilealliance.org/glossary/xp Extreme programming explanation</ref>
+
  
== Limitations ==
+
== Limitations - Pros and Cons ==
==== Agile model - Pros and Cons ====
+
In the last decades, agile methods are becoming more and more accepted in the software world. However, there are some cases in which these methods may not be suitable. As shown below, the agile model presents many advantages, but has also a number of disadvantages to be taken into consideration.
In the last decades, agile methods are becoming more and more accepted in the software world. However, there are some cases in which this method may not be suitable. As shown below, the agile model presents many advantages, but has also a number of disadvantages to be taken into consideration.
+
 
The pros of using an Agile Model are many. Firstly, the model is a very realistic approach to software development. It a creates a strong relationship between clients and the developing team, thanks to the continuous delivery of a workable product which increases the customer satisfaction. Secondly, the functionality of the model is meant to be developed quickly by cutting overall development time (delivers functioning software frequently, in weeks instead of months) and to be demonstrated; its adaptability makes it suitable both for fixed or changing requirements and the resource requirements are minimum. With regards to the types of teams it can be applied to, the model suits in a good team environment and improves the teamwork and cross training. Moreover, the agile model provides early partial working solutions, minimal rules, easily employed documentation. It is a good model for environments that are continuously changing and evolving, as it enhances flexibility to developers, and it is easy to manage. Lastly, it requires very little planning, enables concurrent development and delivery within an overall planned context. <ref>https://www.tutorialspoint.com/sdlc/sdlc_agile_model.htm, SDLC - Agile Model</ref> <ref>https://www.simplilearn.com/agile-modellingarticle_is_agile_modeling_an_introduction Pro and Cons about agile model</ref>
+
The pros of agile model are many. First, the model is based on transparency and great collaboration between teams and not only, in fact, it a creates a strong relationship between clients and the developing team. This is done thanks to the continuous delivery of a workable product which increases the customer satisfaction. Secondly, the functionality of the model is meant to be developed quickly by cutting overall development time (the deliveres of software are reduced at 1-2 weeks) and to be demonstrated; its adaptability makes it suitable both for fixed or changing requirements and the resource requirements are minimum. With regards to the types of teams it can be applied to, the model suits in a good team environment and improves the teamwork and cross training. Moreover, the agile model provides early partial working solutions, minimal rules, easily employed documentation. It is a good model for environments that are continuously changing and evolving, as it improves flexibility to developers, and it is easy to manage. Lastly, it requires very little planning, enables concurrent development and delivery within an overall planned context. <ref name="SDLC - Agile Model">https://www.tutorialspoint.com/sdlc/sdlc_agile_model.htm, SDLC - Agile Model</ref>
However, the Agile method is not optimal for all cases. Even though the principles of the model are meant to resolve some of the drawbacks that could arise from using the Waterfall approach, it is not uncommon that companies and/or organizations do not achieve the expected advantages. This is due to one of the following reasons. <ref>http://www.bmc.com/blogs/agile-vs-waterfall/ Usage of the agile model</ref>
+
 
In the first place, it is not suitable for handling complex dependencies, as it might pose more risk of sustainability, maintainability and extensibility of the product, if this is too complex and it is hard and difficult to measure how much effort will be needed to start the life cycle of a larger project. Moreover, the model cannot be used by all companies because it requires a certain structure and guidelines to be in place: an overall plan, an agile leader and an agile project manager are a must, without which it will not work. For the successful implementation of the model, it is fundamental that all deliveries and deadlines are strictly managed, as they dictate the scope and guarantee the correct sequence of functionalities to be delivered, additionally it can be confusion among groups due to the fact the documentation turned into now no longer well emphasised and it is able to result in hard transitions among phases. Moreover, the model depends heavily on customer interaction, so if the customer is not clear or does not have well-defined goals, the team can be driven in the wrong direction or if the client and the team are in different pages the project will derail. For large companies, it could be a disadvantage to use the agile model due to the fact that it entails a very high individual dependency, since it generates minimum documentation. Due to this lack of documentation, the transfer of technology to new team members may be quite challenging, this means that an agile model requires people with good and solid developer and programming skills. <ref>https://www.tutorialspoint.com/sdlc/sdlc_agile_model.htm, SDLC - Agile Model</ref> <ref>https://www.simplilearn.com/agile-modellingarticle_is_agile_modeling_an_introduction Pro and Cons about agile model</ref> Sometimes, the fact that there is not any kind of system design the structure becomes to complex forcing the companies to follow the waterfall model. <ref>http://www.bmc.com/blogs/agile-vs-waterfall/ Usage of the agile model</ref>
+
However, the agile method is not optimal for all cases. Even though the principles of the model are meant to resolve some of the drawbacks that could arise from using the waterfall approach, it is not uncommon that companies and/or organizations do not achieve the expected advantages. This is due to at least one of the following reasons. <ref name="Usage of the agile model">Agile vs Waterfall SDLCs: What’s The Difference?, Muhammad Raza http://www.bmc.com/blogs/agile-vs-waterfall/ </ref>
To conclude, the agile model represents a good method when it is more important the speed of creating a product compared to its eminence. It is also proven to be useful in the cases where clients are often changing the scope of the project and when the idea to be achieved is not fully defined. From the point of view of the human resources of the companies good skilled, independent, and adaptable developers are key. Lastly, it is recommended to use the agile model if the industry has to fulfil the continuously varying standards. <ref>http://citeseerx.ist.psu.edu/viewdoc/download;jsessionid=F2BCA87C0B147D28CC78CED89B3802CC?doi=10.1.1.695.9278&rep=rep1&type=pdf, Iterative approach</ref>
+
 
 +
In the first place, it is not suitable for handling complex dependencies, as it might pose more risk of sustainability, maintainability, and extensibility of the product, if this is too complex and it is hard and difficult to measure how much effort will be needed to start the life cycle of a larger project. Moreover, the model cannot be used by all companies because it requires a certain structure and guidelines to be in place: an overall plan, an agile leader and an agile project manager are a must, without which it will not work. For the successful implementation of the model, it is fundamental that all deliveries and deadlines are strictly managed, as they dictate the scope and guarantee the correct sequence of functionalities to be delivered. Additionally, there could be some misunderstanding among groups due to the fact the documentation is not explained well or because of a lack of emphasis and it is able to result in hard transitions among phases. Moreover, the model depends heavily on customer interaction, so if the customer is not clear or does not have well-defined goals, the team can be driven in the wrong direction or if the client and the team are in different pages the project will derail. For large companies, it could be a disadvantage to use the agile model due to the fact that it entails a very high individual dependency, since it generates minimum documentation. Due to this lack of documentation, the transfer of technology to new team members may be quite challenging; this means that an agile model requires senior developers and there is no space for people without good knowledge of programming skills. <ref name="SDLC - Agile Model">https://www.tutorialspoint.com/sdlc/sdlc_agile_model.htm SDLC - Agile Model </ref> Sometimes, the structure of a project becomes too complex forcing the companies to follow the waterfall model. This happens because the teams involved have not enough knowledge of how the model works or due to the fact that there is not any kind of system design.
 +
 
 +
To conclude, the agile model represents a good method when it is more important the speed of creating a product compared to its eminence. It is also proven to be useful in the cases where clients are often changing the scope of the project and when the idea to be achieved is not fully defined. From the point of view of the human resources of the companies, good skilled, independent, and adaptable developers are key. Lastly, it is recommended to use the agile model if the industry has to fulfil the continuously varying standards. <ref name="COMPARATIVE STUDY: WATERFALL V/S AGILE MODEL">http://citeseerx.ist.psu.edu/viewdoc/download;jsessionid=F2BCA87C0B147D28CC78CED89B3802CC?doi=10.1.1.695.9278&rep=rep1&type=pdf COMPARATIVE STUDY: WATERFALL V/S AGILE MODEL, A. Dubey, A. Jain, A. Mantri, Acropolis Institute of Technology and Research, Indore (M.P), India, March, 2015</ref>
  
 
== Annotated bibliography ==
 
== Annotated bibliography ==
 +
 +
 +
''' A Guide to the Project Management Body of Knowledge (PMBOK ® Guide) – 7th Edition and The Standard for Project Management, Project Management Institute, Inc., 14 Campus Boulevard, Newtown Square, Pennsylvania 19073-3299 USA, 2021 ISBN: 978-1-62825-664-2'''
 +
*This modern guide enables project team members to be proactive, innovative, and nimble in delivering project outcomes. Chapter 2, Project Performance Domains, explains the differences between adaptive and predictive methods and when they should be used.
 +
'''Hunt, J. (2006). Agile software construction. Agile Software Construction (pp. 1–254). Springer London. https://doi.org/10.1007/1-84628-262-4
 +
*This book explains in a realistic way how the different methods can work together, it is a very good book to have more knowledge on the agile method and its framework.
 +
'''A. Srivastava, S. Bhardwaj and S. Saraswat, "SCRUM model for agile methodology," 2017 International Conference on Computing, Communication and Automation (ICCCA), 2017, pp. 864-869, doi: 10.1109/CCAA.2017.8229928.
 +
*This is a good article which explains the uses of the Scrum model
 +
'''Z. Bougroun, A. Zeaaraoui and T. Bouchentouf, "The projection of the specific practices of the third level of CMMI model in agile methods: Scrum, XP and Kanban," 2014 Third IEEE International Colloquium in Information Science and Technology (CIST), 2014, pp. 174-179, doi: 10.1109/CIST.2014.7016614.
 +
*This document gives a presentation of the CMMI model and Scrum, XP, and  Kanban methods
 +
 +
== References ==
  
 
<references/>
 
<references/>

Latest revision as of 13:26, 26 March 2022

Written by Marco Lombardo s210384

Contents

[edit] Abstract

Agile model is a new way of riding the development approach and the life cycle performance domain of a Project, Program and Portfolio Management (PPPM). The focus of the model is on process adaptability and customer satisfaction. The model is based on iterative and incremental processes combined to achieve a rapid delivery of working software product. [1]

Although there are some adaptive methods dating back to before 2000’s, it is possible to date the concept of agile in 2001, when it was signed the “Agile Manifesto”. The Agile Manifesto outlines four Core Values (individuals and interactions; working software; customer collaboration; and responding to change) and twelve Guiding Principles which are of key importance for any team aiming at using an agile model.

The agile model is an adaptive model that uses iterations called also sprints to divide the project life cycle to work with a short-term planning. It is possible to define each sprint as the sum of 5 phases: gathering, design, construction, testing, close, and after each iteration the teams receive feedback, [2] whereas the traditional models are based on a predictive approach (e.g., waterfall model). Both typologies of modelling have their pros and cons and the best approach to follow depends on the project/product.

The goal of the agile model is to assist companies in providing value more frequently to their clients, reacting quicker to changes, and eventually improving the business. [3] It is utilized when it is necessary to divide a large project into more reasonable tasks and complete them in short iterations throughout the project life cycle, defined as the set of phases from the start to the end of a project.

The model can be applied to almost any project, but for high complexity of design and scale of projects, companies prefer to use the predictive models. It is also important that the companies adopting the agile model make sure that their employees are aware of the rules and methodologies to successfully work with such a model.

Keywords: development approach, agile model, adaptive, sprint, PPPM

How agile (adaptive) model works; elements of an agile model.Source:[https://scrummate.com/agile-guide/agile-model/

[edit] Big idea

The development approaches are tools that allow people to correctly follow the steps to create software that meets a business need. It is possible to divide the development approaches in two big areas, adaptive and predictive approaches; the agile model is a tool based on the adaptive approach. This model is used for its elasticity and adaptability and based on an iterative approach. [4] It is possible to define the agile model as a lightweight method compared with all the other development models.

[edit] History

The Agile Manifesto was written in 2001, when 17 developers in Wasatch Mountains (Utah) had a meeting focused on the technological development of the future. Everyone agreed to the fact that most companies were drowning in documentation and were focusing too much on planning, with the consequence that they were losing what was the most important thing for their business: their clients.

For this reason, that weekend they wrote a short document (with only 68 words) that changed completely the development of software and the way of working for big companies. The idea of the Agile Manifesto was to find a common area among the most used frameworks conceptually close to the agile method (for example: Scrum, Extreme Programming, Kanban and other frameworks).

“The Agile Manifesto has four Core Values:

  1. Individuals and interactions over processes and tools
  2. Working software over comprehensive documentation
  3. Customer collaboration over contract negotiation
  4. Responding to change over following a plan." [5]

The twelve principles are the conceptualization of how teams and companies need to work if they want to follow the agile model.

The model is based on high priority of customer satisfaction; in order to achieve this, the people involved in the project need to share the deliveries of each iteration with the other team members and with the clients, in order to keep a high relation between them and, at the same time, if there is a need to make changes in the project, it is possible to do so even if the project is in the final stage of development. The reason why it is possible to have such a flexibility is that all the timelines are organized in order to have a short timescale, and all the deliveries are set within a time schedule ranging from two weeks to a couple of months. All the teams working on the project should work together having daily meetings, because the development of an agile project is based on trust between teams and companies. In fact, it is important that everyone is supported and motivated, keeping a good environment and giving people high motivation. Transparency and face to face conversation are the base to gather all the information needed to design the whole project. The agile model is based on software which reduces the weight of the tasks, and thanks to which it is possible to measure the daily progress. The processes of the agile model promote the sustainable development, and everyone involved shall respect the environment and the work done individually. The agility gives the possibility to have good design and excellent technical procedures thanks to the continuous attention of details. Having a very organized teamwork and individuals help designing the best architecture fulfilling the requirements. After each iteration, the teams share their ideas on how to be more effective. [5]

[edit] Sprints of the agile model

The model is well defined using the word adaptive and it is used in companies to break projects in small pieces. The approach used is that there is no detailed planning of long-term work; it is possible to have a clear idea of future tasks only when these tasks will be necessary to be developed. Using this method, the teams need to be elastic and able to easily adapt when the product requirement is changing. The particularity of the agile model is that a product is examined continuously using iterations, minimizing on this manner the uncertainty on the final goal. The iterations involve different teams that simultaneously work on various areas. [1] The work done in every working session is also known as sprints. The sprints have variable durations that can range from few days to few weeks. The idea is to have a rotating release schedule from the teams to demonstrate that these segments are working well and, if not, to quickly fix any flaws.


Main phases of a sprint

The agile model consists of 5 main phases:

  1. Gathering: this is the starting point for each project. The first phase is important because there is the need to make a plan in order to conceptualize the product and the needs of the end customer, and also understand who the stakeholders are, and which of the teams will be interested in the project.
  2. Design: this phase is important to create the initial requirements for the product. The idea is to encourage each team involved in the project to have a holistic view and explore different ideas for the project. It is the phase that expand the collaboration of the team members. It is important because teams need to have a good overview of the product and also of the timeline for the deliveries.
  3. Construction: this phase is focusing on deliveries and particularly on the requirements and the constraints that the teams should follow. It is important to have a good collaboration between teams and a good interaction with customers and stakeholders.
  4. Testing: in this phase teams analyse the results with what was planned. Teams can adapt or make changes in order to have a better product. The most important work is to receive and elaborate feedback.
  5. Close: the iteration is finished; each team should share the results and receive feedback from the customer in order to start the new iteration. [6] The most important thing to do in this phase is to analyse all the key-points of the project and save all the knowledge gathered.

Overall, agile is about adaptive planning, getting earlier deliveries and ensuring a steady improvement throughout every sprint. Key concepts to realize this are rapid response and adaptation to change. [7]

[edit] Applications

[edit] Adaptive (agile model) vs. predictive (waterfall model)

To explain where an agile model can be applied, it is important to understand the differences between adaptive (agile model) and predictive (waterfall model) methodologies.

A development approach is the method utilized to design and develop product, service, or the resource involved in the life cycle of a project. Each project is different compared to another, and the approach used can change considering the complexity and volatility of it. In fact, companies with projects with a high complexity are the ones which prefer working using a predictive model, while the ones with projects with a high volatility prefer the adaptive model. [8]

The adaptive strategies change exactly as fast as the real constraints and idea might change; for this reason, this approach is very useful when the requirements to develop a product have a high level of uncertainty and there can be changes during the project. The model defines a clear vision of the full project in the early phase. The development of the project is based on the user feedback, and all changes are done in accordance with the stakeholders. Usually, the method utilizes iterative and incremental approaches with a duration from one to two weeks and where each team involved in the project should deliver and share with the other teams the work done. [8]

Predictive approaches, in contrast, are utilized when it is possible to identify, gather and analyse the requirements before the starting point of a project life cycle to reduce as much as possible the changes and replanning the phases of a project. This method, in fact, is useful because it reduces the uncertainty related with the risk management of the project and for this reason it is used when the investment is important. [8]

The predictive models, in particular the waterfall model, are still the most used to manage projects. They are defined also as linear sequential models. Often, it is possible to consider the waterfall model as the traditional approach to project management. It is organized in a strict way of planning and executing the plan step-by-step, and each step is dependent on the previous. This type of linear approach cannot be useful if the product needs dynamic and fast changing environment, as more and more common nowadays. In a waterfall project, if there is a need to fix a failure it will require lots of extra time and cost, that are not planned with the clients. For this reason, many companies are strict to ensure that projects satisfy the constraints before continuing to the next phase, otherwise it will have to be rebuilt from the starting point.

Considering that, it is possible to make a clear line in between the two methodologies and to try to understand when it is better one and when the other.

The waterfall model is suitable for projects with well-defined requirements, where almost no changes are expected. Instead, agile works smoothly when there is a higher chance of frequent requirement changes. Agile is a flexible model able to adapt to the change of requirements, also if it will happen daily. Instead, in the waterfall model the constraints are defined with the business analyst only once at the starting point of the project. [7]

[edit] Companies which adopted the agile model

The agile model is an uncommon method and sometimes a challenge for big companies, because it requires strong ability of the teams, flexibility, and fast response to changes; something that does not seem to be compatible with the rigid structures of large companies. But there are some big companies like CISCO (IT), Lego (IT), Barclays (Finance), Panera Bread (IT), Ericsson (Mobile network), PlayStation (Gaming), John Deere (IT), Fitbit (technology), OpenLink (Finance), Royal Philips (medical technology company) which adopted the agile model and they got positive results from it. [9]

[edit] Examples of agile software

Some examples of the most popular agile methods are:

  1. Scrum: The first agile framework is Scrum, which uses iterative and incremental frameworks and daily meetings (also known as Scrum ceremonies) at intervals in order to facilitate the development and the performance of the teams in the life cycle of a project. The method offers benefits such as security, quality, and decreasing of the project cost thanks to the combination of iterative and incremental approaches called sprints. The first step is to set the goals of each sprint; according to this framework, it is not possible to modify the focus of the sprint, but it is possible to increase the number of sprints and/or modify the scope of one of the future ones. The three important roles in Scrum are: the leader of a project is usually the Scrum master, the client is the product owner, while the people developing the product are the scrum team members. [10]
  2. Kanban: The Kanban method is one of the most used frameworks which consists of the visual workflow, and presentations showing all the tasks of the project. Each task is displayed in a kanban board where the team members can see the state of every piece and work on that at any time. The system helps to eliminate waste focusing on the costumer's value. The core of Kanban is visualizing the workflow, limit WIP (work in progress) and measure the lead time. [11]
  3. Extreme programming (XP): The last model is the Extreme programming, an agile software development framework based on supporting teams who are working with continuous changes in the project, producing a higher quality software and quality of work thanks to the management of codes. The model is the most specific among all agile frameworks for what concerns good engineering practices for developing software and matching the requirements of the users. The values of the extreme programming are four: communication, simplicity, feedback, courage. [12]

[edit] Limitations - Pros and Cons

In the last decades, agile methods are becoming more and more accepted in the software world. However, there are some cases in which these methods may not be suitable. As shown below, the agile model presents many advantages, but has also a number of disadvantages to be taken into consideration.

The pros of agile model are many. First, the model is based on transparency and great collaboration between teams and not only, in fact, it a creates a strong relationship between clients and the developing team. This is done thanks to the continuous delivery of a workable product which increases the customer satisfaction. Secondly, the functionality of the model is meant to be developed quickly by cutting overall development time (the deliveres of software are reduced at 1-2 weeks) and to be demonstrated; its adaptability makes it suitable both for fixed or changing requirements and the resource requirements are minimum. With regards to the types of teams it can be applied to, the model suits in a good team environment and improves the teamwork and cross training. Moreover, the agile model provides early partial working solutions, minimal rules, easily employed documentation. It is a good model for environments that are continuously changing and evolving, as it improves flexibility to developers, and it is easy to manage. Lastly, it requires very little planning, enables concurrent development and delivery within an overall planned context. [1]

However, the agile method is not optimal for all cases. Even though the principles of the model are meant to resolve some of the drawbacks that could arise from using the waterfall approach, it is not uncommon that companies and/or organizations do not achieve the expected advantages. This is due to at least one of the following reasons. [13]

In the first place, it is not suitable for handling complex dependencies, as it might pose more risk of sustainability, maintainability, and extensibility of the product, if this is too complex and it is hard and difficult to measure how much effort will be needed to start the life cycle of a larger project. Moreover, the model cannot be used by all companies because it requires a certain structure and guidelines to be in place: an overall plan, an agile leader and an agile project manager are a must, without which it will not work. For the successful implementation of the model, it is fundamental that all deliveries and deadlines are strictly managed, as they dictate the scope and guarantee the correct sequence of functionalities to be delivered. Additionally, there could be some misunderstanding among groups due to the fact the documentation is not explained well or because of a lack of emphasis and it is able to result in hard transitions among phases. Moreover, the model depends heavily on customer interaction, so if the customer is not clear or does not have well-defined goals, the team can be driven in the wrong direction or if the client and the team are in different pages the project will derail. For large companies, it could be a disadvantage to use the agile model due to the fact that it entails a very high individual dependency, since it generates minimum documentation. Due to this lack of documentation, the transfer of technology to new team members may be quite challenging; this means that an agile model requires senior developers and there is no space for people without good knowledge of programming skills. [1] Sometimes, the structure of a project becomes too complex forcing the companies to follow the waterfall model. This happens because the teams involved have not enough knowledge of how the model works or due to the fact that there is not any kind of system design.

To conclude, the agile model represents a good method when it is more important the speed of creating a product compared to its eminence. It is also proven to be useful in the cases where clients are often changing the scope of the project and when the idea to be achieved is not fully defined. From the point of view of the human resources of the companies, good skilled, independent, and adaptable developers are key. Lastly, it is recommended to use the agile model if the industry has to fulfil the continuously varying standards. [4]

[edit] Annotated bibliography

A Guide to the Project Management Body of Knowledge (PMBOK ® Guide) – 7th Edition and The Standard for Project Management, Project Management Institute, Inc., 14 Campus Boulevard, Newtown Square, Pennsylvania 19073-3299 USA, 2021 ISBN: 978-1-62825-664-2

  • This modern guide enables project team members to be proactive, innovative, and nimble in delivering project outcomes. Chapter 2, Project Performance Domains, explains the differences between adaptive and predictive methods and when they should be used.

Hunt, J. (2006). Agile software construction. Agile Software Construction (pp. 1–254). Springer London. https://doi.org/10.1007/1-84628-262-4

  • This book explains in a realistic way how the different methods can work together, it is a very good book to have more knowledge on the agile method and its framework.

A. Srivastava, S. Bhardwaj and S. Saraswat, "SCRUM model for agile methodology," 2017 International Conference on Computing, Communication and Automation (ICCCA), 2017, pp. 864-869, doi: 10.1109/CCAA.2017.8229928.

  • This is a good article which explains the uses of the Scrum model

Z. Bougroun, A. Zeaaraoui and T. Bouchentouf, "The projection of the specific practices of the third level of CMMI model in agile methods: Scrum, XP and Kanban," 2014 Third IEEE International Colloquium in Information Science and Technology (CIST), 2014, pp. 174-179, doi: 10.1109/CIST.2014.7016614.

  • This document gives a presentation of the CMMI model and Scrum, XP, and Kanban methods

[edit] References

  1. 1.0 1.1 1.2 1.3 SDLC - Agile Model https://www.tutorialspoint.com/sdlc/sdlc_agile_model.htm
  2. Sharma, Sheetal & Sarkar, Darothi & Gupta, Divya. (2012). Agile Processes and Methodologies: A Conceptual Study. International Journal on Computer Science and Engineering. 4. https://www.researchgate.net/publication/267706023_Agile_Processes_and_Methodologies_A_Conceptual_Study
  3. Agile Body of Knowledge https://kanbanize.com/agile
  4. 4.0 4.1 COMPARATIVE STUDY: WATERFALL V/S AGILE MODEL, A. Dubey, A. Jain, A. Mantri, Acropolis Institute of Technology and Research, Indore (M.P), India, March, 2015 http://citeseerx.ist.psu.edu/viewdoc/download;jsessionid=F2BCA87C0B147D28CC78CED89B3802CC?doi=10.1.1.695.9278&rep=rep1&type=pdf]
  5. 5.0 5.1 Manifesto for Agile Software Development, 2001 http://agilemanifesto.org
  6. Agile model software engineering https://www.javatpoint.com/software-engineering-agile-model
  7. 7.0 7.1 Introduction to agile and waterfall https://www.blueoceanworkshops.com/agile-adaptive-vs-waterfall-predictive-project-management/
  8. 8.0 8.1 8.2 Project Management Institute, Inc. (PMI). (2021). A Guide to the Project Management Body of Knowledge (PMBOK ® Guide) – 7th Edition and The Standard for Project Management. Project Management Institute, Inc. (PMI). Retrieved from https://app.knovel.com/hotlink/toc/id:kpSPMAGPMP/guide-project-management/guide-project-management
  9. 10 companies killing it at scaling agile,Christopher Null https://techbeacon.com/app-dev-testing/10-companies-killing-it-scaling-agile
  10. A. Srivastava, S. Bhardwaj and S. Saraswat, "SCRUM model for agile methodology," 2017 International Conference on Computing, Communication and Automation (ICCCA), 2017, pp. 864-869, doi: 10.1109/CCAA.2017.8229928. https://ieeexplore-ieee-org.proxy.findit.cvt.dk/document/8229928
  11. Z. Bougroun, A. Zeaaraoui and T. Bouchentouf, "The projection of the specific practices of the third level of CMMI model in agile methods: Scrum, XP and Kanban," 2014 Third IEEE International Colloquium in Information Science and Technology (CIST), 2014, pp. 174-179, doi: 10.1109/CIST.2014.7016614. https://ieeexplore-ieee-org.proxy.findit.cvt.dk/document/7016614
  12. Agile Software Construction, John Hunt ,Springer-Verlag London Limited 2006 https://link-springer-com.proxy.findit.cvt.dk/content/pdf/10.1007%2F1-84628-262-4.pdf
  13. Agile vs Waterfall SDLCs: What’s The Difference?, Muhammad Raza http://www.bmc.com/blogs/agile-vs-waterfall/
Personal tools
Namespaces

Variants
Actions
Navigation
Toolbox