0% found this document useful (0 votes)
18 views13 pages

Agile Large-Scale Software Dev

This article discusses the challenges and solutions associated with Agile large-scale software development. It emphasizes the importance of effective communication, knowledge sharing, and training to overcome obstacles in global projects. The study provides recommendations for project managers to enhance success factors and address challenges in Agile methodologies.

Uploaded by

Lucrecia Herrera
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
18 views13 pages

Agile Large-Scale Software Dev

This article discusses the challenges and solutions associated with Agile large-scale software development. It emphasizes the importance of effective communication, knowledge sharing, and training to overcome obstacles in global projects. The study provides recommendations for project managers to enhance success factors and address challenges in Agile methodologies.

Uploaded by

Lucrecia Herrera
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 13

ARTICLE

AGILE LARGE-SCALE SOFTWARE DEVELOPMENT: SUCCESS


FACTORS, CHALLENGES AND SOLUTIONS
By
AMRO MOHAMMAD HANI AL-SAID AHMAD
Department of Computer Science, Amman, Jordan.

ABSTRACT
Many challenges and obstacles have been arising when Agile methods are being used in large-scale projects. But as
software engineers, we always try to find ways to overcome the problems and challenges. As Agile has been presented
as a very good method that deals with change (that considers a big and serious challenge in traditional SE
methodologies) it must not be ignored by project managers and team leaders in large-scale projects. This study presents
a number of recommendations and solution that highlights on using modern communications technologies and social
media websites in the process of maintaining the element of permanent connection between the team members, and
it helps sharing the domain knowledge between team members to deal with social skills, Agile training, documentation,
decision making, and testing. The study has been divided into three main subjects: first is how to gain success in large-
scale projects and how to gain success attributes upon using Agile method, the second is the challenges faced upon
using Agile in the global distributed environment project, the third is to suggest a recommendation to overcome each
challenge that certainly will help the project manager to deal if any challenge occurs.
Keywords: Agile adoption, Large-Scale Success Factor, Agile Large-Scale Software Development, Agile Challenges.

INTRODUCTION to evolve quickly and become obsolete even if the


Software development is a complex process that can be project not complete yet” [Cao & Ramesh, 2008].
achieved in different ways with different results. In a Agile thinking is a seeking to simplify objects and things by
perfect way, to be a successful software developer, decreasing complexity of planning, when focused in the
building a quality project in an identified time frame, customer needs and requirements, and shaping a rich
budget and required functionality must be achieved. So environment of sharing and collaboration. There are a
there are many different engineering approaches for large number of methods, techniques, and practices that
different situations. Some methods stand and get more stand under “Agile methods”.
popular in time; that is known as an Agile Software Agile methods look up to deal with the challenges and
Development. Those methods are showing benefits to obstacles in, such as dynamic contexts that have
small and medium scale software systems and they obtained much interest among researchers. Agile
shouldn't be ignored by global and large companies methods blend technical and human behavioral
developing large-scale systems. together; that makes Agile methods as an excellent way
Since the emergence of Agile software development in to deliver software faster and with higher quality when
the late 1990's, it has changed the landscape of software teams understand the unique challenges they face.
development; Agile software developments deal with the When large organizations start to use Agility for their
rapidly changing business environment, that's considered global/large-scale software projects, they start to
as a challenge in the traditional software engineering understand more and more about the large-scale Agile
approaches. “Software development organizations often software development, so the organizations have been
must deal with requirements, business domain that tends reported that there are challenges and obstacles in using

i-manager’s Journal on Software Engineering, Vol. 8 l


No. 3 l
January - March 2014 1
ARTICLE

Agile software development in large-scale projects. factors and attributes.


