|
Embracing the Learning Curve in Software Development 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 Is Not a Process, It’s a Mindset 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.
|
|
|
Applying Agile to Life: Taking Retrospectives outside the Workplace 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.
|
|
|
3 Keys to Mastering Test-Driven Development 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 Modern Role of the Agile Business Analyst 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.
|
|
|
Focus on Agile Engineering Methods in Your Digital Transformation 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.
|
|
|
The Future of Agile Is Digital 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.
|
|
|
What's in a Name? Build Better Software by Naming Classes and Methods Clearly One of the most important things to pay attention to when writing software is how we name our symbols. Data and behavior should be named in a way that represents the essence of what we're trying to do. Naming affects understandability and reflects code quality, so use names that clearly communicate your intentions, and refactor those names when your intentions change.
|
|
|
Living the Agile Principles: Customer Value The first principle of the Agile Manifesto states, "Our highest priority is to satisfy the customer through early and continuous delivery of valuable software." Early and frequent delivery gets value to customers quickly and helps you figure out whether you understand what your customers really want. Here are five tips for how you can follow the first agile principle and provide customer value continuously.
|
|
|
Rowing in the Same Direction: Use Value Streams to Align Work Ambiguity abounds about value streams, so it’s good to clarify what they are, why they matter, and how to exploit them. It's important to help employees understand the organization's definition of value, to provide visibility on how business value is created, and to focus on the fast flow of value through the value streams. If everyone understands which direction to row the boat, they can steer toward it together.
|
|