What Is Application Development

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 9

What is Application Development?

I. INTRODUCTION:

We begin this module by developing a motivation for learning about what is


Application Development. The Application development is the process of
designing, building, and implementing software applications. It can be done by
massive organizations with large teams working on projects, or by a single
freelance developer.

II. OBJECTIVES:

At the end of this module, you should be able to:

1. Identify what are Application Development and the Application Developer. 

2. Understand the types of Application Development. 

3. Describe the roles of Application Developer

IV. LESSON PROPER

Application development defines the process of how the application is made,


and generally follows a standard methodology. There are lots of factors that
go into how application development is done. You must consider the size of
the project, how specific the requirements are, how much the customer will
want to change things, how large the development team is, how experienced
the development team is, and the deadline for the project. Application
development is closely linked with the software development life-cycle
(SDLC).

Types of Applications

A. How they're built

1. Native application is when a mobile application developer writes their code


as a native, web or hybrid application - and these terms can also describe
desktop applications. The developer codes to run on specific hardware, such
as a camera or GPS, and in the same programming language as the
underlying OS. For example, the Photos application on Mac OS X is written in
Objective-Cthe same language that Mac OS X uses. 

2. Web application via a web browser, such as Google Chrome. A developer


can write web applications in several languages, including JavaScript, CSS
and HTML, but they cannot access the hardware on which the application is
installed. 
3. Hybrid applications have APIs that can access device resources, similar to
a native application, but are typically written in languages such as HTML and
CSS. Additionally, developers often code mobile applications to work on a
specific device platform

B. Categories by licensing style

1. Proprietary software programs, such as Adobe Photoshop, are applications


that are owned under copyright. End users can buy or license proprietary
applications through the vendor providing the software. They cannot modify
these applications; they can only add functionality to them via third-party add-
ons. 

2. Open source applications, such as WordPress, provide the source code for
end users and developers to use and modify. Software companies and
individual developers typically make open source applications freely available
under a generic or public license, such as GNU.

B. For which market they are used.

1. Vertical application typically serves a specific industry or departmental


need, such as a medical billing system. 2. Horizontal application, such as a
word processor or web browser, applies to a wide range of industries.

Application Developer

An application developer creates and tests applications designed for


electronic computing devices. He or she will typically specialize in a
development area such as mobile phone applications, for example. An
application developer is a critical part of technical and/or project management
teams responsible for ensuring user needs are met through the deployment
and updates of software.

Roles and Responsibilities of Application Developers

Application developers have a number of responsibilities that fall on their


shoulders. These have to do with managing the application lifecycle,
knowledge of certain principles in coding, support and collaboration efforts.

1. Coding and Design

It stands to reason that a very basic tenant of application development is an


in-depth knowledge of coding and application design principles. Depending on
the specialization, application developers need to know the right programming
language to code for the operating system they are designing for. Typical
programming languages include:

 Java / JavaScript 
 C++ 
 Python; and 
 PHP

2. Application Management

Among the most robust responsibilities of an application developer is


application management. As the name implies, a soft skill that application
developers must present is an organized ability to manage the application
lifecycle, and people involved in the process, to ensure smooth deployment
and post deployment modifications.

 Understanding the Application Deployment Lifecycle 

The application deployment lifecycle typically involves the following key


stages: Initial Planning > Design > Development > Testing > Deployment >
Support. 

In each phase, an application developer is required to have specific


knowledge and abilities to propel the phase into completion. These include
activities around collaboration and project management. More specifically:

 Planning and Design – This stage requires specific input from both a
project management and collaborative perspective. On the side of project
management, the application developer must gather requirements that are
based on the analysis of empirical data. For instance, the application
developer should have access to end-user data that suggests what kind of
issues the software sets out to solve. Armed with this information, they
should have the analytical soft skills to deduce requirements. On the side
of communication and collaboration is program design. This refers to
building the architecture of the software and is generally spearheaded by
the developer though he or she must incorporate input from other key
stakeholders on the team.

 Development and Testing – This is where the fun begins! Based on the
design requirements gathered in the previous step, the developers will
begin the iterative steps of coding, testing and revising. As a leader in
communication, the software developer must also work collaboratively with
a panel of end-users to ensure quality assurance. Development and
testing are the longest phases in the lifecycle.

 Deployment and Support – When the project is complete and tested, it will
be deployed. At this point, the software developer has completed the
major phases of the lifecycle, and the project management focus shifts to
customer support. At the same time, the developer must collaborate with
other senior members of the IT department to assure asset management
line items are being completed

3. Troubleshooting and Debugging Applications 


Troubleshooting is a term that defines the systematic way in which application
developers must be able to identify, categorize, parse out and articulate
problems that occur in applications. Troubles Troubleshooting takes place
during the testing phase of the lifecycle and requires developers to collaborate
with end-users at a high level to identify problems in the system. Debugging
should be thought of as a subset of troubleshooting which refers to the actual
process of removing identified issues on a case-by-case basis. Both of these
techniques are required of savvy developers.

4. Monitoring, Updates and Security 

As mentioned above, an application developer’s job doesn’t end at


deployment. Instead, once the application is rolled out, he or she must shift
into a mode where they are prepared to monitor and release updates to the
edition as needed. This is necessary for the application to run smoothly, and
to reduce security risks. Application developers must also understand security
protocols that protect users from external threats, and stay on the cutting
edge of the changing field of technology and cybersecurity. For instance, as
more and more applications begin to explore the many uses of blockchain,
application developers using will need to stay abreast of the many risks
associated with this disruptive technology.

5. Server Engineering and Admin Responsibilities 

An application developer for an enterprise organization may also be tasked


with server engineering functions. This includes becoming familiar with the
programming languages required to code database software and backend
platform technology, networking servers, performing network tests, lofty
experience with cloud servers, using cloud platforms like AWS and more. In
these instances, application developers may be required to not only code
aspects of the server environment but admin platforms that are required for
critical systems to function. 

6. End User Support and Training 

As a critical part of the deployment cycle, application developers are required


to manage all elements of training and support. This could mean collaborating
with other team members to develop training videos, infographics or tutorials,
conducting phone training and support, or live troubleshooting of issues. This
includes ensuring updates are pushed out to keep the programs running
smoothly, and all security measures are met, as well as debugging issues as
they arise. 

7. Project Management, Collaboration, Communication 

All of the above-mentioned responsibilities, require an in-depth understanding


and practical, foundational knowledge of project management, collaboration
and communication. These skills, both hard and soft, are evident throughout
the application lifecycle and continue to be relevant after deployment is
complete.

You might also like