The ability of scaling Agile software development for large 1.1 Reduce Ambiguity
organizations has always had skeptics. As Agile has Large-scale and global projects do not have the same
become the Mainstream, many enterprises are initializing “luxury” as the small project, so ambiguity drives into
their own Agile adoption approach that has been fit into assumptions, and these assumptions are not being easily
their needs [Tenhunen, 2010]. Nevertheless, obstacles visible and so that leads to conflicting assumptions that
and challenges are still faced. Those challenges are do not exist any time before as a problem. So that
caused by a number of reasons and so, the researchers p r o b l e m l e a d s t o p r e p l a n n i n g, r e d e s i g n i n g,
have divided those challenges in two types; the first type reconstruction, and rework. So this set a difficulty to
of challenges come from people, such as: lack of implement in a distributed and global environment.
knowledge in development team, lack of self- Nevertheless, ambiguities can lead to confusion in the
management, communications between the team itself organizational processes, or with management
and the customer, team coordination and creation, practices, requirement, or / and the design. So, if this is
project management, planning, documentation, fear to merged with lack of knowledge and experience in the
take a decision, lack of social skill, don't understand the development teams, the situation gets even more and
principle of Agile methods, cultural and policy, quality more complex. What seems to be an obvious expression
procedures and standards in large organizations that to team with certain backgrounds, culture, and domain
have been used and followed for a long time, and other knowledge may not be well obvious to another. So that
reasons that are caused by people [William, 1999]. required techniques for verifying the aspects of the
The second type of challenges come from Agile projects are understood. Thus, the team should balance
processes itself, such as: requirements change or technology aspects and domain knowledge [Sangwan
prioritizing requirements changes, testing. et al., 2007], [Kan, 2003].
Besides that, this study will consider another perspective 1.2 Maximize Stability
that, there are challenges that come from environmental Instability of any project will have leverage on many
change, business change, the variability of change that aspects. As we know, Agile processes are responding for
affects on the project, that allows a challenge to occur at unclear and unstable requirements, in other words,
any time, and this leads to the risk of exposing the project. “Dynamic” requirements. So, Agility attempts to produce
Hence this study has set several propositions to try to an environment that improves the size of ad hoc and
dispose off the challenges faced by the Agile large-scale unofficial communication, working in a collected space,
projects, by putting a number of recommendations or co-located customer and team, short iterations, daily
ways to avoid and refute those challenges. So this study meetings…..etc. But in distributed and global projects
has been divided into the main subject, the success where this communication is complicated, stability is a
factors and attributes to gain well-adoption of Agile large- key factor. So the change request of any project,
scale software development, the second subject which especially large one is a big risk. Large projects needed
deals and understands the challenges and offers some 2.4 times longer to resolve in the global/large-scale
recommendations that the project manager can benefit environment compared to co-located project [Herbsleb
from and applied to avoid these challenges [Drury, 2012]. & Mockus, 2003]. So, in Agile, we need for excellent
1. Success Factors and Attributes to Agile Large-scale requirement engineering and architecture. This implies
Software Development that there are more prototyping, designing, frameworks
and, development environment customized, and other
To gain success for large-scale development, the project
ways to increase the stability of the aspects of the projects
manager must understand and deal with the success

2 i-manager’s Journal on Software Engineering, Vol. 8 l


No. 3 l
January - March 2014
ARTICLE

[Paulish, 2002]. As the Agile value focuses on customer satisfaction and


1.3 Understand Dependencies presence, the Agile project manger must focus on
customer/stockholder value and needs. So the presence
This meas the understanding of the interrelated nature of
of the customer is really necessary to complete an Agile
the tasks, coordination, volume, and the frequency
project.
needed among the global/large-scale projects. This
process is critical for the execution and planning of the 1.7 The Success Attributes
projects. So there is a relationship between subsystems of In the overall perceived level of success, Agile must
the projects called “dependency”, so the coordinator of achieve in the project.
the project must deal, understand, identify and learn ·Quality: Delivering good product.
about these dependencies, so that he/she/they can
·Scope: Meeting all the requirements and objectives.
maintain these relationships [Sangwan et al., 2007].
·Cost: Delivering within the estimated cost and effort.
1.4 Facilitate Corresponding Coordination
·Time: Delivering within estimated time.
The understanding of interrelated kind of the tasks is to
2. Agile Large-Scale Development Challenges and
facilitate coordination. So coordination leads the team to
Solutions
be able to do what is proportional to the needs.
2.1 Challenges Coming from the People Side
Furthermore, there are many methods that allow teams to
coordinate through communication, management 2.1.1 Knowledge Sharing-The Challenges
practice, processes, and product line architecture Lack of business knowledge among developers, so they
[Sangwan et al., 2007]. In global/large projects, the can't share any information about the project, and it's
coordinator must be able to find ways to maintain become more difficult to learn and share information
Coordination, for example, in large projects, organization about a large project. Specially, the first sprint will be
wants to achieve cost minimization (reduce) by moving delivered in 2-4 weeks, so the team doesn't have the time
some of the development to low cost locations, but to learn about the project domain [Conboy & Coyle,
maintain the quality of the product. 2011]. Figure 1 shows the Perceived success of the Agile
1.5 Balance Flexibility and Rigidity Method Project.

