Challenges and Trends of Agile

Challenges and Trends of Agile

Fayez Salma (Carl von Ossietzky Universität Oldenburg, Germany) and Jorge Marx Gómez (Carl von Ossietzky Universität Oldenburg, Germany)
DOI: 10.4018/978-1-7998-4165-4.ch010
OnDemand PDF Download:
Available
$37.50
No Current Special Offers
TOTAL SAVINGS: $37.50

Abstract

Rapidly increasing of requirements of business pushed researchers to define new approaches and methodologies to meet marketing needs. Agile methodology has been created and replaced the traditional-driven development methods that focus on soliciting, documenting a complete set of requirements, and take a long time comparing to market change. On the other hand, customers need to be closer to the development process and collaborate with team development. Despite agile advantages, introducing new tools, coordination, and collaboration concepts, some challenges still need to be discussed and improved. These challenges relate to achieve balanced IT service development process in the organization. As a result, new trends have been created to facilitate new changes in software development. This chapter will study agile methodologies and different challenges with suggested solutions generated from agile philosophy itself.
Chapter Preview
Top

Introduction

The software development process was developed over several decades, offering many methodologies and aspects according to competitiveness and market, but in general, customer satisfaction and developing a product that meets the basic requirements are foundations. These requirements have direct bearing on the trend of software development methodology, as long as they require more time and various changes during the used development process, thus using more resources to finish the projects (Williams & Cockburn, 2003a). Agile has provided an appropriate solution to rapidly change of marketing and customer requirements; it is based on the iterative enhancement, each iteration represents a small scale and self-contained Software Development Life Cycle (SDLC) by itself (Al-Zewairi et al., 2017; Williams, 2010). In other hand, customers need to be closer to the development process and collaborate with team development to produce high quality software and increasing competitive advantage (Kumar & Bhatia, 2012). These kind of relation causes increasing the authority and sharing making decisions including those pertaining to business, process, and systems requirements (Williams & Cockburn, 2003a).

Agile birth was announced as kind of transformation from the old approach when this approach declared its inability to continue; The idea took shape when manifesto was written for agile software development in 2001 (Fowler & Highsmith, 2001; Lous et al., 2018), which is a list of four values and twelve principles that describe the philosophy behind the methodology (Lous et al., 2018). Meanwhile, agile methods such as Scrum, Kanban, Scrumban and Extreme Programming (XP) are widely used in development management in order to add the agility and flexibility to projects.

Despite their advantages which included a new approach, respond to changes quickly, new tools, coordination and collaboration concepts, some challenges emerged, making it necessary to address them in order to find appropriate solutions. These challenges vary according to the nature of each organization and each project.

Basically, applying the appropriate way of agile supposes good understanding the agile methodology in depth. Any lack or gap in any step of agile causes kind of poor management, which affects the product quality. In parallel, understanding project and environment can prevent and overcome challenges when there is lack of documentation and more informal communications which considered as huge amount of information (Altameem, 2015). However, challenges and difficulties relate to achieving a balanced process for developing IT services in the organization by doing many activities. Theoretically, communication is one of the most important factors in agile, thus applying balanced process needs effective communications between the team and the manager to understand the team's dynamics and efficient agile practice. Agile communication should be applied optimally between team members themselves as well in order to share knowledge, passing difficulties and improve product industry. In some cases, good communications cannot prevent failures if management approach conflict with agile methods, this matter imposes some updates on agile characteristics. But failure in team management or to achieve a high-quality product that can be due to the presence of many stakeholders and lack of corporation between them. This limitation requires some updates on agile and make kind of balancing between team development process and stakeholders’ preo-pipeline. Externally, agile has been created to react to marketing growth and development techniques changes, but these changes happened frequently so agile should keep up and naturally define new methods and tools.

Challenges always need solutions to evolve agile and its concepts, so new trends will emerge and new technologies in development will now be reflected in Agile. This chapter will highlight two main topics related to agile conceptually:

  • As long as agile is in place to contain changes in marketing and business, do they also need adjustments to adapt to changes in the structural domain?

  • How is the ability of agile to adapt the challenges?

Key Terms in this Chapter

Scrumban: A combination of the benefits of Scrum and Kanban to improve transparency in a short time to release.

Scrum: An iterative and incremental software development to handle drawbacks of traditional development methodologies. It produces many releases in short times based on customer requirements, time pressure, competition, product quality and available resources.

Agile Manifesto: An alternative to documentation-driven and heavyweight software development processes.

Software Development Methodology: A process or series of processes used in software development.

XP: An engineering methodology consisting of code-focused practices to ensure high quality of development.

Agile: A software development approach to convey rapid changes in the market and customer requirements on high-quality terms.

Kanban: A method in software development which considered as a system for visualizing work and converting it into flow to reduce waste time and maximizing customer value.

Complete Chapter List

Search this Book:
Reset