Software development best practices and processes
The enterprise software development landscape has changed drastically with the rise of Kotlin, Clojure, Python and JavaScript. From a focus on functional programming to new takes on object-oriented analysis and design, Java programmers and JDK architects can learn from these languages' development processes and software engineering best practices.
Top Stories
-
Tip
27 Nov 2024
The 5 Scrum events explained
Scrum consists of four formal events for inspection and adaptation within one containing event -- the sprint. Learn how to execute each event in this framework. Continue Reading
By- Gerie Owen, Cubic Transportation Systems
-
Tip
26 Nov 2024
Agile estimation: Predicting the unpredictable
Agile teams' overreliance on estimates detracts from the overall goal to deliver value to the customer. Avoid these agile estimation pitfalls in your software development efforts. Continue Reading
By- Ashok P. Singh, Wells Fargo
-
Tip
26 Nov 2024
Agile estimation: Predicting the unpredictable
Agile teams' overreliance on estimates detracts from the overall goal to deliver value to the customer. Avoid these agile estimation pitfalls in your software development efforts. Continue Reading
By- Ashok P. Singh, Wells Fargo
-
Definition
22 Nov 2024
What is an application architecture?
An application architecture is a structural map of how a software application is assembled and how applications interact with each other to meet business or user requirements. Continue Reading
-
Tip
21 Nov 2024
Know these top 5 Scrum antipatterns
Embrace sprints, set clear goals, engage with customers -- these behaviors and others will help your teams avoid common Scrum antipatterns. Continue Reading
By- Michael Lloyd, Honest Agile
-
Video
19 Nov 2024
Java, JDBC and SQL Server tutorial
This tutorial shows how to create a JDBC connection to Microsoft's SQL Server, and get started creating Java-based applications that are scalable and secure. Continue Reading
By- Cameron McKenzie, TechTarget
-
Tip
18 Nov 2024
Scrum master responsibilities: What does a Scrum master do?
While the title may sound authoritative, Scrum masters have little control over their team. So, what exactly does a Scrum master do? The answer might surprise you. Continue Reading
By- Darcy DeClute, Scrumtuous Inc.
-
Definition
15 Nov 2024
What is a Waterfall model? Definition and guide
The Waterfall model is a linear, sequential approach to the software development lifecycle (SDLC) that is popular in software engineering and product development. Continue Reading
By- Paul Kirvan
- Ben Lutkevich, Site Editor
- Sarah Lewis
-
Tip
14 Nov 2024
MySQL vs. PostgreSQL: Compare popular open source databases
This deep dive compares two popular open source database options, MySQL vs. PostgreSQL, across key categories including performance, compliance, security, scalability and more. Continue Reading
By- Walker Aldridge, Lairds Computer Services
-
Tutorial
07 Nov 2024
How to build a Python port scanner
Python offers beginning coders a lot of flexibility and is a novel way to build tools designed to probe port performance across your network. Continue Reading
By- Damon Garn, Cogspinner Coaction
-
Tip
25 Oct 2024
8 microservices best practices to remember
From integrating domain-driven design to securing APIs, explore a range of microservices best practices for building a resilient and scalable application. Continue Reading
By- Tom Nolle, Andover Intel
-
Definition
22 Oct 2024
What is alpha testing?
Alpha testing is the initial phase of validating whether a new product will perform as expected. Continue Reading
By- Margie Semilof, TechTarget
-
Definition
22 Oct 2024
What is acceptance testing?
Acceptance testing is a quality assurance (QA) process that determines to what degree an application meets end users' approval. Continue Reading
By- Alexander S. Gillis, Technical Writer and Editor
-
Definition
22 Oct 2024
What is a product owner?
A product owner is a role on a Scrum team that is responsible for the project's outcome. Continue Reading
By- Diane Hoffman, Intelopment Group LLC
-
Definition
18 Oct 2024
What is Agile software development?
Agile is a type of software development methodology that anticipates the need for flexibility and applies a level of pragmatism to the delivery of the finished product. Continue Reading
By- Scott Robinson, New Era Technology
- Kate Brush
- Valerie Silverthorne
-
Definition
17 Oct 2024
What is happy path testing?
Happy path testing is a type of software testing that uses known input and produces an expected output. Continue Reading
-
Definition
17 Oct 2024
What is a functional specification document?
A functional specification is a formal document used to describe a product's intended capabilities, appearance and interactions with users in detail for software developers. Continue Reading
-
Definition
16 Oct 2024
What is monolithic architecture in software?
Monolithic architecture is the traditional unified model for the design of a software program. Continue Reading
-
Tip
15 Oct 2024
OKRs vs. KPIs: Driving bold outcomes and measuring steady performance
KPIs track outputs, and OKRs focus on outcomes or changes in user behavior. Here's how business can use them together to measure outcome-driven progress and success. Continue Reading
By- Ashok P. Singh, Wells Fargo
-
Video
11 Oct 2024
Git commit message conventions and best practices
Never underestimate the power of a good git commit message. Need help writing one? Here are the commonly accepted git commit message guidelines and best practices. Continue Reading
By- Cameron McKenzie, TechTarget
-
Definition
11 Oct 2024
What is black box testing?
Black box testing assesses a system solely from the outside, without the operator or tester knowing what's happening within the system to generate responses to test actions. Continue Reading
By- Scott Robinson, New Era Technology
- Matt Heusser, Excelon Development
-
Tip
07 Oct 2024
How to use security as code to achieve DevSecOps
Security as code helps organizations achieve DevSecOps and shift-left security. Learn about SaC's benefits, challenges and implementation best practices. Continue Reading
By -
Tip
03 Oct 2024
Simplifying native interoperability in Java with JEP 454
Finalized in Java 22, JEP 454 helps developers safely and efficiently call native functions and manage memory outside of Java. Here's a rundown of how it works. Continue Reading
By- A N M Bazlur Rahman, DNAStack
-
Tip
03 Oct 2024
What's wrong with Java? Nothing, but evaluate alternatives
Java's benefits don't always fit a given task, and a different language might be a better choice. Use these comparisons to choose the best code for your needs. Continue Reading
By- Walker Aldridge, Lairds Computer Services
-
Definition
01 Oct 2024
What are ModelOps (model operations) analytics models?
ModelOps (model operations) is a holistic approach to building analytics models that can quickly progress from the lab to production. Continue Reading
By- Nick Barney, Technology Writer
- Katie Terrell Hanna
- Corinne Bernstein
-
Definition
19 Sep 2024
What is a PERT chart? And how to use it, with examples
A PERT chart, sometimes called a PERT diagram, is a project management tool used to schedule, organize and coordinate tasks in a project. Continue Reading
-
Answer
19 Sep 2024
What are the types of requirements in software engineering?
Requirements fall into three categories: business, user and software. See examples of each one, as well as what constitutes functional and nonfunctional software requirements. Continue Reading
By- Stephen J. Bigelow, Senior Technology Editor
-
Video
16 Sep 2024
Dependency injection and inversion of control in Spring
At the heart of every Spring project, be it Spring AI, Spring MVC or Spring Data, lies a powerful dependency injection and inversion of control container. Here's how it works. Continue Reading
By- Cameron McKenzie, TechTarget
-
Definition
12 Sep 2024
What is BASIC (Beginner's All-purpose Symbolic Instruction Code)?
BASIC, short for Beginner's All-purpose Symbolic Instruction Code", is an early programming language that was designed to help non-technical users and students solve easy problems with a computer. Continue Reading
By -
Definition
11 Sep 2024
What is a software stack?
A software stack is a collection of independent components that work together to support the execution of an application. Continue Reading
By- Paul Kirvan
- Margie Semilof, TechTarget
- James Montgomery, Senior Features Editor
-
Definition
05 Sep 2024
What is machine code (machine language)?
Machine code, also known as ‘machine language’ or ‘native code,’ is the elemental language of computers. It is read by the computer’s central processing unit (CPU), is composed of digital binary numbers and looks like a very long sequence of zeros and ones. Continue Reading
-
Tip
04 Sep 2024
10 dying or 'dead' programming languages
In a rapidly evolving landscape, these 10 programming languages are becoming increasingly obscure. Learn how programming languages die despite their former prominence. Continue Reading
By -
Definition
26 Aug 2024
What is value-sensitive design?
Value-sensitive design is a concept that advocates the consideration of human principles and standards when planning technology. Continue Reading
By- Scott Robinson, New Era Technology
- Mary K. Pratt
-
Video
22 Aug 2024
Sprint review vs. retrospective: What's the difference?
While the purposes of Scrum sprint planning and the daily standup are self-evident, people often confuse the sprint review and retrospective. Here's the difference between them. Continue Reading
By- Darcy DeClute, Scrumtuous Inc.
-
Video
16 Aug 2024
How to deploy Spring Boot apps in AWS
You don't need a Kubernetes cluster to host your cloud-native Spring Boot microservices. Learn how to quickly deploy your Spring Boot applications in AWS using ECS and Fargate. Continue Reading
By- Cameron McKenzie, TechTarget
-
Definition
14 Aug 2024
What is a build server?
A build server, also called a continuous integration server (CI server), is a centralized, stable and reliable environment for building distributed development projects. Continue Reading
By- Robert Sheldon
- Cameron McKenzie, TechTarget
-
Definition
09 Aug 2024
What is shift-right testing?
Shift-right testing is a method of continuously testing software while it is in a post-production environment. Continue Reading
-
Definition
09 Aug 2024
What is the software development lifecycle (SDLC)?
The software development lifecycle (SDLC) is a project management framework that describes the stages and tasks involved in each step of software development. Continue Reading
By- Alexander S. Gillis, Technical Writer and Editor
-
Tip
06 Aug 2024
Epics, features and user stories explained
Epics, features and user stories are all uniquely important work products in Agile product management. Learn the difference between them and how they work together to create value. Continue Reading
By- Gerie Owen, Cubic Transportation Systems
-
Video
02 Aug 2024
Agile vs. Scrum: How to choose between them
Scrum and Agile both emphasize collaboration and efficiency for DevOps teams in different ways. Learn when to use each approach and when to use them in tandem. Continue Reading
By- Ben Lutkevich, Site Editor
-
Tip
31 Jul 2024
A beginner's guide to learning new programming languages
Rust or Ruby? Go or Groovy? As the competitive IT landscape evolves, developers can enhance their skills and career potential by learning new programming languages. Continue Reading
By -
Definition
31 Jul 2024
What is continuous integration (CI)?
Continuous integration (CI) is a software development practice in which frequent and incremental changes are routinely added (integrated) to the complete codebase immediately after the changes and additions are tested and validated. Continue Reading
By- Stephen J. Bigelow, Senior Technology Editor
- Alexander S. Gillis, Technical Writer and Editor
-
Tutorial
29 Jul 2024
Natural language programming using GPTScript
GPTScript enables programmers to use natural language syntax and tap into OpenAI when building apps. Here's a basic GPTScript tutorial with examples for beginners. Continue Reading
By- Bob Reselman, CogArtTech
-
Definition
29 Jul 2024
What is no-code? Everything you need to know
No-code is a software development approach that requires few, if any, programming skills to quickly build an application, website or module that links into an existing system. Continue Reading
-
Video
19 Jul 2024
GET vs. POST: What's the difference?
POST and GET are the two most-used RESTful HTTP methods. But how well versed are you on the differences between them? Continue Reading
By- Cameron McKenzie, TechTarget
-
Video
17 Jul 2024
How to install MySQL on Windows
Need a well-maintained, open-source, standards-based database to test your Java apps and Spring Boot microservices? Here's how to download and install the MySQL Community Edition. Continue Reading
By- Cameron McKenzie, TechTarget
-
Definition
16 Jul 2024
component
In programming and engineering disciplines, a component is an identifiable part of a larger program or construction. Continue Reading
By- Stephen J. Bigelow, Senior Technology Editor
-
Definition
16 Jul 2024
exception handler
An exception handler is code that stipulates what a program will do when an anomalous or exceptional event occurs and disrupts the normal flow of that program's instructions. Continue Reading
By -
Video
15 Jul 2024
How to print any star pattern in Python -- or Mojo
Mojo is a superset of Python. What does that mean? For one, printing a Python star pattern looks a lot like solving a Mojo star pattern. Continue Reading
By- Darcy DeClute, Scrumtuous Inc.
-
Video
15 Jul 2024
REST vs RESTful API: What's the difference?
Are your APIs RESTful? The only way to know is to fully understand what REST is. Here's how REST and RESTful APIs work together. Continue Reading
By- Raghu Karan Adapala, Xennial Innovations Inc.
-
Video
09 Jul 2024
Python's GIL removal is a poison pill and benefits Mojo
Developers have pleaded for 30 years for the stewards of the language to remove Python's GIL. If they do it now, it will be the end of Python. Continue Reading
By- Darcy DeClute, Scrumtuous Inc.
-
Tip
03 Jul 2024
Top benefits of the Zig programming language
Does the world really need another programming language? Yes, say developers behind Zig. Here are five of the top features Zig brings to the programming world. Continue Reading
By -
Tip
02 Jul 2024
Requirements vs. user stories in software development
User stories fulfill the same purpose as software requirements but through different means. Learn how to write user stories and how they relate to software requirements. Continue Reading
By- Gerie Owen, Cubic Transportation Systems
-
Tip
28 Jun 2024
The 3-level DBMS schema architecture
The three-level DBMS architecture makes database design more secure, extensible and accessible for client applications. Learn the basics of how it works, with examples. Continue Reading
By- Raghu Karan Adapala, Xennial Innovations Inc.
-
Video
25 Jun 2024
My 2024 Scrum Guide updates
An update to Scrum's defining document is brewing. Here are 10 changes I'd like to see in a 2024 Scrum Guide. Continue Reading
By- Darcy DeClute, Scrumtuous Inc.
-
Tip
24 Jun 2024
5 principles of Agile project management
Through Agile project management, techniques such as self-management, self-organization and continuous delivery achieve benefits beyond the domain of software development. Continue Reading
By- Darcy DeClute, Scrumtuous Inc.
-
Definition
20 Jun 2024
software patch
A software patch or fix is a quick-repair job for a piece of programming designed to resolve functionality issues, improve security or add new features. Continue Reading
By- Cameron Hashemi-Pour, Site Editor
- Brien Posey
-
Video
20 Jun 2024
No-GIL Python is a mistake
Python's GIL is slated for the chopping block, and while the promise is improved performance, the reality of removing the GIL may be quite different. Continue Reading
By- Darcy DeClute, Scrumtuous Inc.
-
Definition
14 Jun 2024
reactive programming
Reactive programming is a programming paradigm, or model, that centers around the concept of reacting to changes in data and events as opposed to waiting for an event to happen. Continue Reading
By- Alexander S. Gillis, Technical Writer and Editor
- Tom Nolle, Andover Intel
-
Video
14 Jun 2024
Scrum methodology explained
Want to learn about the Scrum methodology? Then forget everything you think you know about Scrum because it's likely wrong. Continue Reading
By- Darcy DeClute, Scrumtuous Inc.
-
Definition
14 Jun 2024
object-oriented programming (OOP)
Object-oriented programming (OOP) is a computer programming model that organizes software design around data, or objects, rather than functions and logic. An object can be defined as a data field that has unique attributes and behavior. Continue Reading
By- Alexander S. Gillis, Technical Writer and Editor
- Sarah Lewis
-
Video
06 Jun 2024
Is Scrum a framework or methodology?
There has always been debate in the Agile community over whether Scrum is a process, methodology or a framework. It might actually be none of them. Continue Reading
By- Darcy DeClute, Scrumtuous Inc.
-
Definition
06 Jun 2024
domain-driven design (DDD)
Domain-driven design (DDD) is a software development philosophy centered around the business domain, or sphere of knowledge, of that software's users. Continue Reading
By -
Tip
05 Jun 2024
Advanced Java pattern matching techniques, with examples
Dive deeper into Java pattern matching techniques with these examples that range from nested records to type inference, variables and generics. Continue Reading
By- A N M Bazlur Rahman, DNAStack
-
Feature
30 May 2024
Understanding and implementing the software testing pyramid
Frameworks such as the software testing pyramid help developers implement Agile core values. Learn how the testing pyramid helps teams prioritize test type frequency. Continue Reading
By- Gerie Owen, Cubic Transportation Systems
-
Tip
28 May 2024
4 distributed ledger technology risks and how to solve them
Ready to use distributed ledger technologies for smart contracts or other transactions? Know what risks to avoid and overcome to maximize these platforms for your organization. Continue Reading
By- Bob Reselman, CogArtTech
-
Tip
23 May 2024
Introduction to pattern matching in Java
Pattern matching in Java helps developers better describe data structures and avoid runtime errors, while making code more readable and easier to maintain. Here's how it works. Continue Reading
By- A N M Bazlur Rahman, DNAStack
-
Definition
23 May 2024
impact mapping
Impact mapping is a visual planning technique that aligns project processes with business objectives. Continue Reading
By- Ben Lutkevich, Site Editor
-
Definition
23 May 2024
CALMS
CALMS is a conceptual framework for the integration of development and operations (DevOps) teams, functions and systems within an organization. Continue Reading
By -
Tip
22 May 2024
Waterfall vs. Agile methodology: Differences and examples
Teams have a choice in the way they approach a new dev project. Learn about two main schools of thought -- Agile and Waterfall -- and why Agile is the prevailing methodology today. Continue Reading
By -
Tip
21 May 2024
10 best practices for managing data in microservices
Data architects managing loosely coupled microservices applications need to make the right decisions about databases, data ownership, sharing, consistency and failure recovery. Continue Reading
-
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 -
Video
15 May 2024
Jira story vs. epic: What's the difference?
Anyone who has opened a Scrum board in Jira knows projects are organized into stories and epics. But what exactly is the difference between the two of them? Continue Reading
By- Darcy DeClute, Scrumtuous Inc.
-
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
-
Tip
13 May 2024
How the back-ends-for-front-ends pattern works
A back-ends-for-front-ends microservices pattern uses an API layer to preprocess data, handle calls and responses, and simplify development efforts. Here's how it all works. Continue Reading
By- Raghu Karan Adapala, Xennial Innovations Inc.
-
Video
10 May 2024
Java records tutorial
Java is constantly evolving, but some changes are more significant than others. This Java records tutorial teaches you about this decade's largest language enhancement to date. Continue Reading
By- Cameron McKenzie, TechTarget
-
Video
01 May 2024
Java's default constructor tutorial
They say you don't get anything for free, but in the world of software development, Java developers can use the default constructor without paying any price. Continue Reading
By- Cameron McKenzie, TechTarget
-
Tip
01 May 2024
Use sealed classes in Java to control your inheritance
Need to limit the number of possible subclasses in your codebase? Here comes Java's sealed classes to your rescue. Continue Reading
By- A N M Bazlur Rahman, DNAStack
-
Tip
30 Apr 2024
Positive vs. negative testing: Differences and examples
Take an in-depth look at positive and negative testing. Learn how to use both to form the basis of a thorough testing approach through a series of real-world examples. Continue Reading
By- Gerie Owen, Cubic Transportation Systems
-
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
29 Apr 2024
fault injection testing
Fault injection testing is a software testing method that deliberately introduces errors to a system to ensure it can withstand and recover from error conditions. Continue Reading
By- Alexander S. Gillis, Technical Writer and Editor
-
Tip
29 Apr 2024
Know how and when to use blockchain vs. distributed ledgers
Blockchain and distributed ledgers are similar but not quite synonymous. Learn their differences and how they are used, including together, for transactions and data storage. Continue Reading
By- Bob Reselman, CogArtTech
-
Definition
29 Apr 2024
staging environment
A staging environment (stage) is a nearly exact replica of a production environment for software testing. Continue Reading
By- Stephen J. Bigelow, Senior Technology Editor
- Alexander S. Gillis, Technical Writer and Editor
-
Tip
26 Apr 2024
8 mobile app development challenges for the enterprise
Despite the growth of mobile application development in the enterprise, developers must still navigate unique challenges to deliver apps to mobile users. Continue Reading
By -
Video
26 Apr 2024
MVP vs. prototype: What's the difference?
While some people mistakenly use the terms MVP and prototype interchangeably, there are key differences between a minimum viable product and a prototype for your product. Continue Reading
By- Darcy DeClute, Scrumtuous Inc.
-
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
soak testing
Soak testing is a type of performance testing that gauges how an application handles a growing number of users or increasingly taxing tasks over an extended period of time. Continue Reading
By- Ryan Black, Assistant Site Editor
-
Definition
24 Apr 2024
spike testing
Spike testing is a type of performance testing in which an application receives a sudden and extreme increase or decrease in load. Continue Reading
By- Alexander S. Gillis, Technical Writer and Editor
-
Feature
23 Apr 2024
What are the 5 Scrum values?
Scrum defines five key values: openness, courage, respect, focus and commitment. Here's why they are important. Continue Reading
By- Darcy DeClute, Scrumtuous Inc.
-
Feature
22 Apr 2024
Simplify mobile app development for the enterprise
Without the right resources, mobile app development can be challenging. Find out how to start the process and the best tools to streamline the app dev journey. Continue Reading
By -
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
17 Apr 2024
Consider these 6 factors to decide when to quit your job
Unsure if you're truly ready to quit your job? Consider these tips and questions to help you decide to move to a new role, organization or even career. Continue Reading
-
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
10 Apr 2024
Jira story vs. task: What's the difference?
To help teams progress from vision to implementation, Jira provides stories and tasks. Here's the difference between a Jira story and a task. Continue Reading
By- Darcy DeClute, Scrumtuous Inc.
-
Tip
09 Apr 2024
5 code refactoring patterns, with examples
First-time finished code is rarely elegant or maintainable. Refactoring helps keep a growing codebase maintainable and extendable over time -- as long as you know where to stop. Continue Reading
By- Walker Aldridge, Lairds Computer Services
-
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.
-
Video
04 Apr 2024
How Java 17 records work
Devs aren't using Java 17 records nearly enough. With the power to clean up your code and make your apps faster, Java records should be the norm and not the exception. Continue Reading
By- A N M Bazlur Rahman, DNAStack
-
Tutorial
27 Mar 2024
How the saga design pattern in microservices works
When a sequence of steps must be performed to support an operation, the microservices saga design pattern is a perfect fit. Continue Reading
By- Bob Reselman, CogArtTech
-
Video
27 Mar 2024
Do the 5 Scrum values really add value?
Do the Scrum Guide's five values really provide value as proponents claim? A scientific examination suggests they should be a lot more helpful to software development teams. Continue Reading
By- Darcy DeClute, Scrumtuous Inc.
-
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