Large-scale and global projects must be more flexible Solutions


and rigid than co-located (small-scale) projects. The ·Training sessions on the basics in the business
overall development process must be flexible to fit the knowledge and the customer company specific
differences between the teams (their knowledge levels, areas run by the customer.
skills, cultures, and practices). But it must be rigid enough ·Provide a small training module that makes it
to guarantee that the practical aspects of the projects interactive to allow developers gain position in the
are well-defined and followed as normal, such as project business knowledge.
instructions must be comprehended, architectures must ·Training sessions in IT and business knowledge.
comply with, requirements and needs must be achieved,
2.1.2 Lack of social skills-The Challenges
configuration management processes must be defined,
Agile practices such as co-located, on-site customer
integrations and test procedures are appropriate…. etc.
meetings, and pair programming all are needed for
So this necessary to observe processes and the whole
social, communication and presentation skills. So, it will be
progress, and ensure deadlines and quality [Sangwan et
a challenge for some personnel who are technically very
al., 2007].
talented, but inherently weak in terms of communications
1.6 Keep stakeholders engaged throughout the life-
and personal skills [Conboy & Coyle, 2011]. So this
cycle

i-manager’s Journal on Software Engineering, Vol. 8 l


No. 3 l
January - March 2014 3
ARTICLE

Figure 1. Perceived success of the Agile Method Project

challenge can distend and add more challenges for the “Jack of all trades, master of none” and not doing his/her
projects such as; bad customer relationship, bad team job as “master of all trades” [Conboy & Coyle, 2011].
members relationships. This will ultimately affect the Solutions
project construction and delivery.
·Facilitating learning and distributing knowledge using
Solutions pair programming and pair rotation.
·Merge development and practical training programs ·Allow the team member to work in different processes
to provide customized training materials on social (Requirement, design, coding...etc.) and learn new
skills and knowledge domain, and using developers' skills and encourage self-assignment tasks.
own examples.
·Reintroduce specific roles when it is perceived useful
·Using appropriate documentation to support to team e.g. large team size, conflicts between
communication and details. developers [Conboy & Coyle, 2011].
2.1.3 Lack of team Work-The Challenges ·Will-Defining Task: This will increase the sensibility of
Sometimes, team members can't do their job very well, each person to know what others should work on.
and its go back for three possible reasons; first, the team is [Sangwan et al, 2007]. That is a significant aspect with
not a good Agile team (that included team master, collaborations within the long distances, and tries to
coder, tester, architect, customer, QA expert ... etc.) and reduce the misunderstanding and the conflicts
so the team will not have a good team work or not between the team(s) members.
complete the work as required (it cannot be integrated). ·Exclusive Areas of Responsibility: It a technique to
The second reason could back for bad choice or lack of allocate (e.g. a set of files or modules). Through the
the team members. The third reason is the master being a new development, that is possible by having a

4 i-manager’s Journal on Software Engineering, Vol. 8 l


No. 3 l
January - March 2014
ARTICLE

suitable product structure and to split the responsibility Solutions


