Home > Computer science essays > Agile implementation with challenges and solutions

Essay: Agile implementation with challenges and solutions

Essay details and download:

Text preview of this essay:

This page of the essay has 1,455 words. Download the full version above.

Abstract

Software engineering is one of the most spontaneous industry which requires swiftness in response and flexibility at every phase of development. Agile methodologies provide cutting-edge products and ingenious experiences, while keeping the product in coordination with the industry approaches and customer’s unpredictable requirements.

Agile makes working processes facile giving efficient outputs. This research paper talks about how agile can be implemented in a better way and the challenges faced by team members in the implementation process. Also, stating how these challenges can be resolved.

KEYWORDS

Agile, development, methodologies, implementation, challenges.

1 INTRODUCTION

Agile is an incremental and iterative software development methodology which breaks down the project into smaller deliverable modules considering customer inputs in every iteration. The backbone of Agile model, in which the developer and the client has a continuous and lucid communication during the development process, reflects an intense change in both the culture and an organization’s ability to get an effective and efficient software in a limited time span.

Agile focusses on collaboration and provides flexibility to change everything anytime. Although communication among the key players of agile team can hinder the project but if taken care of, it can create history as healthy conversation is a passport to success. Now, we will be studying about the agile implementation techniques and in the later stage, continuing with the challenges faced during its implementation, strategies to deal with those challenges.

2 OVERVIEW AND IMPLEMENTATION

Agile implementation in the field of software development means managing a project involving works divided in small increments. With the help of agile Plan, flexibility can be provided for changes made to the product as it continues to be developed. For implementing any type of project, there is a requirement for an agile Team which should consist of at least four roles – developers, product manager, product facilitator (Scrum Master) and stakeholders.

Along with the importance of team members it is essential to know about the 4 core values involved in an agile development process. They are:

  • Individuals and interactions over processes and tools
  • Working software over comprehensive documentation
  • Customer collaboration over contract negotiation
  • Responding to change over following a plan

The above values should be kept in mind while implementing agile software development process. Implementation task can be performed using various agile methodologies such as Scrum, Crystal, Dynamic software development method, Feature driven development, Lean software development and Extreme Programming. A glimpse of the phases involved in agile development lifecycle is shown in the below figure.

Figure: Implementation phases of Agile software development lifecycle (referencing Scrum model).

2.1 Product Backlog

A necessary phase in Agile development where larger items are decomposed into smaller blocks and can be completed in future iterations.

2.2 Sprint Backlog

All the tasks in a priority manner along with their requirements which are to be considered in Sprint phase are included in sprint backlog. It also consists of a burndown chart showing the statistics of work completed by the development team.

2.3 Sprint

It is a crucial phase in agile implementation which in a layman’s language can be defined as fixed time duration in which an explicit task has to be done and put in the ready queue for review. There are 4 sub-stages in sprint phrase which can be described as follows:

2.3.1 Planning. It is the starting stage for each sprint which involves tasks estimation (create user stories, approve, estimate).

2.3.2 Design. A stage in which the development team and the product owner agree upon a common task to be accomplished during the sprint. It is followed by execution of tasks and creating deliverables.

2.3.3 Development testing. It is the review and retrospect stage which is concerned with the work done till that time and enhancing methods to improve the quality of work.

2.3.4 Review. Sprint phase is completed with its last stage review which emphasize on shipping the accepted deliverables to the clients and documenting, identifying the chapters learned during the project.

2.4 Final Product

After undergoing through different implementation phases, the end product is achieved.

3 CHALLENGES ALONG WITH THEIR SOLUTIONS

Besides agile great acceptance in the market, it comes up with few challenges which needs to be addressed and could be solved in the following manner –

3.1 Persuade management at various levels for the need for a novel development approach

In this fast world, it is essential to maintain pace in terms of latest technologies. To keep it up to date and spread it like a virus, people need to understand its value. In order to develop software in a better way, we need to educate the management and convince them to adopt agile methods.

The agile approach assures a faster delivery in comparison to other approaches and take care of the planning involved while working on a certain project.

3.2 Unmatched frequency of team members amongst themselves and with customer

Communication gap is the biggest reason behind this problem. Agile frameworks require a cohesive team work. Members should increase their interaction level and try to resolve this issue.

