Sie sind auf Seite 1von 7

Study of Agility in Mobile Application Development

Vanessa N. Cooper and Hisham M. Haddad


Department of Computer Science
Kennesaw State University
Building 11, MD# 1101
Kennesaw, GA 30144

Abstract - Not only has Agility infiltrated enterprise where changing requirements is the most faced challenge
and consumer mobile application development, but it in the software industry. Furthermore, frequent and
has also become an integral part of most IT rigorous testing ensures that a high-quality product will be
departments and the standard for younger generation delivered to the consumer coupled with heavy customer
developers. Despite the numerous benefits of Agile involvement and short-term feedback. Ideally, Agile
development, software developers often find out that software development methods are good practice,
there are also several pitfalls to avoid during mobile allowing the construction of a highly collaborative product,
application development. In this study, we explore the and accommodate fast development with short-term
potential pitfalls of incorporating agility into the feedback. Thats the primary reason that many developers
development of mobile applications. The motivation are now embracing agile development, especially for
behind this work stems from professional and personal mobile application development.
experience of the primary author. As a junior software
developer in the mobile application age, the primary Other reasons why most customers obsess over the
author has experienced first-hand the demands of a constant tweaks of their mobile apps lie within the profit
we want it now market. margin and popularity of this new craze. Figure-1 [17]
shows the total number of applications and downloads
Keywords: agile development effects, mobile computing. over a 2-year period between June 2008 and June 2010.
The growth appears to be almost exponential. Figure 2
I. INTRODUCTION [16] outlines some estimated figures of mobile application
The year is 2013. Mobile development is the hottest sales and revenue. With these statistics, its easy to
software skill for the youth. Social media is how everyone understand why businesses are rushing to brand
communicates; people now have the option to digitally themselves in the mobile application industry.
share photos and daily schedules with their friends and
family. Almost all software requires substantial consumer
interactivity. The entire world now revolves around how
quickly consumers have access to what they want. We are
living in the We Want It Now era.

Smart, mobile devices are the fastest growing


computing platform with an estimated 1.6 billion device
users by the end of 2013 (compared to only 2 billion PC
users) [7]. Even though the mobile industry is a massive,
mobile computing is still relatively new. Since there are
not many open-source mobile examples to follow many
developers must quickly adapt to the environment and the
ever-changing list of mobile devices and their respective
operating systems. Developers have scrambled to find a Figure-1: Growth of Mobile Applications.
suitable development methodology to accommodate for
the fast-growing craze, and the Agile methodology has The case against incorporating agile development into
quickly become an industry-standard. mobile computing does not lie within the pros and good
practices but within the cons and loopholes that many
So why has Agility been adapted, and what exactly is consumers manipulate. When we combine the interactive
agile development? Agile software development is a nature of mobile applications, our situation becomes very
group of methods, which surround the idea of flexible, slippery. Because of heavy customer involvement
iterative, and incremental development with the intent to throughout the development process, there are often
develop high quality applications. Agile development frequent changes to business needs, especially when
places great emphasis on scope creep and change control increment results showcase unintended results. Those
disappointments are quickly uncovered when customers multiple time zones and continents. What makes project
review a demo of their increments. The idea of short management easier across continents is the designation of
cycles to complete use cases leads some to rush through project leaders for Quality Assurance (QA) and
development. This in turn leads to low quality software, development per site. Having a project manager per site
which will require multiple sprints to complete. In also decreases the lack of information from superiors but
addition, business investors sometimes mistake the it also likely increases the costs dramatically. However, it
iterative and incremental process of Agility as an is important to point out that it is still possible for a lack
opportunity to alter and negotiate new business needs. In of information whenever you have project managers and
this study, we will explore the potential pitfalls of development leads at other sites.
incorporating agility into the development of mobile
application.
Globalization Culture
Communication

Figure-3: Social Issues.

The ability of an organization to adapt to unexpected


