Software design and development
Software design and development encompasses an array of processes and methodologies. Developers have a lot to manage and will need guidance on how to handle different tasks and projects. Brush up on everything from app-dev approaches such as low code, test- and model-driven development, code refactoring and management practices, UI and UX design, and developer tools.
Top Stories
-
Tip
19 Dec 2024
A JavaScript functional programming basic tutorial
JavaScript's versatility makes it useful for webpages and web servers, but also functional programming. This tutorial shows how to implement JavaScript functional programming. Continue Reading
By- Bob Reselman, CogArtTech
-
Tip
13 Dec 2024
How to choose the best Markdown editor for your use case
A dedicated authoring tool helps writers take full advantage of Markdown. Find one that supports your development projects, documentation tasks or even daily writing objectives. Continue Reading
By- Damon Garn, Cogspinner Coaction
-
Tip
20 May 2024
How to create an engaging README file
Every developer must learn the art of creating a README file to explain critical information about their software projects to internal stakeholders and customers. Continue Reading
By -
News
14 May 2024
What Google Gemini AI updates mean for software developers
Google's AI dev tools deliver natively multi-modal models that can process huge amounts of data more efficiently and affordably, making it easier to develop apps using AI. Continue Reading
By- Beth Pariseau, Senior News Writer
-
News
01 May 2024
Amazon Bedrock users adapt app dev to GenAI
Early adopters of Amazon Bedrock shared lessons learned about incorporating generative AI into software engineering workflows, from managing cloud costs to writing prompts. Continue Reading
By- Beth Pariseau, Senior News Writer
-
Definition
29 Apr 2024
integrated development environment (IDE)
An integrated development environment (IDE) is a software suite that consolidates basic tools required to write and test software. Continue Reading
By- Alexander S. Gillis, Technical Writer and Editor
- Valerie Silverthorne
-
Definition
26 Apr 2024
12-factor app
Twelve-factor app is a methodology for building distributed applications that run in the cloud and are delivered as a service. Continue Reading
By- Margie Semilof, TechTarget
-
Definition
26 Apr 2024
feature-driven development (FDD)
Feature-driven development (FDD) is an Agile software development framework that organizes work around product features. Continue Reading
-
Definition
25 Apr 2024
model-driven development
Model-driven development (MDD) is a format to write and implement software quickly, effectively and at minimum cost. Continue Reading
By- Alexander S. Gillis, Technical Writer and Editor
-
Tip
18 Apr 2024
The 7 stages of the SDLC explained
The development process can be broken into seven distinct phases that transform high-level plans into production-ready software. Learn how to approach each phase of the SDLC. Continue Reading
By -
Tip
17 Apr 2024
Learn the phases of feature-driven development
Learn how development teams can use the five phases of feature-driven development to put Agile principles into practice by structuring projects around app functionality. Continue Reading
By -
Tip
11 Apr 2024
Speed up Python and NumPy by avoiding the conversion tax
Data and memory transfers in Python come with a hidden performance tax. Here's how to use NumPy for optimal performance by avoiding jumps across a hidden line of conversions. Continue Reading
By- Maxim Zaks, Yoyo Labs
-
Video
09 Apr 2024
Top REST API URL naming convention standards
There is no official REST URL naming standard. However, these 15 RESTful API naming conventions will help you create highly interoperable web services. Continue Reading
By- Raghu Karan Adapala, Xennial Innovations Inc.
-
News
09 Apr 2024
New Google Gemini AI tie-ins dig into local codebases
Google ties in its latest Gemini AI model with company-specific data in a new code assistant and Vertex AI updates that also anticipate a coming wave of AI agent development. Continue Reading
By- Beth Pariseau, Senior News Writer
-
Definition
09 Apr 2024
middleware
Middleware is software that bridges the gap between applications and operating systems by providing a method for communication and data management. Continue Reading
By- Rahul Awati
- Alexander S. Gillis, Technical Writer and Editor
-
Video
04 Apr 2024
10 constructor types in Java
How many different types of Java constructors could you name? The Java spec names 10. Generic, canonical and anonymous Java constructor types just might be new to you. Continue Reading
By- Cameron McKenzie, TechTarget
-
News
04 Apr 2024
JetBrains IDEs add local AI code completion
JetBrains beats GitHub Copilot to an increasingly popular trend that circumvents copyright and data privacy concerns with cloud-based AI assistants. Continue Reading
By- Beth Pariseau, Senior News Writer
-
Tip
04 Apr 2024
How to apply impact mapping to software with examples
Impact mapping can reduce scope creep and enable flexibility in the SDLC by creating a shared understanding among all stakeholders. Learn how to apply it to software projects. Continue Reading
By- Gerie Owen, Cubic Transportation Systems
-
Tip
26 Mar 2024
Testing generative AI apps
With generative AI apps rising in popularity, QA professionals should be aware of their unique failure modes. Learn what testers need to consider when handling these tools. Continue Reading
-
Definition
25 Mar 2024
Spring Framework (Spring)
The Spring Framework (Spring) is an open source software development framework that provides infrastructure support for building Java-based applications on any deployment platform. Continue Reading
By -
Video
19 Mar 2024
Learn Maven tutorial for beginners
Apache Maven is the Java world's most popular build tool, and if you're a Java developer, it behooves you to learn it. This Maven tutorial will make you an expert in a hurry. Continue Reading
By- Cameron McKenzie, TechTarget
-
Definition
19 Mar 2024
scripting language
A scripting language is a type of programming language in which the instructions are interpreted individually at runtime. Continue Reading
-
Definition
15 Mar 2024
low-code and no-code development platforms
Low-code/no-code development platforms are software development tools and environments that allow enterprise developers and citizen developers to create new applications using drag-and-drop components, linking them together and creating mobile or web apps. Continue Reading
-
News
15 Mar 2024
CISA software supply chain security form omits SBOMs
Federal suppliers now have a self-attestation deadline amid ongoing efforts to secure software supply chains. But SBOMs' spotlight is fading and big risks remain, experts said. Continue Reading
By- Beth Pariseau, Senior News Writer
-
Tip
14 Mar 2024
Applying Kanban principles to software development
Kanban was conceptualized in manufacturing and later adopted by software development teams, alongside other methodologies, such as Lean and Scrum. Learn to apply Kanban principles. Continue Reading
By- Gerie Owen, Cubic Transportation Systems
-
News
13 Mar 2024
Researchers warn devs of vulnerabilities in ChatGPT plugins
OpenAI and two third-party providers fixed vulnerabilities in the experimental ChatGPT plugins framework, but Salt Security researchers caution devs that security risks persist. Continue Reading
By- Beth Pariseau, Senior News Writer
-
Definition
06 Mar 2024
program counter
A program counter is a special register in a computer processor that contains the memory address (location) of the next program instruction to be executed. Continue Reading
-
Definition
06 Mar 2024
functional programming
Functional programming is a programming paradigm that uses functions to construct programs and control how those programs operate. Continue Reading
By- Ben Lutkevich, Site Editor
-
Definition
05 Mar 2024
declarative programming
Declarative programming is a method to abstract the control flow for logic required for software to perform an action. Instead, it involves stating what the task or desired outcome is. Continue Reading
-
News
28 Feb 2024
New Nvidia, GitHub AI coding assistants expand devs' options
GitHub Copilot Enterprise and StarCoder2 LLMs, both released this week, will add to an array of AI coding assistants. But caution, especially with security, is still warranted. Continue Reading
By- Beth Pariseau, Senior News Writer
-
Definition
06 Feb 2024
API gateway (application programming interface gateway)
An API gateway is a software pattern that sits in front of an application programming interface (API) or group of microservices to facilitate requests and delivery of data and services. Continue Reading
By- Paul Kirvan
- James Montgomery, Senior Features Editor
-
News
29 Jan 2024
Credit Karma preps 'Zero-touch' Argo Rollouts
The Intuit subsidiary is in the process of moving to a homegrown event-driven progressive delivery platform and has already contributed some related code upstream. Continue Reading
By- Beth Pariseau, Senior News Writer
-
Definition
25 Jan 2024
Java
Java is a widely used programming language expressly designed for coding applications and services used in the distributed environment of the internet. Continue Reading
By- Rahul Awati
- Cameron McKenzie, TechTarget
-
Definition
25 Jan 2024
Chaos Monkey
Chaos Monkey is a software tool Netflix engineers developed to test the resiliency and recoverability of their Amazon Web Services (AWS) infrastructure. Continue Reading
-
News
23 Jan 2024
Docker Build Cloud claims speed boost for dev workflows
Docker ships a managed service that pushes container image builds to AWS and adds shared caches to customers' existing dev tools. Continue Reading
By- Beth Pariseau, Senior News Writer
-
Definition
12 Jan 2024
polyglot programming
Polyglot programming is the practice of writing code in multiple languages to capture additional functionality and efficiency not available in a single language. Continue Reading
By- Rahul Awati
- Cameron McKenzie, TechTarget
-
Definition
05 Jan 2024
beta test
In software development, a beta test is the second phase of software testing in which a sampling of the intended audience tries out the product. Continue Reading
By -
Tip
03 Jan 2024
How to write a sprint goal in Scrum
The product of every sprint planning session is a sprint goal. Here, we look at its purpose along with how to write a sprint goal properly. Continue Reading
By- Ashok P. Singh, agreatpm.com
-
Feature
03 Jan 2024
12 Web3 courses to try in 2024
Gain the skills necessary to engage with the newest iteration of the web using one of the many Web3 developer courses and learning resources available online. Continue Reading
By- Kaitlin Herbert, Content writer
- Ben Lutkevich, Site Editor
-
Tip
02 Jan 2024
Create an open source security policy for your organization
Using open source software raises concerns about security and intellectual property. Here's how to make sound decisions and avoid situations you'll regret. Continue Reading
-
Tip
28 Dec 2023
The benefits of using compiled regex in Python and Java
Whether you're programming in Java or Python, compiled regex can significantly speed up your text manipulation routines. Continue Reading
By- Walker Aldridge, Lairds Computer Services
-
Tip
28 Dec 2023
Conduct load tests with JMeter on Kubernetes
Apache JMeter and other load-testing tools can be used with Kubernetes to conduct stress tests to see how well an app performs in specific scenarios. Continue Reading
-
Tip
27 Dec 2023
Shorter code, fewer bugs: Python's syntax is its saving grace
Is shorter code too dense and hard to parse, or is it inherently more efficient and secure? Here's why Python's compact syntax tends toward less buggy code. Continue Reading
By- Walker Aldridge, Lairds Computer Services
-
Tip
21 Dec 2023
Object-oriented vs. functional programming explained
While plenty of developers entertain the idea of adopting a functional programming model, it's important to first know exactly how it differs from the object-oriented approach. Continue Reading
By- Matt Heusser, Excelon Development
-
Definition
20 Dec 2023
iOS software development kit (iOS SDK)
The iOS software development kit (iOS SDK) is a collection of tools for the creation of apps for Apple's mobile operating system (OS). Continue Reading
-
Feature
19 Dec 2023
The 5 SOLID principles of object-oriented design explained
In this primer on SOLID, we'll examine the five principles this development ideology embodies, the practices they encourage and the reasons these concepts matter. Continue Reading
By- Fred Churchville, TechTarget
-
Tip
19 Dec 2023
How to set up Python coding standards for a dev team
Python team leaders have two challenges when it comes to code standards: creating a style guide and getting developers to stick to it. Continue Reading
By -
Tip
12 Dec 2023
The pros and cons of a layered architecture pattern
Layered architecture patterns provide a consistent and secure way to organize code when implemented correctly. However, the way those layers interact should remain a top concern. Continue Reading
By- Priyank Gupta, Sahaj Software
-
News
06 Dec 2023
Google Gemini, AWS GenAI tools face uphill battle for devs
Google's Gemini model claims performance advantages over GPT-4, while AWS touts foundational model choice, but Microsoft still has the advantage in developer tools, IT pros say. Continue Reading
By- Beth Pariseau, Senior News Writer
-
Definition
06 Dec 2023
citizen development
Citizen development is a business process that encourages non-IT-trained employees to become software developers, using IT-sanctioned low-code/no-code (LCNC) platforms to create business applications. Continue Reading
By -
Tip
30 Nov 2023
Elixir vs. Clojure for functional programming at scale
While they don't have the prestige of JavaScript or Python, Elixir and Clojure are making a name for themselves when it comes to functional programming at scale. Continue Reading
By- Twain Taylor, Twain Taylor Consulting
-
Tip
22 Nov 2023
6 common problems with open source code integration
Open source provides its fair share of benefits for businesses that put it to use. However, don't ignore these six hazards that development teams may face along the way. Continue Reading
By -
Definition
22 Nov 2023
natural user interface (NUI)
A natural user interface -- or NUI -- is an interface that is designed to feel as natural as possible. Continue Reading
By- Ben Lutkevich, Site Editor
-
Tip
22 Nov 2023
6 green coding best practices and how to get started
Software developers can support sustainability efforts via a range of green coding tactics. These best practices range from shrinking artifacts to maximizing efficiency. Continue Reading
By- Matt Heusser, Excelon Development
-
Feature
16 Nov 2023
Logistics firm taps Netflix Conductor service to manage AI
SPI Logistics looks to a microservices orchestration service provider founded by the creators of Netflix Conductor as it prepares to weave AI into developer workflows. Continue Reading
By- Beth Pariseau, Senior News Writer
-
News
08 Nov 2023
Intel exec affixes OpenSSF, CNCF open source security efforts
Intel's Arun Gupta, now governing board chair of both the CNCF and OpenSSF, discusses his plans to bring all three organizations together to improve open source security. Continue Reading
By- Beth Pariseau, Senior News Writer
-
Tip
26 Oct 2023
Best practices for automated end-to-end testing
Advanced end-to-end testing can save a company time and money, but it isn't easy to implement. Let's look at some of the important elements of test design. Continue Reading
By- Gerie Owen, Cubic Transportation Systems
-
Tutorial
18 Oct 2023
How to tame Gradle dependency version management
Need to quickly and easily switch between versions of your dependencies at build time? Gradle's dependency catalogs are the answer. Here's how to use them. Continue Reading
By- Joseph B. Ottinger, EnigmaStation
-
Definition
18 Oct 2023
prompt engineering
Prompt engineering is an AI engineering technique encompassing the process of refining LLMs with specific prompts and recommended outputs, as well as the process of refining input to various generative AI services to generate text or images. Continue Reading
-
Tip
13 Oct 2023
Is a continuous planning process in DevOps worth it?
Is a continuous planning strategy right for your organization's DevOps efforts? Know the practical benefits and challenges, as well as how to improve development efficiencies. Continue Reading
By -
News
05 Oct 2023
Docker enters GenAI development fray with new tools
Docker jumps aboard the generative AI bandwagon with a pre-built set of tools to jump-start app development using LLMs and a Docker AI productivity tool. Continue Reading
By- Beth Pariseau, Senior News Writer
-
Tip
20 Sep 2023
Collaborative coding basics and best practices
Successful collaborative coding includes teamwide situational awareness, highly effective communication, strong project management practices and strict version control. Continue Reading
By- Tom Nolle, Andover Intel
-
Definition
12 Sep 2023
model-view-controller (MVC)
In programming, model-view-controller (MVC) is an architectural design pattern that organizes an application's logic into distinct layers, each of which carries out a specific set of tasks. Continue Reading
-
News
07 Sep 2023
Server-side WebAssembly takes shape, but faces challenges
Server-side Wasm's release next quarter will provide a cleaner way to connect apps, followed by further improvements in early 2024. Will it be enough to convince skeptics? Continue Reading
By- Beth Pariseau, Senior News Writer
-
Opinion
07 Sep 2023
Containers vs. VMs: Is the VM all that bad?
Containers and VMs are needed to build and maintain software. Containers can deploy and scale apps, while VMs are more resource-intensive and can support separate environments. Continue Reading
By- Matt Grasberger, Red Guava
-
Definition
30 Aug 2023
skeuomorphism
Skeuomorphism is when something is designed with extra ornamentation to make it resemble another object so it is more familiar. Continue Reading
By -
Definition
30 Aug 2023
thread
A thread is, fundamentally, a clear, well-defined theme, subject, topic or focus. Continue Reading
By- Stephen J. Bigelow, Senior Technology Editor
-
Definition
22 Aug 2023
Unified Modeling Language (UML)
Unified Modeling Language (UML) is a standard notation for modeling real-world objects as a first step in designing an object-oriented system. Continue Reading
-
Feature
16 Aug 2023
Compare machine learning vs. software engineering
Although machine learning has a lot in common with traditional programming, the two disciplines have several key differences, author and computer scientist Chip Huyen explains. Continue Reading
By- Lev Craig, Site Editor
- O'Reilly Media
-
Definition
15 Aug 2023
C++
C++ is an object-oriented programming (OOP) language that is viewed by many as the best language for creating large-scale applications. C++ is a superset of the C language. Continue Reading
By- Nick Barney, Technology Writer
-
Definition
25 Jul 2023
unique device identifier (UDID)
A unique device identifier (UDID) is a 24-character string assigned to Apple devices. Apple uses the UDID for software beta test enrollment and Find My activation status. Continue Reading
By -
News
21 Jul 2023
Postman API platform will use Akita to tame rogue endpoints
Akita's discovery and observability will feed undocumented APIs into Postman's design and testing framework to bring them into the enterprise governance fold. Continue Reading
By- Beth Pariseau, Senior News Writer
-
News
20 Jul 2023
GitHub Copilot Chat aims to replace Googling for devs
GitHub's public beta of Copilot Chat rolls out GPT-4 integration that embeds a chat assistant into Visual Studio, but concerns about AI linger for some developers. Continue Reading
By- Beth Pariseau, Senior News Writer
-
Tip
19 Jul 2023
Haskell vs. PureScript: The difference is complexity
Haskell and PureScript each provide their own unique development advantages, so how should developers choose between these two popular programming languages? Continue Reading
By -
Definition
13 Jul 2023
Remote Method Invocation (RMI)
Remote Method Invocation (RMI) is an application programming interface (API) in the Java programming language and development environment. Continue Reading
By -
Tip
29 Jun 2023
5 noteworthy challenges of automotive software development
Modern cars are loaded with technology, but creating in-vehicle applications isn't always a cakewalk. Here are five unique challenges developers face with automotive software. Continue Reading
By- Matt Heusser, Excelon Development
-
Definition
28 Jun 2023
loose coupling
Loose coupling is an approach to interconnecting the components in a system, network or software application so that those components, also called elements, depend on each other to the least extent practicable. Continue Reading
By -
Definition
27 Jun 2023
pseudocode
Pseudocode is a detailed yet readable description of what a computer program or algorithm should do. Continue Reading
-
Definition
26 Jun 2023
git stash
Git stash is a built-in command that stores, or stashes, changes in the software development tool Git that aren't yet ready to be committed. Continue Reading
By- Nick Barney, Technology Writer
-
Definition
26 Jun 2023
WebAssembly
WebAssembly (Wasm) is a binary instruction format for compiling and executing code in a client-side web browser. Continue Reading
By- Stephen J. Bigelow, Senior Technology Editor
-
Feature
21 Jun 2023
How AI changes quality assurance in tech
AI and automation have become more commonplace across business processes. In the tech industry, for example, the use of both can enhance quality assurance. Continue Reading
-
Definition
21 Jun 2023
wall time
Wall time, also called real-world time, clock time, wall-clock time or -- more accurately -- elapsed real time, is the amount of time that a program or process takes to run from start to finish as measured by a person. Continue Reading
By -
Quiz
20 Jun 2023
Scrum master certification exam questions and answers
Are you ready for the Scrum master certification exam? Test yourself on these 10 tough Scrum master exam questions and answers. Continue Reading
By- Darcy DeClute, Scrumtuous Inc.
-
Quiz
20 Jun 2023
More Scrum product owner certification exam questions
Want to get Scrum product owner-certified? These tough practice exam questions test your ability to apply the Scrum framework in the capacity of a Professional Scrum Product Owner. Continue Reading
By- Darcy DeClute, Scrumtuous Inc.
-
Quiz
20 Jun 2023
Scrum product owner certification exam questions and answers
Here are 10 tough sample Scrum product owner exam questions and answers to help gauge your readiness for the certification test. Continue Reading
By- Darcy DeClute, Scrumtuous Inc.
-
Definition
19 Jun 2023
polymorphism
Polymorphism is a popular concept in object-oriented programming (OOP), referring to the idea that an entity in code such as a variable, function or object can have more than one form. Continue Reading
By -
Opinion
19 Jun 2023
App development trends and their security implications
Enterprise Strategy Group analysts look at how organizations are modernizing software development processes and how security teams can support the growth and scale. Continue Reading
By- Melinda Marks, Practice Director
- Paul Nashawaty
-
Enterprise Strategy Group
We provide market insights, research and advisory, and technical validations for tech buyers.
-
Definition
19 Jun 2023
requirements analysis (requirements engineering)
Requirements analysis (requirements engineering) is the process of determining user expectations for a new or modified product. Continue Reading
By -
Tip
16 Jun 2023
Microservices vs. headless architecture: A brief breakdown
Microservices and headless architectures are both techniques capable of providing flexibility and modularity, but how do you make a wise choice between them? Continue Reading
By -
News
15 Jun 2023
CISA SBOM standards efforts stymied by confusion, inertia
Efforts to establish SBOM standards and guidance have progressed, but unanswered questions persist -- including how the federal government plans to enforce its own requirements. Continue Reading
By- Beth Pariseau, Senior News Writer
-
Definition
14 Jun 2023
garbage in, garbage out (GIGO)
Garbage in, garbage out, or GIGO, refers to the idea that in any system, the quality of output is determined by the quality of the input. Continue Reading
By -
Definition
14 Jun 2023
Microsoft Power Apps
Power Apps is a suite of Microsoft products that enable both developers and nontechnical users to build custom applications to fulfill various business needs. Continue Reading
By -
Definition
14 Jun 2023
joint application development (JAD)
Joint application development, frequently shortened to JAD, is a methodology that involves the client or end user in the design and development of a software application through a succession of collaborative workshops called JAD sessions. Continue Reading
By -
Definition
09 Jun 2023
Korn shell (ksh)
The Korn shell (ksh) is an operating system (OS) command shell that was developed for Unix by David Korn at Bell Labs. Continue Reading
-
News
08 Jun 2023
Sysdig CNAPP runtime threat detection wins over BigCommerce
Sysdig's fast, comprehensive data collection, now part of a larger CNAPP product, sealed the deal with the e-commerce company. Next, it might replace vulnerability management tools. Continue Reading
By- Beth Pariseau, Senior News Writer
-
News
06 Jun 2023
Free Atlassian Jira DevSecOps tab opens doors to expansion
Vulnerability management data from Atlassian partners surfaces in a new Security in Jira tab for cloud customers, setting the stage for a potential DevSecOps expansion. Continue Reading
By- Beth Pariseau, Senior News Writer
-
Definition
06 Jun 2023
histogram
A histogram is a type of chart that shows the frequency distribution of data points across a continuous range of numerical values. Continue Reading
-
Definition
06 Jun 2023
internationalization (I18N)
Internationalization is the process of designing and building a product so that it can be easily adapted to specific languages and cultures. Continue Reading
-
Definition
05 Jun 2023
UX research
User experience (UX) research is the study of learning what end users of a system or product need and want, then employing those insights to enhance the design process for products, services or software. Continue Reading
-
Feature
31 May 2023
The emerging usability of ChatGPT in software development
In the hands of a creative developer, ChatGPT has what it takes to be a helpful coding tool. But generative AI may soon attain the capability to act as more than an assistant. Continue Reading
By -
Definition
24 May 2023
Power Platform
Power Platform is an intuitive and collaborative platform from Microsoft. Continue Reading
By- Rahul Awati
- Alexander S. Gillis, Technical Writer and Editor
-
Definition
19 May 2023
no op (no operation)
No op means 'no operation,' which is a computer instruction that specifies no operation but takes up a small amount of storage space. Continue Reading
By