The Independent Literature Review: Agile Software Development (Research Paper Sample)
Literature Review Individual Paper
Assignment Criteria: Write a review of the literature that describes the findings of other researchers related to a specific topic in the Project Management field.
The objective of the research paper is to enable you to conduct independent academic research in an area directly related to the course subject matter. Your efforts will generate a high-quality written report summarizing the results of your research into the current scholarly and relevant trade literature related to your chosen topic.
● Topic Proposal due [0 points]: Class Week 3 -- Submit the topic proposal with the following contents to the assignment area for review by the instructor.
1. Present a tentative title for your topic.
2. Briefly describe how the topic relates to project management.
3. State a concrete, specific research question to guide your review of the literature. (State the research question in true question format, not as an intention or objective)
4. List at least one suitable reference source in APA format related to your topic.
● Deliverable: Literature Review due [100 points, 20% of course grade]: Class Week 10 -- Review the grading rubric for the assignment, then submit to the assignment area for review.
1. Title page and Abstract of the paper (Style according to the rules of the APA format.)
2. Final paper (Containing 8-12 pages, double spaced, 12 point font, one inch margins on all sides)
3. References - List of every reference source cited in the paper (and only cited sources), entered in correct APA format. At least 10 sources should be listed and cited within the report.
Literature Review: Agile Software Development
The agile methodologies are based on iterative and incremental development strategies, and goes back five decades ago when the project management researchers based the development strategies on separated design, implementation, execution and eventual testing. De Lemos et al. (2013) has carried an extensive research into agile development approaches which have bene characterized by generations upon generations of systems changes to data gathering, designing and code adaptations. There are immediate check points throughout the process of developing these systems, ensuring that the entire system is broken down into smaller units which focus on specific goals, totaling to project goals and development of prototypes (De Lemos et al., 2013; Hoda, Noble & Marshall, 2012). The evolution of the agile methodologies and concepts has created a movement in project management, architecture, soft systems design, support congruence, socio technical systems and transitional organization disciplines. The evolution has resulted in extensive application of agile concepts and methodologies creating larger rooms for autonomy, independence, adaptive understanding and decision-making discretion over the last five decades.
Sharme, Sarkar & Gupta (2012) hypothesizes that in system development process, the two main considerations ought to be emphasis on the quality and the process of development itself. Being an iterative and incremental in nature, the agile software development process helps the process to be adaptive to the needs of the customer while taking dynamic planning, time boxing scheduling and iterative development. As Rajagopalan & Mathew (2016) conceptually explains, the development process adopts the systematic development processes such as requirement gathering, adaptive design, execution and coding while at the same time delivering the partially implemented system to the customer for incremental feedback. The customer satisfaction ranks top on the list of the priorities, with emphasis on adaptive and faster systemic development.
The agile methods are used differently based on the customer needs, demands and the dynamic project goals. Hoda, Noble & Marshall (2012) postulates that some of the approaches are best suited for practices while other are purely applied in management aspects. However, in all the cases, the agile processes promises less planning and more focus on the tasks at hand by ensuring that the software development team is able to focus on the demands and needs of the customers. Being iterative in nature, the main objective of agile approaches to software development is to ensure satisfaction of the customer, as each customer requirement has numerous iterations (Rajagopalan & Mathew, 2016). Wright (2013) predicates that the agile software development processes are based on the modularity – a project is decomposed into modules, with each focusing on an independent objective, with each module being time-boxed. Modularity boosts parsimony as each of the units have its own risk mitigation strategies, and these strategies are adaptive in nature allowing for the system development process to adapt to the new risks and make adjustments to the process in real time (Sharma, Sarkar & Gupta, 2012; Rajagopalan & Mathew, 2016). Being incremental in nature, the agile methodology allows for a software project to be incremental, with each increment being independent such that all the increments are ultimately integrated into system. Wright (2013) further explains that an agile software development process also needs to collaborative in nature to foster timely communication between the different software teams and other stakeholders. By being people-oriented, the agile processes are able to prioritize the customer satisfaction, performance and productivity over processes and technology.
Agile software development comprises of many methodologies such as Crystal, Scrum, Extreme Programming (or XP), Feature-Driven Development (FDD), Dynamic Systems Development Method (DSDM), and Lean Development. From the research study by Abrahamsson et al. (2017), each methodology has unique feature and way of operation, but all of them work in tune with the core values and vision of the Agile Manifesto. All Agile development methodologies use continuous feedback and iteration to deliver and refine software systems. In addition to that, they involve continuous integration, planning, testing, and other forms of continuous development and upgrade of both the software and projects in which it is used. They are also lighter than the traditional processes that use waterfall development, and inherently adaptable to the project at hand. It is also worth noting that all agile methods lay emphasis on empowering people (technologists and users) to collaborate, join forces and arrive at decisions effectively and quickly ( Kruchten, 2013; Stoica, Mircea & Ghilic-Micu (2013).
. According to Al-Zewairi et al. (2017), Extreme Programming (XP) is considered the most well-documented and popular agile method. They argue that the XP method was first proposed as the last attempt at rescuing a project that had already failed. Al-Zewwairi et al. (2017) further explains that the XP method uses simplicity to drive the software development processes including the communications held with customers. It gives the first priority to the business results, and adopts the incremental “get-it-started” strategy in creating a product using regular tests and revisions. The following are some of the advantages of XP methodology according to the literature by Al-Zewwairi et al. (2017):
* One of the benefits of using the XP method is that it helps software developers cut out unproductive activities which allow them to save on costs and time. It also guides developers through the coding process.
* Using the XP method is also advantageous because it cuts out the risks associated with project failures and programming. It primarily ensures that customers get exactly what they order.
* Simplicity is another benefit of using the XP method. Software designers who use this method make simple codes that are fixable any time.
* Projects designed using the XP method are visible and easily accountable, allowing software developers to get committed to their projects and demonstrate the entire process.
* Given its simplicity, the XP method also helps developers create working software faster. The speed resonates with the fact that regular testing at the start of the development stage helps the detection of all hitches in the software.
Al-Zewwairi et al. (2017) adds that XP comes with some advantages:
* Some studies have revealed that the XP method lays much emphas...
- How Technology Help Us to Improve Childrens Access to High Quality LiteratureDescription: This is a paper about how technology help us to improve children’s access to high quality literature...1 page/≈275 words| APA | Technology | Research Paper |
- Wireless Topology Assignment: Point To Point TopologyDescription: The most basic type of network topology is the point to point topology which primarily links two nodes directly together...6 pages/≈1650 words| 5 Sources | APA | Technology | Research Paper |
- Business Architecture for Adopt a FarmDescription: In order to that the business programs run smoothly, it is important for the farm to work on different architectural programs that will be of higher quality...4 pages/≈1100 words| APA | Technology | Research Paper |