between team members, So that's important in large- ·Improves large-scale development team
scale projects to achieve well-defined and clear tasks, collaboration process while using Agile method by
well-defined interfaces, increase the awareness, look to maintaining valuable documentation [Holmstrom &
enlarge connection between developer in different Fitzgerald, 2006].
locations, give a clear view on daily work and progress
·Reducing the misunderstandings and improves the
rather than meeting [Sangwan et al., 2007].
team collaboration through providing users stories
2.1.4 Lack of understanding and learn values and and scenarios combined with use cases diagram in a
principle of Agile methods, lack of motivation to use Agile globally accessible backlog [Hossain & Babar, 2009].
methods, not just learning and understanding the
·Helps to maintain documentation and transparency
practices of Agile methods
by using a number of tools or tracker (e.g. Jira), and
Solutions project management tools (e.g. Scrum works)
·Ensure team members get proper Agile training. [Hossain & Babar, 2009].
·Agile training and support. 2.1.6 Wrong Selection of an Appropriate Agile Method-
·Guarantee team observation and validation of Agile The Challenge
practices. This is one of the biggest challenges faced by the project
·Estimate agility in terms of Agile values not by manager of Agile team [Nerur & Mahapatra, 2005]. The
committing practices. plurality of the Agile methods make this step very risky for
the whole project, that the project manager does not
·Gathering and sharing successful Agile adoption
select the appropriate method.
cases.
Solutions
·Hire the right developers and diversiformed
members. ·The previous study is a successful case study that has
similarity to your project.
·Use recruiting team to find the right person working in
the team. ·Project managers must place all of the appropriate
Agile methods and study them and make a
·Put the newest employee in Agile projects to get
comparison between those methods and display the
experience.
positive and negative aspects of each method, in
2.1.5 Documentation-The Challenge
order to study the correct way that gets along with the
Most Large organizations favor Plan-driven approach
project aspects.
where detailed sent and written is to be constructed. But in
2.1.7 Distribution of Work-The Challenges
Agile, the teams tend to reduce documentation from the
It's a major challenge in large-scale development, that
observation that a large part of effort is wasted in the
the distribution of the task(s) should not be considered
documentation process. So, when teams are distributed,
depending on the location. This will lead to architecture
there is a big chance to miss out some details about the
that depends on the team's geographical distribution.
project, and this leads to suffering a gap in the
Different distributed locations will become over
documentation that will make some misunderstanding of
specialized in a specific component [Shrivastava & Date,
the project [Shrivastava & Date, 2010]. Also, the Agile
2010]. So it will lead to difficulty in completing the user
teams consider the documentation as a heavy mind-set
scenarios within a sprint as separated parts, so the team
process that is worth to focus on. That's why they focus on
will have to complete specific parts of the work on the
the code and considered documentation is a
critical path to complete those scenarios.
“document as needed”.

i-manager’s Journal on Software Engineering, Vol. 8 l


No. 3 l
January - March 2014 5
ARTICLE

Solutions and learning based on the available resourses and


·Team members should focus about completing the evidences, by communicating with all involving team
user scenarios, not adding features to the system members and customer (all stockholders involved).
components. ·Use voting system in the decision that the team must
·Project manager or team leader should distribute make.
tasks that are related to a single scenario through the ·Facilitator is the role that the project manager must
entire team(s), and think in terms of user scenarios but play.
not the system components [Shrivastava & Date, 2.1.9 Risk Controls (Managements)-The Challenge
2010].
Agile development is a process of a short sprint cycle and
·Avert breaking user scenarios into task(s) and then provides a continual flow of code to the customer.
assigning tasks depending on the geographical Traditional risk management is a slow and inclusive
and/or skill-set. process. But, Agile is meant to simplify and deal with the
2.1.8 Decision Making-The Challenges project in a flexible way. So it is the biggest challenge
Agile Software Development team in large organizations when conducting risk management in an Agile project
attempts to deliver a quality-working software in short environment [Ylimannela, 2010]:
sprints, short term decisions. Also Agile requires the team ·Not enough time: Maybe it's hard to find time and
to adopt a cooperative and speedy decision making people to conduct risk management each sprint,
process [Moe & Aurum, 2012]. So there are a number of since Agile tries to create working increment for each
challenges in decision making in scaling Agile in the large sprint.
development system [Dury & Conboy, 2012]: ·Communication is a risk.
·Agile team members are not committed to follow or ·Acceptance of remaining risks: Who has the capacity
make a decision, and are dependent on the Scrum to accept the remaining risk at different abstraction
Master or others for decisions. levels?
·Agile teams deal with opposite priorities for decisions. ·There is no clear risk owner (Who causes the risk(s)).
·Decisions are based on unstable staff availability On the other Hand, there are many types of risk that could
during an Agile sprint. threaten the project in its lifetime. These risks could be
·Agile team members are not complying with social, environmental, legal standpoint, economic,
decisions. political, Technology risks. Then, in large-scale projects,
·In spite of the Agile software development team(s) the probability of risk occurrence will be increased with the
autonomy team is not taking ownership of the length of the project.
decisions. Solutions
Solutions Evaluating risk process is the best approach to determine
Agile development requires alignment of decisions on how much agility is needed, for each project decision;
the operational, strategic, and tactical levels in order to consider the risk against little agility and the parallel risks of
overcome these previous challenges. Also Agile requires doing more planning and architecting [Boehm & Turner,
a transmission of specialized skills to the redundancy of 2005].
functions and from logical to realistic decision making. So So managing risks in large-scale projects contain three
the company must consider these recommendations in operations; risk identification, mitigating risks, and
the field of decision making: monitoring risks.
·Use shared decision making (SDM): Build a sharing ·Risks Identification: In traditional software

6 i-manager’s Journal on Software Engineering, Vol. 8 l


