Use Of Agile Methodology

pages Pages: 4word Words: 890

Question :

Assignment – Report Guidelines

Research papers must be typed, or word processed, and referenced as per VIT guidelines. A variety of references from textbooks, journal articles and the internet would be well regarded.

There should be headings, an introduction (not more than 10% of the total) and a conclusion (not more than 10% of the total).

Assessment Criteria

  1. Research Assignment/Research Report : 1500 – 1800 words (penalties may be applied for word counts +/- 10%)
  2. To be submitted on or before the due date on MOODLE. Penalty for late submission is 10% of the paper’s worth deducted for each day late.

Marking Criteria (from 40%)

3% (front page, illustrations, colour, headings)

4% (should explain the rationale and give an overview)

20% (quality, relevance and conciseness of discussion/facts)

10% (what I have learnt and its relevance to my profession)

3% (quality/variety/relevance/topical)

Referencing Guide

A guide to referencing sources used in assignments

  • All sources used in assignments, essays, reports and theses must be acknowledged in the text of your document giving the author’s name followed by the publication date (these are called ‘in-text citations’)
  • A ‘bibliography’ or ‘reference list’ at the end of your document contains the full details of all the in-text citations, arranged alphabetically
  • Referencing is necessary to avoid plagiarism, to verify quotations, and to enable readers to identify and consult any item to follow-up a cited author’s arguments

Referring a Book

The details required, in order, are:

  • name(s) of author(s), editor(s), compiler(s) or the institution responsible 
  • year of publication 
  • title of publication and subtitle if any (all titles must be underlined or italicised with 
  • sentence style capitalisation as below)
  • series title and individual volume, if any 
  • edition, if other than the first 
  • publisher 
  • place of publication 
  • page number(s) if applicable 


Referring an Article

The details required, in order are:

  • name(s) of author(s) of the article 
  • year of publication 
  • title of article, in single quotation marks and sentence style capitalisation as below 
  • title of periodical (underlined or italicised with headline style capitalisation as below) 
  • volume number 
  • issue (or part) number 
  • page number(s) 

Referring Electronic Sources

This could include sources from full text compact disk products, electronic journals or other sources from the Internet.

The basic form of the citations follow the principles listed for print sources:

  • name(s) of author(s) or the organization responsible for document, web page or site 
  • year of publication of document, creation of page/site or date last revised 
  • Note: if you cannot establish the date of publication, use n.d. (no date) 
  • title of document or page, if applicable 
  • edition, if other than first 
  • type of medium, if necessary 
  • name and place of the publisher, sponsor or host of the source 
  • date item viewed 
  • web page or site address, or name of database on internet (if applicable) 

Bibliography

Entries in a bibliography or list of references should be arranged alphabetically by the first element of the citation.

Show More

Answer :

 Agile Methodology

Introduction

The process of software development historically has been an extremely slow and tedious process. So, by the time software was actually developed the project requirement has already changed leading to wastage of time and resources. Hence researchers decided to develop software that could be developed in lesser time with minimum documentation (Kerzner, H. and Kerzner, H.R, 2017). This gave birth to Agile Methodology which is basically a set of principles that focuses on flexible, adaptable and communicative software which would be helpful in dealing with complex projects. Faster development of software’s improved the customer service of the companies and a continuous feedback model initiated by this 

Agile Methodology: An overview 

The importance of agile methodology was felt in the 90s when the software industry realized that the gap between customer demands and deliverables was around three years leading to slowdown in project development. Agile methodology came into being on 2001 formed by 13 individuals from different functional areas in Utah, leading to a historic development (Serrador and Pinto, 2015). The agile manifesto focused on four core principles which include individuals over process, working software’s over documentation, customer collaboration over contract negotiation and flexibility to change a plan quickly. 

The process focused on a continuous iteration of testing and development throughout the product lifecycle. Minimum planning is done and the development process is continuously checked at every single phase, helping it to be executed with 2-4 weeks (Spundak, 2014). Broadly, this is the most customers driven software leading to better interaction between enterprises and clients that improves the quality of products and services delivered. 

Agile Project Management 

The project management system in agile methodology focuses on some basic principles. This includes product vision statement which summarizes the prime objectives of a product. This is followed by product roadmap that addresses the requirements needed to achieve the vision (Hoda and Murugesan, 2016). This is followed by product backlog, which analyzes the list of things which is needed to be done in order to complete the project. Based on the above criteria, a release plan is scheduled which is a timeline for the product lifecycle. Sprint backlog is also prepared which sets the goals and tasks leading to comprehensive product specifications. Finally the process is completed with increment where the stakeholders given a chance to observe the development of the software that would be market ready (Vijayasarathy and Butler, 2016). Overall, the methodology concentrates on collaboration, flexibility a constant development process and high quality outcomes making it the most acceptable methodology in the software sector. 

Types of Agile Methodology

There are several agile methodologies which have been used in developing upgraded software interface. The four most heavily used methods by companies worldwide have been discussed below.

Scrum

Scrum is an agile methodology which focuses on the ways through which tasks can be managed within a team based work environment. Small teams comprising of 7 to 9 members are formed and has 3 different kinds of roles described below (Galvan et al. 2015). 

Scrum master

The master is responsible for setting the team and conduct meetings for addressing the issues related to the task.

Product owner

The product owner establishes the product backlog, focusing on the backlog and is accountable for the execution of the task and assesses the functionality after iteration. 

