Large companies traditionally have run software development projects so that after delivery, the project finished and the team dissolved. In the digital age, one might think the experience of running and delivering projects would be an advantage, but the legacy mindset and practices of corporate IT projects are actually a hindrance. Digital work needs to be ongoing, which requires a different management approach.
Having your organization make the mental shift necessary to adopt agile is the first important step in an agile transformation. But once you decide you want to change, now what? Should you attempt your agile adoption yourselves or hire an expert? Joel Bancroft-Connors details the benefits and downsides of going it alone and of using contract, consultant, and full-time agile coaches so you can decide what's best for you.
Scrum works well for collocated teams, but working with distributed teams brings its own different challenges. There should be some controls in order to prevent instability, ambiguity, and tension from turning into chaos. As the ScrumMaster is the servant leader of the team, here are four important initiatives the ScrumMaster can take to guide their teams—the four C’s of managing distributed agile teams.
In software development, we're constantly learning new skills because we have to. Technology and its associated best practices are constantly changing, but this is a good thing—it means our industry is evolving quickly. It also means we are constantly on the learning curve. Having a good mindset about continuously learning can help you go far in the software world.
Agile transformation requires more than a change in process; it needs a change in mindset. In order to fully embrace agile and create a productive environment, you have to change how you think about priorities and failure. Priorities are decided proactively, not reactively, and failure is not punished, it is celebrated. Once you make this shift in perspective, you can reap the rewards of agile.
A lot of what agile teams do can be used effectively outside software development teams, and even outside the typical business organization. For instance, retrospectives and the practice of talking about what went well, what you should keep doing, and what can be improved can be applied anywhere—even to families. Read on to learn how to bring continuous improvement into your daily life.
From his decade of teaching thousands of professional software developers how to be effective with test-driven development, David Bernstein has learned that there are three key ingredients for mastering TDD: understanding what it really is, making code reliably testable, and getting hands-on experience. Let’s look at each of these factors to see what it takes to use TDD effectively on your projects.
The business analyst (BA) has played a key role in software development. But within a modern agile context, the role of the BA is less clear, and there is some confusion as to whether the product owner role subsumes that of the traditional BA. Let’s look at the roles the BA can play with agile teams and how to fully leverage their expertise to supplement or augment that of the product owner.
Organizations undergoing a digital transformation must adopt new and meaningful ways of working. For a successful transformation, in addition to agile processes, teams must also leverage agile engineering techniques and models. Continuous focus on agile engineering principles will provide a solid ground for teams to enhance their agility and deliver better software, faster.
Agile software development is no longer about a better way to develop software. Agile is about changing the way digital technologies, products, and services are created to take advantage of enhanced CPU power and the tools that power has made possible. Here's how digitalization is reshaping agile teams, projects, and the very definition of success.