No. 3 l
January - March 2014
ARTICLE

development projects, there are many methods to ·Integration of Agile practices into external processes.
identify risks that are also valid in large-scale projects 2.2 Challenges Coming from the Method itself (Agile
such as Software Risk Evaluation (SRE) and ATAM processes)
[Williams et al., 1999]. Also, there other ways to identify
2.2.1 Testing-The Challenge
risks by reporting from a team member, through
Software testing in Agile development is a very complex
frequent management meeting, or by voluntary
issue. Since Agile methods are not focusing so much on
submission. However, in the process of identifying
Software testing activities, Agile development doesn't
risks, the team finds the degree of risk to budget,
include testing practices required for quality. So that
schedule, and quality depending on the system that
makes the process of finding the suitable testing method
has been developed, the context that will be
for large scale projects challenging. Also, the most
developed, and the characteristics of the team
challenging part in Agile testing is ensuring that the
[Sangwan et al., 2007] So to deal with this aspect, the
solution of the problem in the development at the current
development organization must determine the
iteration is done exactly.
coordination capabilities, and understand the risks
On the other hand, there are two kinds of testing manual
inherent in a project that allows some insight into the
and automated testing. So in Agile development, it's hard
organization and select the option for the system.
to find a balance between the two kinds [Koteska &
·Mitigating Risks: There are aspects to be considered
Mishev, 2012].
when mitigating risks; the first is to look at ways to
Furthermore, with continuous integration and changing
evolve and increase the development organization's
requirements, it can be easy to miss critical tests for any
abilities. The second is putting an appropriate plan for
requirement, also Code can be broken accidentally due
coordination, and the third is to pre-plan how to
to frequent builds which will add more challenges to the
adapt the project in the event where the original plan
test. Also, minimal documentation will add more difficulty
is not enough.
and challenges to test the final version against the
·Monitoring Risks: Monitoring risks in terms of large-
requirement and if it is indefinite or unclear with the
scale is completely uneasy. It's better to adequately
requirement, the test will fail.
understand what is really going on within the
The Solution
distributed team. So, through time, the deliverable
sprints (versions) that are late or quality leak is The best solution of testing challenges to Agile
discovered and so the schedule has suffered development is using the “Automated Agile Testing”
basically. It takes more time and effort to recover from method that intended to minimize the quantity of manual
this situation. work that is involved in test execution and thus gaining a
coverage of a large number of test cases. So, this method
2.1.10 Existing Formalized Policies and Procedures and
will test developing environments that are usually unit tests
Corporate Culture-The Challenge
responsible for the quality of the smallest modules
There may be cultural reluctance to Agile methods,
[Jureczko, 2008].
especially in organizations that have a long history of
Automated Agile Testing requires automated tools, yet
using traditional software engineering processes. Or there
the testers must keep involving, and keep in mind that
are policies or procedures that have been used in
these tools are not easy to learn. The selection of the
waterfall-like practices that has to be adopted them on
tool(s) must be correct and meet the requirements
Agile Project.
depending on the project size, and the time allocated for
Solutions
the project costs. Also, the testers must split the long test
·Educate and support the Agile values.
case into smaller ones that are easy to maintain [Arora,

i-manager’s Journal on Software Engineering, Vol. 8 l


No. 3 l
January - March 2014 7
ARTICLE

2008]. Solutions
2.2.2 Location and Communication-The Challenge Many tools have been proposed using both formal and
As in traditional Agile Methods the team must work in a co- informal communication and project support, and
located place, in large-scale projects, it's impossible to especially for global and geographical distance. There
pool all 80-100 development members together. So, are some useful tools and recommendation to face the
practically, rather than creating a single development challenges that have been reported in the previous
team, the Agile encourages splitting developers into chapter:
multiple smaller teams. But, also this is not the only ·Social Networking Tools: Different social networking
challenge that could be faced in location. In most of the tools and websites that encourage team members to
large-scale or global delivery, the teams are distributed, interact with each other and that will enhance the
so there are some sub-points involved. communication and social skills in the team(s).
·Different Work Hours ·Communication Tools: E-mails, messengers, video
This challenge comes from the distribution team conferencing, and web cams.
which is spread over different time zones [Shrivastava ·Software Configuration Management Tools: Try to
& Date, 2010]. So there is unavailability of some track and control change in the software, that help to
teams. That's a conflict with Agile method’s co- determine the change and who change it, and
located characteristic. determine how to replicate it across many hosts.
·Customer involvement ·Bug Tracking Tools: That contains the information
The customer involvement through time will reduce about bugs found, and how to scrape and track
and that will lead to the situation called “hard bugs.
maintaining stakeholder relationships”. ·Mail Listing: Make a list of all stockholders and anyone
·Face-to-Face communication related to the project and send the updates and
changes to all.
This factor is also a tradition in Agile, so in distributed
and large-scale, this will reduce the effectiveness of ·Knowledge Centers: It's a warehouse that contains
communication between customer and the team. technical reference and most frequently asked
So, the trust factor between them will fail [Cao & questions.
Ramesh, 2008]. ·Based on the Collaboration and Communication
2.2.3 The Challenges of Communication Infrastructure: The project manager should be careful
about when this infrastructure is to be designed so
Face to Face communication is considered as the most
that it will support the strategy and also support a
effective form of communication. So Agile teams try to
significant goal (Collaboration and
follow it .The team meets daily in a stand up meeting
Communication). So there are effective
including the customer. As mentioned earlier, customer
communication infrastructures the team must build.
involvement within time will reduce. Also, Amicability is a
key factor in Agile communication and so if the team isn’t ·Mailing list for all Emails: Must send all works and
familiar with each other, the communication factor will updates to all team members and customer mailing
fail. lists.