Scrum team

The team manages their own work and helps in organizing the work which is to be completed in the sprint or cycle. 


Scrum Team


(Source: Agilemethodology.org, 2018)


Kanban

The Kanban process is used for continuous delivery of services and every team member is made aware of the task that needs to be performed through visualization. In this method items are added in the software development process only if there is available capacity. There are no pre-defined roles in Kanban and unlike Scrum, there is no product prioritization as it is totally optional (Acosta, Espinosa, J.E and Espinosa, J., 2018). Also as it is not time-based the developer has the freedom to add items in the list. Kanban proposes fewer meetings and planning similar to scrum, hence the developers and testers maintain the same pace of work to avoid bottlenecks in the process. 

Lean Software Development

Lean software development is based on the idea of “Just in time” production which focuses on software development on a much faster rate. Cost optimization is another objective of this method along with waste reduction. The process through which this method is implemented includes segmenting the process with value-adding activities, non-value adding and essential non-value adding activities (Mollahoseini-Ardakani, Hashemi and Razzazi, 2018). The first category of non-value activities are wastage of resources and are eliminated from the process. The main objective of this process is to provide quicker delivery of services and optimization of available resources in developing sustainable and innovative project management guidelines. 

Lean Thinking


(Source: Softwaretestinghelp.com, 2018)

As understandable from the diagram the leaner approach is focused on developing software’s based on customer feedback which helps in addressing real life problems. Faster delivery and late commitment helps the software to remain open-ended so that further modifications can be done if necessary in future. Leaner process always believes in building an empowered team who are given the task of visualizing the whole decision making process and the sense of ownership improves the decisions favoring the company in the longer term (Tabassum et al. 2017).


Extreme Programming (XP)

This method is important when the changing requirements of customers are very frequent. Extreme programming mainly looks at short development cycles to assess the reaction of the clients. Checkpoints are introduced in the system so that sudden change in the requirements can be easily fitted in the existing software without glitches or time wastage. The requirements of the clients are gathered in the form of stories through interactions and private meetings. Then the stories are put in the parking lot. Software’s are developed and produced within 14 days period (Ghobadi and Mathiassen, 2016). Every single iteration phase includes coding, unit and system testing so that functional areas can be included in the application if requirement arises during the process. The six phases of extreme programming are discussed below.

Planning

It involves infrastructure requirements and identification of stakeholders for the project

Analysis

In this phase the stories are put in the parking lot where prioritization is done. This is followed by scrubbing and defining the iteration along with resource planning and managing the quality assessment teams (Larusdottir, Gulliksen and Cajander, 2017).

Design

Focuses on segmenting tasks, preparation of test scenario and regression framework

Execution

This is the most important phase comprising of coding followed by unit testing. Based on the results test scenarios are executed along with report creation of fault lines. 

Wrapping

In this phase, demos and reviews are analyzed along with regression testing of small releases. The process improvements are described in detail for further improvement (Lindsjørn et al. 2016.).

Closure

The final stage starts with pilot launch of the software, followed by training and then production launch. The results are analyzed and based on the support system the whole strategy is analyzed in great details.

Agile method; Best practices 

Customer collaboration

Collaborating with customers is one of the major agile manifestos. Through constant communication and a two way interactive medium the stakeholders can be kept in the lopp regarding the progress of the product.

Stories

The sole purpose of creating a user story is to analyze software from the end-user perspective. Moreover it creates a simplified version of the document and uses visualization tools for recreating the product in the minds of the customers and project managers (Mergel, 2016).

Integration 

Continuous iteration process helps in improving the integration that nukes the code updated and the system is rebuild a number of times in the course of the job. Continuous integration (CI) basically helps programmers enable a product delivery at any point of time.

Automated tests

Performing automated tests helps the development team to keep abreast of the code changes that need to be implemented and assess whether the work is going as per the plan. Regression tests are done before the beginning of work (Campanelli and Parreiras, 2015).

Pair programming

This process helps in enhancing designs, fewer bugs and knowledge sharing within the development team. Pair programming in fact involves a single programmer “driving” (keyboard operations), while another person “navigates” (watch/learn/feedback). Interchangeability of roles is allowed here (Galvan et al. 2015).

Test-driven developments

Test driven developments helps in building simple designs for improving product quality. Short term development cycles are a norm in this process as requirements are converted to test cases, based on the outcome further improvement is added to on to the new tests. 

Burndown charts

This is a graphical representation of the task that is left to be done and compared with the time within which it needs to be completed. Generally a detailed Burndown chart includes the volume of user stories per unit of time (Serrador and Pinto, 2015).

Challenges in Agile methodology 

As the usage of agile methodology is growing so are the challenges of dealing with its shortcomings. The biggest problem in this format is that frequent build up of codes often lead to breaking the code leading to massive restructuring exercise. Many developers do not possess the skill of API testing in case of service oriented architecture leading to bugs within the system (Larusdottir, Gulliksen and Cajander, 2017). Also increasing complexities of software’s is a major concern as developers often tend to ignore the impact of end-user performance which increases the gap between requirement and product specifications. 

Conclusion 

The increasing use of agile methodology has helped companies to become more customer centric. Also interactive system of product development and improvisation has helped in addressing concerns quickly leading to better service delivery results. Reduced documentation, iterative procedure and instant rectification of errors have made agile methodology acceptable on a global scale leading to an improved software services with greater customer satisfaction and benefits.