Design & Code

Articles

Java Text Blocks Make Java More Agile

A Java architect has often posed the dilemma of whether to revise existing code around a new feature. Revising code involves a lot of code review and code rewriting. Revising existing Java code is justified only if the benefits of a new feature outweigh the effort needed to revise the code.

Deepak Vohra's picture Deepak Vohra
5 Tips to Take Your DevOps Pipeline Beyond the Basics

The goal of a DevOps pipeline is to create a continuous workflow that includes the entire application lifecycle. But too often, people focus only on the tools and automating everything, not stopping to think whether their processes could further improve performance and efficiency. Let's look at some common challenges to continuous delivery and then learn five tips for refining your DevOps pipeline and taking it to the next level.

Gilad David Maayan's picture Gilad David Maayan
Docker logo How Docker Enables Agile Software Development

Docker has revolutionized how software is packaged, distributed, and deployed, so it's easy to see why it has become the de facto containerization platform. But have you thought about how Docker actually makes software development, testing, delivery, and deployment more agile? Let's look at how Docker inherently supports several of the founding principles of agile software development.

Deepak Vohra's picture Deepak Vohra
Secure padlock Embedding Security in a DevOps World

Faster DevOps processes also create new challenges. It was difficult enough to add security into a traditional waterfall software development lifecycle with monthly or quarterly releases, but now software updates are released several times a day! What can developers do to build and maintain more secure applications? Here are some ways to encourage better security practices throughout the DevOps lifecycle.

Alex Humphrey's picture Alex Humphrey
Foundation of a building Infrastructure as Code: The Foundation of Effective DevOps

The absence of versioned infrastructure as code (IaC) and automated provisioning undermines one of the most important benefits of DevOps: the ability to version, manage, and control the servers and networking required to run software applications in development, testing, and production. Automating infrastructure setup and continuous monitoring helps keep system environments stable and less susceptible to outages.

Anirudh Sethi's picture Anirudh Sethi
Developer working sustainably Cultivating Sustainable Agile Development

In agile development, we want to support a sustainable pace because we recognize that when we overwork ourselves, we tend to introduce defects that are more costly to repair than can be offset by any efficiencies we gain by putting in massive amounts of overtime. We should encourage a set of common standards and practices to help us build solutions that are more maintainable and extendable.

David Bernstein's picture David Bernstein
Mentor teaching a new developer coding skills Learning the Skills of a Professional Software Developer

We hire for programming language skills or framework experience, but these are the kinds of things that any developer should be able to pick up quickly. David Bernstein says we should be hiring based on talent instead, and mentoring developers to write code that can be maintained and extended more easily. These critical skills are best learned on the job, which is why mentoring is so valuable.

David Bernstein's picture David Bernstein
Metal gears 6 Steps for Succeeding with Test Automation in Agile

Lots of test automation efforts in agile software development fail, or at least do not maximize their potential. This article looks at two main reasons test automation may not live up to the expectations that testers and other stakeholders in the agile development process have, then outlines six steps to avoid falling into these traps. Here's how to succeed with test automation in an agile environment.

Bas Dijkstra's picture Bas Dijkstra
Person holding a smartphone 5 Ways to Tackle Mobile Development Problems Early with Scrum

Using Scrum for mobile application development can be difficult due to various challenges inherent to building mobile applications. Environmental dependencies, platform limitations, service outages, ownership and access issues, and short sprints can all derail your agile development. Here are some tips for overcoming these five common mobile application development issues early by using Scrum.

Ajeet Singh's picture Ajeet Singh
Ship's helm The Agile Advantage for Last-Minute Changes

Companies using heavyweight development processes manage change by limiting or locking down scope, but this has negative consequences for our products and our customers. Agile takes a different approach by recognizing the value of last-minute changes and making it inexpensive and straightforward to make changes to software, even late in the development cycle, using continuous integration.

David Bernstein's picture David Bernstein

Pages

AgileConnection is a TechWell community.

Through conferences, training, consulting, and online resources, TechWell helps you develop and deliver great software every day.