On the other hand, the customers sometimes find ·Infrastructure for weekly meeting: It should be a
difficulties to understand or trusting Agile method, so this weekly management meeting, which involves all sites
will makeup more challenges in communication factor in (teams, management, and customer). To facilitate
the process of Agile methods. this, video conferencing, voice chat, desktop sharing

8 i-manager’s Journal on Software Engineering, Vol. 8 l


No. 3 l
January - March 2014
ARTICLE

technologies, telephones, and social network utility and associated design must be updated [Sangwan et al.,
must be used. 2007].
·Forums for discussions, queries, change, and defect Refactoring if the change being accepted, there is a
tracking: That helps the tester and the management need to make modifications in the project schedule.
to know details about some things that happened in 2.2.5 Quality-The Challenge
the life cycle of the sprint or the project without going
Agile teams have a quality challenge that could happen
back to the developers.
when the team “finish” their sprints and deliverables, but
2.2.4 Requirement Engineering-The Challenge when they gather a big amount of technical debt in the
Agile works to identify the requirements priorities in each form of defects and poor design choices.
development sprint. In Agile methods, the prioritization of Solutions
the requirements have been determined and approved
The Solution is the Quality Assurance (QA) in large-scale
in the beginning of each sprint (planning meeting) and
which is different from small and co-located projects.
normally based on one of the business values or factors
When the problem is discovered in large-scale, it gets
that have been defined by the customer. But in large-
more difficult to recover from the problem, to know who
scale projects, it could change the prioritization
should handle and to know who all are involved parties
requirements when the business value has probably
who should be involved in solving the discovered
changed. And it will affect all the previous work on the
problem. Depending on the type of problem that takes
development.
place (e.g., requirements misunderstood, syntactic and
There is more than one challenge in requirement semantic issues...etc), maybe it will be discovered at
engineering; at first, cost and schedule estimation that is different times. So there are some operations that must be
based on user stories, the second is accrual in minimal considered such as measuring process quality,
documentation when communication breakdown takes measuring product quality, and product maintenance
place the third is when decided to identify nonfunctional quality.
requirements. So, using business value that often focused
Measuring Process Quality:
on time-to-market, as the only or primary standards for
Obviously, coordination and control is more difficult in
requirements prioritization might cause primar y
large-scale projects, so we want to set processes in a
problem(s); it could lead to unsalable system architecture
place that will guarantee that delivered products are of
[Cao & Ramesh, 2008].
high quality and ensuring that quality doesn't affect the
The Solution
other three attributes of successes (time, cost, and
Requirements Change Management: This operation is a scope). So, there are some recommendations that the
difficult area under the best circumstances. It is the way of development enterprise must take into their
managing the wave effect of requirements change, so considerations.
managing the change includes:
·Increased Communications: This means to start using
Impact Analysis: How much the change cost? It is a must the phone, fax, e-mail frequently, using face to face
to understand and find all the activities and estimated meetings just between the team's masters, or using
sets that are involved. The developer needs to work step the social network and video conferences.
by step and trace the modifications that happened in
·Put a delivering scope during each sprint: In Agile
change process. There are five stages in the impact
planning process, it must set the scope of each sprint
analysis process; blank, changed, unchanged, next,
to avoid many situations that could be involved in
propagating [Rajlich, 2012].
each sprint such as if the team delivers less than what
Updating the associated artifacts in both requirement is expected.