changes is critical to achieving and maintaining a
competitive advantage [15]. Outsourcing does not
particularly benefit from the Agile process because of
Figure-2: Sale and Revenue from Mobile Applications. difficulties in relationship building and coordination
through communication. Poor work dynamics in the
II. AGILITY IN MOBILE COMPUTING workplace often lead to lower levels of trust and a lack of
The problem with Agile development is the lack of team effort [10]. Lower levels of trust often mean that US
quality results and experience in mobile application developers are constantly double-checking source code
development despite being driven by a software from other sites, and offshore sites are constantly
development methodology. There are two main talking questioning or clarifying why something is being done a
points related to the effects of agility in mobile computing: certain way. Furthermore, offsite testers may attempt to
social issues and the development environment factors. test a product that caters to their own culture even when
they are a very small percentage of the mobile
A. SOCIAL ISSUES applications users. The primary author has experienced
Social issues, integral part of all teams, often dictate this constant push and pull in the workplace, and it seems
the flow of a development environment through to be unanimous in all of the companies.
instruction, production, and efficiency. The immersion of
technology into our daily lives has broken many culture In the US, onsite location is normally seen as the main
and communication barriers among civilization, and many branch and the offsite location is normally known as the
companies are globalizing for maximum profits. Figure-3 supplementary branch. What happens in most cases is that
shows how these factors easily blend together on a social US developers are responsible for the bulk of software
front. Here, we address the impact of social issues on development, whereas the offsite employees perform the
mobile development. testing on development. This opens a multitude of issues.
For one, the process of playing catch-up and getting
A.1 Globalization familiar with different parts of the system can be quite
The integration of outsourcing into Agile is another time consuming and labour intensive for both onsite and
hazard that seems to affect mostly all corporate IT offsite locations. The training period ends up attributing
departments. The primary author has interned at a few to even more meetings, which further takes away from
corporate companies, and each company had development development time. In addition, onsite and offsite
teams in India. Those teams were also responsible for employees typically use a mobile device differently.
daily stand-ups and sprint tracking. There is a great effort When we also consider the distance to servers and
on management to coordinate development teams across download speeds, it is easy to see how testing the mobile
application can become very tedious and lacklustre in sites celebrated holidays that the other teams at different
performance. sites did not and this could affect the sprint in either
planning or development. Though these days can be
There have also been constant complaints of more substituted, it is a clear indication of different values and
thorough code reviews for source code developed by the customs. Cultural members always socially construct the
teams in offsite locations. If this were a common meanings and purposes of their activities. Enculturation
occurrence, one would ask why companies continue to thus refers to gaining an implicit sense of those meanings
endure this painstaking task. Despite the high demand of and purposes [11]. Therefore it is very important to have a
software developers in the US, there is still a large unified approach to development and the understanding of
shortage of supply within the US. On the other hand, there how business operations should take place within a certain
is an ample supply within countries like India and China. environment. When you compare developers from
Whereas in earlier years, outsourcing was practiced for different countries such as China, India, and the US, you
economical means, it is now practiced because of the must also take into account their educational systems,
necessity of resources. It is very important to point out the uniquely similar personality traits, and development
poor work dynamics because it is not true that onsite experience and preferences. One size does not fit all
teams are more talented than offsite teams. However, that when you consider the types of culture, and organizational
seems to be a general consensus considering that most of or enterprise agility in this framework represents the
the widely successful apps are developed within the US. developmental culture [11]. Therefore, if the development
We believe that an improvement of work dynamics culture is not stable, the development process will surely
improves the general perception and the effectiveness of operate along the same lines.
quality development, and that will ultimately contribute to
all sites in a very positive way. A.3 Communication
In efforts to create a more unified information source,
A.2 Culture companies have started to create company Wikis and
Culture is also another underestimated factor in the SharePoint sites set aside solely for its IT departments.
corporate world. In this study we focus on two subcultures: This helped to ensure consistency and structure
organizational culture and personal culture. throughout communication as well as the mobile
Organizational culture is especially important because it application development process. Software changes, story
lays the foundation of unspoken rules and business laws specifications, and other guidelines could be added for
within an organization. Though some unspoken rules are quick reference. In Agile, development is done in
not strictly enforced, it does play into the work dynamics increments and those short increments are quickly out-
of a group. For example, Company A may expect all dated. This is very useful because the information can be
software developer employees to eat lunch together on easily changed, and information becomes irrelevant rather
Fridays; however, this could be problematic to a software quickly. In addition to that, operating systems, standards,
developer whom works remotely on Fridays. This affects and features change daily in the mobile world.
team and relationship building within a mobile Incidentally, software developers are often spending a lot
development team. Fitting into the work culture is of their time updating Wikis, Sharepoint sites, and other
increasing becoming just as important as the mobile information mediums in order to keep some sense of
software developers skills. consistency for the development team.. When you
compound this with the Agile structure of daily stand-up
Most job postings have began to list details about meetings, sprint planning, and other meetings, the
regular company events and desired personality traits of development is left with significantly less time for
potential employees. These factors often dilute the options actually completing development. So, what does that
of available software developers seeking employment. mean for those whom create the services and products for
Some developers also feel the pressure to fit into a consumers in a We Want It Now era? This means that
particular work culture, which could ultimately negatively there should be very little time between asking and
affect their overall work performance. By definition, Agile receiving. This also means that consumer complaints and
is a culture and approach to software development. With feedback should be quickly addressed and fixed without
increasing flexibility for the customer, more restrictions much delay or contemplation. Agile greatly impedes this.
and difficulties are often placed on the mobile application
developers. The combination of the Agile methodology B. DEVELOPMENT FACTORS
and the company dynamics often overcomplicates the Most of us understand how a finished product or
simplicity of a software developers primary function in current service must be maintained by the producer in
an organization. order to keep the consumer happy. However, let us also
apply this same logic to a stakeholder and a software
In discussing personal culture, one must also consider developer during the beginning stages of planning new
language, subcultures, and religious backgrounds. Some software. Now, lets picture that the stakeholder is the
consumer, and the software developer is the producer. Is it these types of applications. Consumer applications are
smart to handle this consumer the same as we would with geared toward the general public and do not have huge list
a finished product? Is our decision dependent on the idea of documentation; this is because developers determine
of how a service should be planned and developed, or is it which features are very valuable in the consumer market
based on the idea of ensuring that we also satisfy the and implement those features due to the response from
consumer within the best of our means? Figure-4 displays software releases. Great examples of mobile consumer
the factors that must be considered when understanding applications would be Facebook, Twitter, and LinkedIn.
how to create business agreements if Agility is a All of these sites started as web interfaces and were
requirement. migrated to mobile because it has become a key device for
consumers. Most of these companies quickly took the
corporate approach to incorporating mobile apps by
Enterprise vs. attempting to brand themselves and build more personal
Consumer
relationships with their customers through its presence on
Project Native vs. mobile [15]. Consumer applications use a lot of
Management Web
prototyping procedures to ensure that the look and feel of
the application flows well for the average consumer.
Under Agile, the design team will complete the
prototyping process before major development is began
and that leaves developers with the simple task of coding
Development all functionality for the those exposed features in the
interface. In this case, agile is a great choice because of
the less general development process.
Figure-4: Development Environment.

