---
sourceDocument: Yokohama Build or modify applications
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/yokohama/application-development

 Release :

    - yokohama

ft:locale :

    - en-US

ft:publication_title :

    - Yokohama Build or modify applications

ft:clusterId :

    - cadev

bundleId :

    - cadev

workflow :

    - Development, Data, and Analytics


---

# Programming basics

# Programming basics {#ariaid-title1}

* Release version: Yokohama
* 
* Updated January 30, 2025
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 4 minutes to read

Summarize  
![AI sparkle icon](https://servicenow.com/docs/portal-asset/ai-sparkle-icon) Summarized using AI  
This content was generated using new OpenAI-powered functionality. Results are provided on an as is basis and are not guaranteed to be accurate or complete.  

## Summary of Programming basics

This guide introduces ServiceNow customers to fundamental software development concepts within the ServiceNow platform, emphasizing the software development life cycle (SDLC) tailored for application creation.
It highlights options for developers of all skill levels---from no-code to pro-code---using ServiceNow's tools like Creator Studio, App Engine Studio, and ServiceNow Studio.
Show full answer Show less  

## Key Features

* **Development Options:** ServiceNow supports no-code, low-code, platform-level coding, and expert coding environments, accommodating diverse developer expertise and accelerating app creation.
* **Software Development Life Cycle:** The SDLC steps covered include defining the problem, planning the solution, coding, testing, deploying, maintaining, and documenting the application. ServiceNow documentation and tools are organized around these stages.
* **Problem Definition:** Successful app development starts with clearly defining desired application outputs and input data sources, often involving tables that can be managed via ServiceNow's Table Builder. Early mockups and feedback sessions are encouraged to refine output design.
* **Solution Planning:** Using flowcharts to map input-to-output processes helps focus on the overall logic before coding, ensuring optimized and well-permissioned app development. Citizen developers gain development permissions through App Engine Management Center.
* **Coding Tools:** Developers can choose from ServiceNow's no-code and low-code tools like App Engine Studio, platform-level tools like ServiceNow Studio, or advanced tools such as ServiceNow IDE and SDK for pro developers.
* **Testing Best Practices:** Thorough testing with varied and edge-case data, including invalid or missing inputs, is vital to build robust applications that handle errors gracefully, enhancing user experience.
* **Deployment and Maintenance:** Deployment is performed by system administrators using ServiceNow deployment tools, while ongoing maintenance focuses on performance, error resolution, and feature updates, with clear responsibilities delineated between developers and administrators.
* **Documentation Importance:** Detailed documentation supports internal developer collaboration and end-user adoption. Usability testing for both application and documentation is recommended, and professional technical writers may be engaged for comprehensive user guides.

## Key Outcomes

By following these structured development steps and leveraging ServiceNow's diverse toolsets, customers can efficiently build, test, deploy, and maintain applications tailored to their organizational needs. This approach ensures applications are reliable, user-friendly, well-documented, and maintainable over time, even for those new to software development.  
Software development usually encompasses a standard set of steps. If you're new to
developing applications, read on.

## Your job as a developer {#software-dev-cycle__section_mm5_zjl_dwb}

If you're new to developing applications, if you don't even know how to code, ServiceNow has a low-code development platform called [Creator Studio](https://servicenow-prod.fluidtopics.net/Oa9Yiy4iIYJEP_WMR~qYew "If you've ever wanted to create an application but you don't know how to code, then Creator Studio was designed for you!") that makes creating a basic request-fulfill application possible for you. Development might be new waters for you to swim in but you will find the low-code tools easy to use. So, don't
be shy about developing an app!

Software developers do many things but what they have in common is solving problems using computer code. ServiceNow offers coding platforms that require no coding experience, platform development coding experience, and expert coding experience. The less coding required, the more work the coding platform
does for you. So, even experienced software developers will appreciate no-, low-, and platform-level coding products, such as [Creator Studio](https://servicenow-prod.fluidtopics.net/Oa9Yiy4iIYJEP_WMR~qYew "If you've ever wanted to create an application but you don't know how to code, then Creator Studio was designed for you!") and [ServiceNow Studio](https://servicenow-prod.fluidtopics.net/iUE6GlRkuvpmGBBCbQcw8w "ServiceNow Studio provides a unified experience for all ServiceNow development activities, enabling admins and developers to extend base system solutions and create custom apps with ease. Use ServiceNow Studio to build apps and app files with integrated tools, access and edit app metadata in scoped and global apps, and package app changes for deployment, all in one powerful development tool.").

## Software development life cycle {#software-dev-cycle__section_ffr_fkl_dwb}

The common stages of developing an application are:

1. Define the problem.
2. Plan the solution.
3. Code the solution.
4. Test the application.
5. Deploy the application.
6. Document the application.
{#software-dev-cycle__ol_s5y_jkl_dwb}

These steps are commonly referred to as the software development life cycle. [ServiceNow developer documentation](https://servicenow-prod.fluidtopics.net/vr29EATZYAREdzNa6vhdUg "Learn how to become an application developer using ServiceNow AI Platform low-code tools. Start with what you know and use a library of reusable components and published applications to modernize your legacy processes.")
is grouped according to these steps.

## Do you really need to create a new application {#software-dev-cycle__section_at3_v4y_fwb}

Your first step is to determine if creating an application is necessary. Consider:

* [Can you extend an existing
  application instead of creating a new one?](https://servicenow-prod.fluidtopics.net/2tQ6Jc8cZ6bqAHV1bNle4g "At a certain point in the lifetime of your applications, it might make sense to create an application to replace the old one. Cost savings, maintenance effort, and features available in new apps can help you determine if it's better to build a new application or modify an existing one.")
* How many people will the application serve? If not many, is it worth the effort?
* Are you willing to maintain the application as things change over time?
* How often will anyone use this application? If not often, is it worth the effort?
{#software-dev-cycle__ul_jyg_y4y_fwb}

If creating a new application makes sense, then move forward.

## Defining the problem {#software-dev-cycle__section_d3y_pkl_dwb}

If you're planning to create an application, you must have some notion of what you want it to do. You might not have a detailed idea of the solution, however. At a minimum, you need to define in detail:

* Desired application output
* Data going into the application

{#software-dev-cycle__ul_ec2_qhy_fwb} The data going in typically comes from a table of data. You need to know the table name and the type of data in it. You can use ServiceNow tools, like [Table Builder](https://servicenow-prod.fluidtopics.net/JsMfOwk2pZuxROkx9vgGWQ "Table Builder enables you to create, design, and administer tables and forms visually from a single user interface."), to store and customize your data.

The desired output might be a dashboard, data stored in a table, or a piece of equipment being
sent to an employee. Before you decide on the output, show a mockup of your output to a lot of
people to see if they can suggest improvements to the output. Do not skip this step.

## Planning the solution {#software-dev-cycle__section_omm_1jy_fwb}

There are various ways to create an algorithm that produces the output you want. The easiest
methodology is to use a flowchart that starts with the input data and shows each step in the
process that leads to the output. Using a flowchart enables you to focus on the big picture of
what you want to do and avoid how to do it. Look at your flowchart critically to optimize the
process.

You may need to get permissions to use tables of data or even permission to create an
application. For example, citizen developers are granted app development permissions through
[App Engine
Management Center](https://servicenow-prod.fluidtopics.net/cHB1_SWcY8HOcMPQtfp1qg "Track and manage your App Engine Studio (AES) and Creator Studio requests, deployments, applications, and collaborative developers using the App Engine Management Center (AEMC) in your production instance. Additionally, AEMC allows admins to manage app development from intake through production.").

For more information about ServiceNow planning tools, see [Planning your application](https://servicenow-prod.fluidtopics.net/rkqKlRc3ie8NTMjPjM7x0g "The application development process starts with planning. Consider how the application will work, who will use it, and how it improves user experience.").

## Coding the application {#software-dev-cycle__section_ws2_zjy_fwb}

To code the application, you can use:

* Low-code ServiceNow tools, such as [App Engine Studio](https://servicenow-prod.fluidtopics.net/Fmj9brHb9IK_I4bR7EEMGw "ServiceNow App Engine Studio (AES) is a guided, low-code tool for developing rich web applications to store information, automate business processes, and solve business problems. Work that was once assigned to administrators can now be delegated to employees with little to no training using AES.").
* Platform developer ServiceNow tools, such as [ServiceNow Studio.](https://servicenow-prod.fluidtopics.net/iUE6GlRkuvpmGBBCbQcw8w "ServiceNow Studio provides a unified experience for all ServiceNow development activities, enabling admins and developers to extend base system solutions and create custom apps with ease. Use ServiceNow Studio to build apps and app files with integrated tools, access and edit app metadata in scoped and global apps, and package app changes for deployment, all in one powerful development tool.")
* Pro-dev source code tools, such as [ServiceNow IDE](https://servicenow-prod.fluidtopics.net/WXH~scy09LlIq5Ys8eHepQ "Create and develop scoped applications in source code in an integrated development environment (IDE) on the ServiceNow AI Platform to improve collaboration across development teams and accelerate application development.") and [ServiceNow SDK](https://servicenow-prod.fluidtopics.net/FkpT~ktH_lNP0BluJhpg4g "Create and develop scoped applications in source code locally in Visual Studio Code Desktop and upload changes to an instance using the ServiceNow software development kit (SDK).").

{#software-dev-cycle__ul_ky4_dky_fwb}For more information about ServiceNow coding platforms, see [Developing your application](https://servicenow-prod.fluidtopics.net/ZY0rFz~AI58~kwRwo7T4~g "Build a custom application to meet the business needs of your organization. Choose a builder for the type of user experience or workflow that you want to create.").

## Testing your application {#software-dev-cycle__section_ug1_rky_fwb}

Testing your application requires inputting data to make sure the outcome is accurate. It is
important to input a lot of data, even incorrect data, to see how well your application handles
correct and incorrect inputs. Put in data that is too large or the wrong type. Put in no data at
all. Try to break your application to prevent your users from doing so. Handling error
conditions gracefully is critical for a good customer experience.

For more information about ServiceNow testing tools, see [Testing and debugging applications](https://servicenow-prod.fluidtopics.net/NKChEz0AAzRBGCRJXGvsDg "Verify the application meets your business requirements. Your testing should cover record operations (such as create, read, update, and delete), user interface elements (such as views and UI policies), runtime operations (such as business rules), and event script actions.").

## Deploying your application {#software-dev-cycle__section_inn_dmy_fwb}

Now that you've tested your application, it's time to deploy it so customers can use it.
Application deployment is done by system administrators not developers.

For information about ServiceNow deployment tools, see [Deploying applications](https://servicenow-prod.fluidtopics.net/TcjuymgHbM3TgnYtNPAa8g "Deliver your application to users by publishing it to a live production environment.").

## Maintaining your application {#software-dev-cycle__section_qq2_5my_fwb}

Maintaining the application deals with issues such as overloading a server, application
errors, and feature updates. Accounting for feature updates is a developer's job. Seeing how
well an application is working is a system administrator's job.

For more information about ServiceNow tools that help you maintain your
application, see [Maintaining your
application](https://servicenow-prod.fluidtopics.net/M9Vf9N6i3zo3B~mctFTHsw "Use your app builder tool to update and modify your application. Use your testing tool to verify that your application still functions properly.").

## Documenting your application {#software-dev-cycle__section_i3v_2ny_fwb}

Application development is never complete until the application is documented. There are many reasons to document your application:

* Internal notes help other developers work on your application. It takes a lot of time to figure out the reasoning behind programming decisions and methodology. Documenting those helps future developers maintain your application.
* Users need to know how to use your application. As transparent as you believe the application is, you will find many people who get frustrated trying to use it. Do a usability test on your application and documentation to see where users run into problems. The broader the audience, the more important the application, the more important the documentation. Consider using an experienced technical writer to write the documentation.
{#software-dev-cycle__ul_bxn_hny_fwb}