i-manager’s Journal on Software Engineering, Vol. 8 l


No. 3 l
January - March 2014 9
ARTICLE

·The Morale of the developers: The development


enterprise should always give the developers credit
and be thankful of their work, so that it leads to make
the developers feel comfortable and secure. So they
will give more intention and loyalty for the work and
the project.
Measuring product Quality
This is measured by pursuit of the number of defects
identified through the iteration testing of the previous
Figure 2. Cost of Change [Pressman, 2010, p.68]
sprints and releases [Paulish, 2002]. The defect numbers
2.3 Challenges Coming from Change and Natural
gained from change management tool where it's been
causes
capable to summarize the numbers, priorities, and status
of defects as they have been reported by the test team. The Variability of Change as being known as change of
So, in large-scale projects, it gets more difficult to track the any aspects of the project will effect on the cycle life of
misunderstood requirements, semantic errors, and the the iterations or the whole project life. So, there is a positive
level of understanding of any aspects. That makes the relationship (regularity) between the variable and the
large-scale problem which the researchers cycle (iteration) time (life). That leads to increase in the
recommended better practices such as automated proportion of the emergence of challenges facing the
code inception, using tools check for infringements of system. It must be considered in two aspects here, the size
coding standards, and using some practices of testing of variability and the type of change. In the first aspect, the
[Sangwan et al., 2007]: size could be large, moderate, and minimal. The second
aspect is the type of change, such as; environmental
·The main team recount acceptance test cases that
change, business change, or team change.
have been derived from the high-level functional
requirements. Agile software development reduces the cost of change
as shown in Figure 2, but its cost is more in the early stage
·The remote (distributed) teams deal with automated
of development than traditional software development,
test unites as part of their assignment for each sprint.
so the team must be careful in the first stages of the
·The main team appoints and executes the
development.
integration tests.
Change could come as a result of forcible
Product Maintenance and Quality
circumstances, consequences for managing faults, or
Is measured by the effectiveness and efficiency of
natural disasters and causes.
maintenance operations. Regular measurements
Firstly, forcible circumstances, for example, an
founded to assess the quality include [Kan, 2003]:
unprecedented technological development with the
·Fix Backlog: A measure of the rate of reported fixes
length of the project duration, the organization may
& defects.
come up with a new technology that replaced the old
·Fix response time: a measure of the mean time of all one that has been determined to be the “business
reported defects since they were fixed. (environment) scope” in the large-scale project plan,
·Delinquent fixes: a measure of the fixes that took more especially the competition in the market between the
time than usual (response time) major companies in the technology and communication
·Fix quality: a measure of bad fixes and incorrect sectors that release new and advance materials in a short
defects. period of time.

10 i-manager’s Journal on Software Engineering, Vol. 8 l


No. 3 l
January - March 2014
ARTICLE