B.1 Project Management On the other hand, mobile enterprise applications


target businesses and corporations and require very
In the primary authors internships, she has discovered specific user requirements. Most of these applications are
that each company also used VersionOne, which is a type related to information security, monitoring, and constant
of project management software catering to Agile contact. Customer feedback is initiated throughout the
software development. We believe that VersionOne is an development process rather than post-release. These types
excellent software utility; however, it should be noted that of applications are great under the Waterfall model
it is also new software that employees must learn to use because of its thorough documentation and unchanging
properly for accurate use. It is unclear if there is a general requirements. Under Agile, there is a much longer
consensus as to how that learning curve is built into the development process because of constant changes made
software developers schedule. She also notes that from customer feedback and many meetings despite the
software training is normally completed during the specifics of the documentation. For an enterprise-scale
software developers own desk time. application, this could extend the development process to
several years before a final product is completed. In
The reason we point this out is that each company addition, Agile can have devastating affects on the team
normally uses a daily, 6-hour capacity rule under the morale and focus. Some software developers often find
Agile methodology. All of this information is tracked in more excitement in working on various projects in shorter
VersionOne and reviewed by product management during time intervals. The Agile approach leads architects to plan
sprint closing and retrospectives. These 6 hours are for for the quickest solution rather than a long-term, more
development, testing, and documentation tasks; it does not sustainable approach. Though code may be developed
include meetings or product training. This also means that quicker, it is also more prone to security issues and
a two-week (or 10 day work week) sprint would actually inconsistent results and will hence require more changes
involve 1 day set aside for previous sprint closing and the over the life of the product as well as development.
current sprint planning, and the remaining 9 days would
be available for actual development at 6-hours per day. A B.3 Native vs. Web
developer would then enter 54 hours for availability in When you consider all of these factors, companies
their capacity for the sprint. If we consider the fact that must consider how much they are willing to invest in
developers are actually in office for 80 hours during that third-party software as well as the learning curve for new
2-week period, is it economically feasible for the company mobile application developers in a native platform
to afford the 26-hour net loss per mobile developer per environment. Even though most companies expect for
week in the name of Agile? developers to hit the ground running, they must be very
B.2 Enterprise vs. Consumer realistic about skill level, the number of available software
developers, and the overall budget of a mobile application.
Most mobile applications tend to be enterprise or In addition, with third party software, features are less
consumer applications. There is a huge difference between
likely to change per release of the native OS, and this can III. MATHEMATICAL MODEL
often quickly outdate a mobile application. Table-1 The main factors to consider in the mathematical
outlines the development and social issues which occur model are the social and development issues. Both of
during the use of Agility in mobile computing. these impact the timeline and budget of a mobile
application development project. My formula uses money
Personal culture impact on and time to determine if Agile is worthwhile pursuit for
development project management and developers. If the total result is
Social Issues
Poor work dynamics in the workplace negative, then Agile should be avoided; however, if the
Consistent and unified information
final result is positive, then Agile should not have any
Very restrictive project management
detrimental effects on the project and the development
Lack of fixed user requirements
Development phase.
Lack of available software developers
Factors
Choosing the wrong development
platform In Figure-5 below, t denotes a sprint in a particular
project. N denotes the total number of projected sprints
Table-1: Social Issues and Development Factors. required for successful completion. X denotes the number
Another important concept is to understand the of available software developers while c represents the
importance of the chosen platform when considering current developers time, which is being accessed. P
Agile. During the rush to create mobile applications, most represents the total time that the developer can contribute
companies also have begun to realize the huge shortage of to the project within the current sprint. represents the
mobile application developers well versed in object- total budget for the software development project.
oriented programming languages such as C++, Java, and
Objective-C. For native mobile applications, iOS uses
Objective-C, Android uses Java, and Windows Phone uses
C++. Native platform development allows for better
performance, seamless user interfaces, and it is great for
branding. However, with more options and being free of a Figure-5: Determining Agility feasibility.
standard cross-platform API, it means that developers are
Though this formula seems simple and straightforward,
option expected to do more but in the same amount of
it is often ignored for the sake of creating a highly
time. For very experienced mobile application developers,
customizable, customer friendly type application. Even
this may not be a huge problem. The key thing to
though that it is the ultimate goal of delivery satisfaction,
remember is that there is a very large shortage of
it ignores the necessity for standards and documentation to
experienced developers, and there is also much more
guide project managers and software developers.
demand than available supply for mobile application
developers overall. IV. DISCUSSION
Since we cannot operate without some type of
However, there are certainly several web developers
structure, we must also consider if there is a more suitable
available to increase their skill sets in order to remain
methodology for software development. Surprising,
valuable in this sifting market. Since the third party
Agility is not a new approach to software development;
software normally requires JavaScript or HTML, it
its just that newer programming generations are being
doesnt does require much of a learning curve for web
rapidly exposed to the methodology. Another thing to
developers delving into the software development world.
consider is the difference in the business world. Simply
This has sparked a large market for web-based, cross-
put, most companies have learned their lessons from the
platform software kits. The names PhoneGap and
old way of doing things and are desperately seeking for a
Titanium Studio are very familiar to companies whom
better way of doing things. Early software projects were
want a quick and dirty mobile application to get their
late, over budget, and had low quality. [8]. So naturally,
mobile branding kicking. Though there is a higher cost of
companies have diverted their focus to on-time, under
the software and tools for development through third party
budget, and higher quality software. In order for them to
software, it also offers a quicker turnover rate for
determine if a product meets all of the above, then heavy
development for most companies. Mobile applications,
involvement is necessary throughout the entire planning
developed under a web-based platform, work great with
and development of their software.
the Agile development process, mainly because of the
limited amount of choices. With cross-platform software, A. Waterfall vs Agile
you dont have as many options and the mobile There are two other priorities that can wreak havoc for
applications tend to be very simple. From a developer a mobile development team: the second principle on
standpoint, it could be viewed as a relief because it welcome changing and the agile manifesto statement on
reduces the likelihood of changing requirements under Responding to change over following a plan. Business
Agile development.
investors sometimes mistake the iterative and incremental documentation. Ultimately, this also increases the
process of Agile development as an opportunity to alter likelihood of low quality software. If this is the case, then
and negotiate new business needs. This is a problem if the why is there a need to rush in adopting the Agile
new business need is drastically different from the original methodology into software development? The answer to
plan. Before Agile development, there was primarily the that question can be further explored by reviewing the
Waterfall Model. In the Waterfall model, there were Twelve Principles of Agile Software shown in Table-2 [1].
well-defined phases [3]. Since the Waterfall Model was
a sequential, the requirements were expected to be clear 1. Our highest priority is to satisfy the consumer through
before going to the next phase of design [2]. Under the early and continuous delivery of valuable software.
Waterfall method, most consumers felt trapped and were 2. Welcome changing requirements, even late in
forced to commit to the documentation before development. Agile processes harness change for the
consumer's competitive advantage.
development. Under Agile, the consumer now has the
3. Deliver working software frequently, from a couple of
option to change requirements and documentation, even if weeks to a couple of months, with a preference to the
it occurred in the last stages. In the Waterfall model, the shorter timescale.
rigid structure ensured that the quality of the project 4. Business people and
was maintained [2]. Though Agile claims, working 5. The most efficient and effective method of developers
software is the primary measure of progress, it does not must work together daily throughout the project.
address the need for high-quality software. 6. Build projects around motivated individuals. Give them
the environment and support they need, and trust them to
B. Globalization get the job done.
Unfortunately, more problems arise when more people 7. conveying information to and within a development team
is face-to-face conversation.
are involved. Multiple working styles, work schedules,
8. Working software is the primary measure of progress.
and opinions weigh into this fact; the complexity of 9. Agile processes promote sustainable development. The
satisfying every single person becomes a constant struggle. sponsors, developers, and users should be able to
In mobile application development, one person may swipe maintain a constant pace indefinitely.
the screen for a specific function, whereas another 10. Continuous attention to technical excellence and good
individual may quickly tap. Incorporating more design enhances agility.
functionalities and options dependent upon user touch 11. Simplicity--the art of maximizing the amount of work not
quickly adds to the mountain of problems already done--is essential.
persistent in any software development project. 12. The best architectures, requirements, and designs emerge
from self-organizing teams.
C. Continuously Changing Requirements 13. At regular intervals, the team reflects on how to become
more effective, then tunes and adjusts its behaviour
Another significant argument is that the lack of accordingly.
commitment during planning will ultimately disrupt the
development process through numerous changes.
Overhead and continuous changes will always be Table-2: Agile Principles.
prominent problems when using Agile methodology in
mobile computing. This is definitely a problem when E. Prototyping vs. Development
stakeholders favour flexible and ever-changing Understanding the difference between prototyping
requirements, whereas the developer requires a more and development is also essential for determining if Agile
structured and detailed approach. When developers are should be used for mobile application development. Since
required to constantly tweak or re-design a use case prototyping is technically apart of the planning process,
requirement, they may never proceed to the next then it should definitely be done beforehand to
requirement. When stakeholders fail to see progress, the appropriately distribute the workload for developers and
developer may appear to be wasting time versus actually allow focus on actual requirements. Some customers have
spending unnecessary time on changed requirements that taken it upon themselves to focus more on the look and
should have finalized beforehand. Using Figure-5s feel rather than the core functionality. Though both are
formula, one can calculate the project failure caused by very important, one must understand the actual process of
the addition of sprints caused by continuous changes. prototyping so that it does not delay actual software
D. Lack of Documentation development. During most mobile application
development projects, a developer will attempt to
Agility also requires short development cycles; this is demonstrate a core function of the application through
mandated through the priority of working software over incremental development. Most customers respond to
comprehensive documentation. Unfortunately, this also these changes as rapid throwaway prototyping results
causes most to rush through development by producing because of the relatively short two to three week
modules of the system rather than focusing on the system increment cycles. Prototypes are instruments [9], and
as a whole according to the missing comprehensive
they are not products or components of the software [3] B. Madhu, M. Jigalur, and V. Lokesha, A Study on
product. Agile Software Testing: Emergence and techniques.
African Journal of Mathematics and Computer Science
F. General Consensus Research. Volume 3 Number 11, page 288 - 289
Without sounding negative, the authors think of Agile [4] P. Maher and J. Kourik, Agile Software Development
software development as being the parent that desperately in Evolving Business Environments: Integrating
seeks to win over their children by not teaching them Modern Techniques into Computer Science Curricula.
about delayed gratification. The explanation may be ASBBS Annual Conference: Las Vegas. February
somewhat exaggerated, but many software developers are 2011, Volume 18 Number 1, page 248-254
now being forced to accept these realities. The main [5] G. Galal-Edeen and M. Seyam, Traditional versus
argument against Agile methods is the asserted lacks of Agile: The Tragile Framework for Information
scientific validation for associated activities and practices, Systems Development.
as well as the difficulty of integrating plan-based practices [6] A. Spataur. Agile Development Methods for Mobile
with Agile ones [6]. Table-3 outlines the discussed pitfalls Applications. (2010).
of using Agility in mobile application development. [7] J. Dehlinger and J. Dixon, Mobile Application
Software Engineering: Challenges and Research
Directions. (2011).
Agile Pitfalls: [8] R. Shriver and D. Birckhead, Delivery Business Value
Lack of fixed user requirements lead to constant with Lean and Agile. Dominion Digital.
changes and tweaks during development. [9] B. Boehm, T. Gray, and T. Seewaldt, T. Prototyping vs.
Confusion between mobile app prototyping and Specifying: A Multi-Project Experiment. IEEE
development. Transactions on Software Engineering Volume 10
Globalization introduces many culture and Issue 3, May 1984, page 290-302
communication problems during development. [10] S. Chinbat and A. Agahi, Lessons Learned in Virtual
Project management tends to micromanage Teams from Global Software Development. (2010).
development time [11] J. Iivari and N. Iivari, The relationship between
organizational culture and the deployment of agile
Table-3: Issues with Agility in Mobile Computing.
methods. In Special Section on Best Papers from
V. CONCLUSION XP2010, Information and Software Technology.
Volume 53 Issue 5, page 509-520
Despite the numerous downloads and high profits
[12] D. Batra. Modified Agile Practices for Outsourced
made in the mobile industry, we must also ask ourselves if
Software Projects. Communications of the ACM.
Agile-driven software is better software. We must also ask
Sep2009, Volume 52 Issue 9, page 143-148.
if the standard of quality software has also changed with
[13] A. Ganguly, R. Nilchiani, and J. Farr, Evaluating
the change in generation. Sturdy code functionality is
agility in corporate enterprises. International Journal of
being replaced every day by user-friendly, pretty
Production Economics. Volume 118 Issue 2, page 410-
functionality. The usability factor seems to be the only
423.
extreme positive in favour of incorporating Agility into
[14] D. Fernandez and J. Fernandez, Agile Project
mobile application software development. As we have
Management Agilism versus Traditional Approaches.
discussed in our findings, using Agility in mobile
Journal of Computer Information Systems.
computing is a very slippery slope. The fast-paced
Winter2008/2009, Volume 49 Issue 2, page 10-17.
development is definitely desired for the we want it now
[15] V. Jyothi and R. Nageswara Rao, Effective
era, but the pitfalls greatly outweigh the long-term effects
Implementation of Agile Practices Incoordination
on the development process.
with Lean Kanban. International Journal on Computer
REFERENCES Science & Engineering. Jan2012, Volume 4 Issue 1,
page 87-91.
[1] T. Way, S. Chandrasekhar, and A. Murthy. The Agile
[16] C. Foresman. Apple responsible for 99.4$ of mobile
Research Penultimatum. Software Engineering
app sales in 2009.
Research and Practice, CSREA Press, (2009), page
http://arstechnica.com/apple/2010/01/apple-
530-536.
responsible-for-994-of-mobile-app-sales-in-2009/
[2] S. Balaji and M. Murugaiyan, Waterfall Vs V-Model
[17] AB Mobile Apps. Developing a Mobile Application
Vs Agile: A Comparative Study. International Journal
for Small Business.
of Information Technology and Business Management,
http://www.abmobileapps.com/developing-a-custom-
June 2012, Volume 2, Number 1, page 26-30
mobile-application-for-a-small-business/

Das könnte Ihnen auch gefallen