Articles

Please enter an article title, author, or keyword
Agile team member pointing to metrics on a piece of paper Using Metrics to Track the Efficiency of Agile Teams

Choosing agile metrics that will be most effective in measuring application success is a challenge, and then tracking those metrics can be tricky as well. But with a good strategy, agile metrics can be a powerful tool for sharing the team’s progress and identifying existing and possible roadblocks. These meaningful metrics can reduce confusion and bring clarity throughout the application development cycle.

Vinati Kamani's picture Vinati Kamani
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
Person creating a "continuous" infinity sign with a sparkler Bringing Continuous Testing to Your Organization

Continuous testing means all your tests are executing all the time, providing continuous feedback into the quality and health of your applications. In order to achieve continuous testing, you must first adopt the right test automation strategy. Understanding how to bring in all different types of test automation practices as efficiently as possible enables you to get started down the path of continuous testing.

Chris Colosimo's picture Chris Colosimo
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
Distributed teams pointing out their locations on a map Leveraging Agile in a Nearshore Software Development Environment

Nearshore software development—or working with teams in similar time zones—have different challenges from teams that are collocated. They might find it easier to work in a traditional, hierarchical structure, but agile practices are actually still an ideal way to work through these challenges. Here's how an agile mindset can help nearshore development teams improve communication, organization, and processes.

Marcelo Lopez's picture Marcelo Lopez
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
Man doing martial arts routine on the beach Agile Shu-Ha-Ri for Business Innovation

The learning pattern Shu-Ha-Ri—originally from the Japanese martial art aikido—has been adapted to apply to agile adoption, with the three levels sometimes interpreted as imitate, assimilate, and innovate. However, it is easy to oversimplify Shu-Ha-Ri, which can slow or halt your agile adoption. Agile is not just another process—it requires changes to our mindsets. Here's how to approach this as a cycle of learning.

Daryl  Kulak's picture Daryl Kulak Hong Li
Distributed team pointing out their locations on a map Creating Time for Collaboration with Distributed Teams and Agile Approaches

Many of us have horrible experiences with distributed teams where we can find no possibility of collaboration, but it doesn’t have to be that way. Even if a team is distributed, those team members need collaborative opportunities and space. What’s important is the team’s time for collaboration, not time zones. Here are some ways you can visualize when your team works and create more quality collaboration time.

Mark Kilby's picture Mark Kilby Johanna Rothman
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
Software professional identifying risks along a project lifecycle How Agile Reduces Product Risk

With traditional software development methods, you are betting that end-of-lifecycle testing will let your team correct all risks, but experience has taught us that this seldom happens. With agile, you are incrementally reducing risk with every iteration and release you do, mitigating risks as you go. This article examines each of the value statements from the Agile Manifesto to illustrate how agile ultimately helps us reduce product risk.

Leanne Howard's picture Leanne Howard

Pages

Upcoming Events

Apr 27
Jun 08
Sep 21