Secondly, as a consequence of management faults, the that helps the project managers to facilitate scaling Agile
developers gain skills, experience and details through in large projects.
their working time in the project, that leads to more The use of social networking, management tools, tracking
knowledge and experience in the project than others, tools and other tips that has been recommended is a way
and in large-scale projects that used Agile as to improve the project managers’ work and support,
development method they depend on team knowing the enhance and improve the communication and the
details rather than the documentation (minimal coordination between the team members, risk control
documentation: Agile basics). So when the project lost a quality assurance, testing and other related projects thats
team member who has experience and the knowledge been disturbing the process of adopting Agile into large-
of the development processes and details by scale projects.
management faults and let the team member leave the
References
project without good reasons, that will lead to hinder the
[1]. Arora A. (2008). Agile Automation Testing, Adobe
project.
Systems, India Pvt. Ltd, Noida.
Thirdly, natural disaster and causes, concerns, the
[2]. Boehm B., Turner R. (2005). Management Challenges
obstacles and hindrances that force the development
to Implementing Agile Processes in Traditional
organization to delay the execution of the project, and
Development Organizations, IEEE Software, Sep-Oct, 30-
that leads to losses and it might cancel the project.
39.
Solutions
[3]. Cao L. and Ramesh B. (2008). Agile Requirements
·Make daily backup for the project and put this
Engineering Practices: an Empirical Study, IEEE Software,
backup in various locations.
January/February, 60-67.
·Make sure that nobody looks to your agenda and give
[4]. Conboy K., Coyle S. and Others (2011). People over
your secrets to a competitive company.
process: key people challenges in Agile Development,
·Think about futuristic ideas, even if they are different, IEEE Software, July-Aug, 48-57.
so that you can control the market in the future.
[5]. Drury M., Conboy K. and Power K. (2012). Obstacles
·Don't let go of any valuable member of your team(s), to decision making in Agile software development, The
because he/she may know details that others do not Journal of Systems and Software, 85(6), 1239-1254.
know.
[6]. Herbsleb D. & Mockus A. (2003). An empirical study of
·Don't put one job for one person. speed and communication in globally distributed
·Make a Contingency Plan in case there is a natural software development, IEEE Transactions on Software
disaster or causes occurred. Engineering, 29(6), 481-494.
Conclusion [7]. Holmstrom H., Fitzgerald B., and Others (2006). Agile
There are a number of technical solutions and useful tools Practices Reduce Distance in Global Software
that must be considered by the project managers and Development, Information Systems Management,
team leaders to help them to overcome and avoid the Summer, 7- 26.
challenges in the process of adopting and working under [8]. Hossain E., Babar M, and Paik H. (2009). Risk
the Agile method in large-scale projects. Identification and Mitigation for Using Scrum in Global
There are many of the mentioned challenges which are Software Development: A Conceptual Framework, 16th
difficulties that can be overcome with little increase in the Asia-Pacific Software Engineering Conference.
awareness and attention to a number of ways and [9]. Jureczko M. (2008). The Level of Agility in Testing
proposed solutions that attempt to build an infrastructure Process in a Large Scale Financial Software Project.

i-manager’s Journal on Software Engineering, Vol. 8 l


No. 3 l
January - March 2014 11
ARTICLE

Software Engineering Techniques in Progress, University of [16]. Rajlich V. (2012). Software Engineering: The Current
Technology, Poland. Practice, Taylor and Francis Group, USA.
[10]. Kan S. (2003). Metrics and Models in Software [17]. Sangwan R., Bass M., Mullick N., Paulish D., and
Quality Engineering, 2nd edition, Addison-Wesley, Boston, Kazmeier J (2007). Global Software Development
MA. Handbook, Taylor & Francis Group, LLC, USA.
[11]. Koteska B, and Mishev A. (2012). Agile Software [18]. Shrivastava S. and Date H. (2010). Distributed Agile
Testing Technologies in a Large Scale Project, BCI Local, Software Development: A Review, Journal of Computer
Volume 920 of CEUR Workshop Proceedings, 121-124. Science and Engineering, 1(1), 10-17.
[12]. Moe N., Aurum A. & Dybå T (2012). Challenges of [19]. Tenhunen T. (2010). Challenges in Scaling Agile
Shared Decision-Making: A Multiple Case Study of Agile Sof tware Development, Tampere University of
Software Development, Journal of Information and Technology, Master Thesis.
Software Technology, 54 (8), 853–865. [20]. Williams, R., Pandelios, G., and Behrens, S. (1999).
[13]. Nerur, S. and Mahapatra R. (2005). Challenges of SRE Method Description (version 2.0) & SRE Team
Migrating to Agile Methodologies, Communications of Members Notebook (Version 2.0), Technical Report
the ACM, 48(5), 73-78. CMU/SEI-99-TR-029, Carnegie Mellon University.
[14]. Paulish D. (2002). Architecture-Centric Software [21]. Ylimannela, V. (2010). A Model for Risk
Project Management, Addison-Wesley, Boston, MA. Management in Agile Software Development,
[15]. Pressman R. (2010). Software Engineering: A [Accessed: 13 Sep, 2013] http://www.cloudsw.org/under-
Practitioner's Approach, 7th edition, The McGraw-Hill review/1af0cbb6-6d4c-4082-8530-17e1317e2ceb/
Companies, Inc, USA. a6f468c9-4857-4206-96ee-f67df0583d41.

ABOUT THE AUTHOR


Amro Al-Said Ahmad has received his Master Degree in Computer Science from Amman Arab University, with excellent Rating.
He is interested in Software Engineering studies, especially in Agile Methods.

12 i-manager’s Journal on Software Engineering, Vol. 8 l


No. 3 l
January - March 2014
Reproduced with permission of the copyright owner. Further reproduction prohibited without
permission.

You might also like