Also, team should directly contact with the customer to avoid any misunderstanding in knowing the requirements of the client.

3.3 Agile facing difficulties to be in the limelight

In order to achieve success in getting agile on air, there are certain impediments which needs to be handled. This might get affected with the actions of the Senior management.

Agile methods must be portrayed in a positive light to ease the decision of management for adopting it.

3.4 Effortless merging of 2 approaches in comparison of using a single approach for a task

The right methodology should be chosen in solitary for a project, be it RUP, Agile or any traditional methodologies. Usually, management, just for the sake of reducing the efforts of re-educating their business partners about the new technology, combine the best elements of RUP and Agile to give familiar reports unknowingly about the outcome which eliminates the advantages of both the techniques.

Most commonly, RUP processes are combined with XP engineering practices. Providing knowledge to business partners and senior management might help in getting better outputs.

3.5 Ineffective Scrum Master and unreliable development process

The Scrum Master plays a significant role in retaining communication among agile team members. Team feels secure under the protection of Scrum Master. It is important to have an effective master to address the problems to their management and modify them accordingly.

A developer usually cannot build a code at once, enhancements are needed before it could be passed on to the testing team. So, there is a need for a reliable and an automatic build system which could help the developer save effort and time.

3.6 QA Issues left unaddressed

Before Agile came into picture, developers use traditional development methods so had a habit of performing testing at the last stage. This is the reason behind the ignorance of code quality and defects while using agile as the developers have same mindset. Leaving testing for the end cycle in agile might create a big issue for the agile team. By the time they reach on the verge of completing it, an unforeseen error might pop up which could ruin the project. Every project should aim at providing high-quality code which can be achieved by implementing (XP) Extreme Programming engineering practices like Continuous Integration, Test Driven Development, Pair Programming and Refactoring.

3 CONCLUSIONS

According to the Portland business journal, around (65-80) % software projects fail to be delivered on time or not meeting the complete expectation of the customer, so the point is that even after having such a good methodology for software development we are still lagging behind and it is because of not having a proper knowledge of implementing the process or ignoring the challenges. This research paper covers both the issues with a resolution.

First, it emphasizes on describing implementation methods in an easy manner in order to improve the understanding of these processes which will ultimately reduce project failures which occurs due to partial or no knowledge of implementation.

Second, solutions for various challenges are described which will help the team to anticipate challenges and tackle them proactively.

Further research on this topic might include several ways of eliminating challenges arising in the agile development process instead of handling them.

References

[1] Miller, G. J. (2013). Agile problems, challenges, & failures. Paper presented at PMI® Global Congress 2013—North America, New Orleans, LA. Newtown   Square, PA: Project Management Institute.

[2] https://www.scrumstudy.com/whyscrum/scrum-phases-and-processes

[3] Jagina Mclntyre, http://study.com/academy/lesson/agile-implementation-methodology-strategy.html

[4] http://s3.amazonaws.com/public.kanemar.com/13OrganizationChallengesofAgile.pdf

[5] https://www.altexsoft.com/wp-content/uploads/2016/04/Agile-Project-Management.-Best-Practices-and-Methodologies-AltexSoft-Whitepaper.pdf

[6] http://searchsoftwarequality.techtarget.com/definition/agile-software-development

[7] https://www.cleveroad.com/blog/what-is-agile-methodology–the-easiest-explanation-with-real-life-solutions

[8] https://www.snyxius.com/blog/implement-agile-development-process-easy-steps/#.Wa4ijMaZP-a

[9] https://www.tutorialspoint.com/agile/agile_product_backlog.htm

[10] http://www.dummies.com/careers/project-management/what-is-an-agile-sprint-backlog/

[11] https://faethcoaching.com/it-project-failure-rates-facts-and-reasons/

...(download the rest of the essay above)

About this essay:

If you use part of this page in your own work, you need to provide a citation, as follows:

Essay Sauce, Agile implementation with challenges and solutions. Available from:<https://www.essaysauce.com/computer-science-essays/2017-9-5-1504589480/> [Accessed 02-12-22].

These Computer science essays have been submitted to us by students in order to help you with your studies.

* This essay may have been previously published on Essay.uk.com at an earlier date.