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
18 Apr 2025
Agile vs. Waterfall: What's the difference?
Is change good or bad? The manner in which you embrace change might influence whether you prefer Waterfall or Agile methodologies. Here we compare the two approaches. Continue Reading
By- Darcy DeClute, Scrumtuous Inc.
-
Video
16 Apr 2025
Agile software development or the Waterfall framework?
Ever wonder if you've chosen the right software development strategy? Here we explain when Waterfall is right, and when an Agile approach makes more sense. 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, Roobrik
-
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, Roobrik
-
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, Former 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
-
Feature
14 Mar 2024
Summit speakers break down new era of developing software
Top thought leaders discuss their strategies to choose the right software development process and to best utilize AI and ML in this comprehensive BrightTALK summit. Continue Reading
By- Alicia Landsberg, Senior Managing Editor
-
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, Roobrik
-
Video
12 Mar 2024
Full Java constructors tutorial
How well do you know how Java constructors work? This quick Java constructors tutorial teaches you about defaults, overloading, initializing and parameterizing constructors in Java. Continue Reading
By- Cameron McKenzie, TechTarget
-
Video
12 Mar 2024
Learn how to use GitLab tutorial for beginners
GitLab is a complete CI/CD platform. But to really understand GitLab, you must also understand its namesake Git. This Git and GitLab tutorial will get you up to speed on both. Continue Reading
By- Cameron McKenzie, TechTarget
-
Tip
07 Mar 2024
Understanding code linting techniques and tools
Linting is an important preliminary step in the debugging process. Learn how fixing simple errors early on makes code easier to work with and improves coding practices. Continue Reading
By -
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
-
Video
23 Feb 2024
Top 10 differences between GitHub and Git
Enterprise development teams need to know these major differences between Git and GitHub, but also how they serve different purposes and be used together effectively. Continue Reading
By- Cameron McKenzie, TechTarget
-
Video
22 Feb 2024
Why we use static final in Java for constants
Java doesn't have global constants per se, but it does have static final variables. Here we explore how these two keywords make a variable constant in Java. Continue Reading
By- Cameron McKenzie, TechTarget
-
Video
08 Feb 2024
How to set a Git username and password in Git config
There's a way to stop Git from repeatedly asking you for a username and password. Just set your username and password in Git config. Continue Reading
By- Cameron McKenzie, TechTarget
-
Video
07 Feb 2024
Git vs. GitHub: What's the difference?
Git and GitHub involve similar technology but are different in several important ways. Here's what you need to understand to get the most out of these key developer tools. Continue Reading
By- Cameron McKenzie, TechTarget
-
Definition
31 Jan 2024
state management
Application state management is the process of maintaining knowledge of an application's inputs across multiple related data flows that form a complete business transaction -- or a session -- to understand the condition of the app at any given moment. Continue Reading
By- Stephen J. Bigelow, Senior Technology Editor
- Tom Nolle, Andover Intel
-
Tip
30 Jan 2024
2024 technology predictions around AI, Mojo and blockchain
Blockchain, AI, anti-competitive activity and the new programming language Mojo are sure to fill the headlines in 2024. Continue Reading
By- Bob Reselman, CogArtTech
-
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
-
Tip
23 Jan 2024
Debunking 5 blockchain myths and misconceptions
There's more to blockchain development than what you hear from the crypto community. Here, we debunk five common blockchain myths. Continue Reading
By- Bob Reselman, CogArtTech
-
Blog Post
18 Jan 2024
Finding duplicate entries in a list in Python
A common problem in computing is to find out if a list contains duplicate entries. It's also a good subject to explore various ways to solve a problem. In this case, we will see the performance ... Continue Reading
By- Walker Aldridge, Lairds Computer Services
-
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
-
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
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
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 -
Blog Post
17 Dec 2023
How to code your first Mojo program
There's a new programming language named Mojo in the works that is set to revolutionize AI and ML while fixing all that's wrong with Python. Here is how to code your first Mojo program. Continue Reading
By- Darcy DeClute, Scrumtuous Inc.
-
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 -
Answer
01 Dec 2023
11 real benefits of microservices
There's a reason why so many vendors have moved from monoliths to microservices. Here are 11 real benefits microservices bring to companies. Continue Reading
By- Cameron McKenzie, TechTarget
- Bob Reselman, CogArtTech
-
Tip
16 Nov 2023
What does the Python 'if name equals main' construct do?
Ever wonder what Python's if name equals main syntax does? Here we explore what it does and when to use it. Continue Reading
By- Kevin McAleer, Advice Factory Ltd
-
Tip
10 Oct 2023
What does a SAFe Scrum master do differently?
What's the difference between a Scrum master and SAFe Scrum master/team coach? Not much, but you should understand their slightly distinct approaches in day-to-day practice. Continue Reading
By- Michael Lloyd, Honest Agile
-
Tip
04 Oct 2023
9 tips to improve Python performance
Python performance gets a bad rap compared with languages such as Java. Use these tips to identify and fix problems in your Python code to tweak its performance. Continue Reading
By- Alfred "Fred" Christianson, Developer Relief LLC
-
Tip
03 Oct 2023
Scrum master interview questions and answers
Want to ace the Scrum master interview? These tough Scrum master questions and answers will help you prepare. Continue Reading
By- Darcy DeClute, Scrumtuous Inc.
-
Blog Post
30 Aug 2023
10 reasons to use Kotlin
Curious about the Kotlin language? It's an excellent choice as either a companion or alternative to Java, and offers many capabilities Java programmers wish they had all along. Continue Reading
By- Joseph B. Ottinger, EnigmaStation
-
Blog Post
29 Aug 2023
How to git push an existing project to GitHub
If you start development before you set up version control, you may need to push your development project to an existing GitHub repo. This Git and GitHub example shows you the fastest way to ... Continue Reading
By- Cameron McKenzie, TechTarget
-
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
-
Tip
21 Jul 2023
The dangers of Python import and how enterprises can be safe
The Python import statement carries a security risk that developers and enterprises need to watch out for. Here's how it works and why there's no easy fix. Continue Reading
By- Walker Aldridge, Lairds Computer Services
-
Tip
19 Jul 2023
Scrum vs. SAFe: How to choose between top Agile frameworks
Which Agile framework is the best fit for your organization: Scrum vs. SAFe? Follow these guidelines and advice to determine which best fits your needs -- and it might be both. Continue Reading
By- Michael Lloyd, Honest Agile
-
Blog Post
19 Jul 2023
Sprint vs Scrum: What's the difference?
The comparison of Scrum versus a sprint is less about differences and more about how Agile frameworks such as Scrum, SAFe and XP use short development cycles to limit risk and keep stakeholders ... Continue Reading
By- Darcy DeClute, Scrumtuous Inc.
-
Blog Post
10 Jul 2023
Scrum's chicken and pigs parable
In a ham and eggs breakfast, the chicken is involved, but the pig's 100% committed. That's the problematic basis of Scrum's chicken and pigs parable. Continue Reading
By- Darcy DeClute, Scrumtuous Inc.
-
Tip
30 Jun 2023
How to apply the open-closed principle in Java
How does the open-closed SOLID principle work in a Java program? Here we show you what this important principle means, and how to implement the open-closed principle in Java. Continue Reading
By- Ashik Patel, Xennial Innovations Inc.
-
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 -
Tip
27 Jun 2023
Introduction to Solidity: Build an Ethereum smart contract
This introduction to Solidity tutorial walks you through a real-world example that flexes the power of this programming language: building a Solidity smart contract. Continue Reading
By- Bob Reselman, CogArtTech
-
Definition
27 Jun 2023
daily stand-up meeting
A daily stand-up meeting is a short organizational meeting that is held each day. 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
-
Quiz
20 Jun 2023
More Scrum master certification exam questions
To pass the Professional Scrum master exam, you need to know the tricks. These Scrum master exam questions will show you how to answer even the toughest questions on the test. Continue Reading
By- Darcy DeClute, Scrumtuous Inc.
-
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 -
Feature
08 Jun 2023
Cloud-native development still a work in progress for companies
Enterprise Strategy Group's Paul Nashawaty breaks down the research firm's latest survey on the state of cloud-native application development. The picture isn't perfect. Continue Reading
By- David Essex, Industry Editor
-
Tip
07 Jun 2023
How to create a smart contract using Ethereum
Solidity is a powerful language for programming and deploying smart contracts on the Ethereum network. Here's how to get started, with advice on choosing the best tools. Continue Reading
By- Bob Reselman, CogArtTech
-
Tip
07 Jun 2023
9 programming languages for smart contract development
There are languages expressly for smart contract development, but you can also use general-purpose languages like C++ and Java. Here's how they differ, and advice on how to choose. 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
-
Blog Post
25 May 2023
Is the daily Scrum recommended for colocated teams?
Is the daily Scrum recommended for colocated teams? Yes, yes it is. Any suggestion that the daily Scrum is not recommended for colocated teams is false. Continue Reading
By- Darcy DeClute, Scrumtuous Inc.
-
Tip
11 May 2023
5 Scrum servant leader examples
The term 'servant leader' was removed from the 2020 Scrum Guide, but that doesn't mean it's not important. Here are five examples of a Scrum master as a servant leader. Continue Reading
By- Darcy DeClute, Scrumtuous Inc.
-
Tip
09 May 2023
How to address Python performance problems
Python is a great language for nonprogrammers to do mathematical and scientific tasks, even if such optimization impacts performance. Here's why that's not a fair criticism. Continue Reading
By- Alfred "Fred" Christianson, Developer Relief LLC
-
Tip
08 May 2023
Scrum vs. Waterfall: What's the difference?
Most organizations choose between Waterfall and Agile methodologies, which often means comparing Scrum vs. Waterfall. Here are the differences and some guidance on how to choose. Continue Reading
By- Darcy DeClute, Scrumtuous Inc.
-
Tip
24 Apr 2023
Smart contracts, blockchain and decentralized computing
Industries such as manufacturing and finance are turning to decentralized computing technologies, in the form of smart contracts and blockchains, to solve complex problems. Continue Reading
By- Bob Reselman, CogArtTech
-
Definition
11 Apr 2023
Amdahl's law
Amdahl's law -- also known as Amdahl's argument -- is an intuitive observation and an associated formula. Continue Reading
By- Pat Brans, Pat Brans Associates/Grenoble Ecole de Management
-
Definition
06 Apr 2023
Agile Manifesto
The Agile Manifesto is a document that identifies four key values and 12 principles that its authors believe software developers should use to guide their work. Continue Reading
-
Tip
03 Apr 2023
How to avoid remote software engineer burnout
Software developer burnout is real. Here are some strategies programmers can use to avoid it. Continue Reading