Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
The Agile Developer's Handbook

You're reading from   The Agile Developer's Handbook Get more value from your software development: get the best out of the Agile methodology

Arrow left icon
Product type Paperback
Published in Feb 2018
Publisher Packt
ISBN-13 9781787280205
Length 398 pages
Edition 1st Edition
Concepts
Arrow right icon
Author (1):
Arrow left icon
Paul Flewelling Paul Flewelling
Author Profile Icon Paul Flewelling
Paul Flewelling
Arrow right icon
View More author details
Toc

Table of Contents (16) Chapters Close

Preface 1. The Software Industry and the Agile Manifesto FREE CHAPTER 2. Agile Software Delivery Methods and How They Fit the Manifesto 3. Introducing Scrum to your Software Team 4. Gathering Agile User Requirements 5. Bootstrap Teams with Liftoffs 6. Metrics that will Help your Software Team Deliver 7. Software Technical Practices are the Foundation of Incremental Software Delivery 8. Tightening Feedback Loops in the Software Development Life Cycle 9. Seeking Value – How to Deliver Better Software Sooner 10. Using Product Roadmaps to Guide Software Delivery 11. Improving Our Team Dynamics to Increase Our Agility 12. Baking Quality into Our Software Delivery 13. The Ultimate Software Team Member 14. Moving Beyond Isolated Agile Teams 15. Other Books You May Enjoy

Agile is a mindset

The final thing I'd like you to consider in this chapter is that Agile isn't one particular methodology or another. Neither is it a set of technical practices, although these things do give an excellent foundation.

On top of these processes, tools, and practices, if we layer the values and principles of the manifesto, we start to evolve a more people-centric way of working. This, in turn, helps build software that is more suited to our customer's needs.

In anchoring ourselves to human needs while still producing something that is technically excellent, we are far more likely to make something that meets and goes beyond our customer's expectations. The trust and respect this builds will begin a powerful collaboration of technical and non-technical people.

Over time, as we practice the values and principles, we not only start to determine what works well and what doesn't, but we also start to see how we can bend the rules to create a better approach.

This is when we start to become truly Agile. When the things we do are still grounded in sound processes and tools, with good practices, but we begin to create whole new ways of working that suit our context and begin to shift our organizational culture.

An Example of "Being Agile"

When discussing the Agile Mindset, we often talk about the difference between "doing Agile" and "being Agile."

If we're "doing Agile", we are just at the beginning of our journey. We've probably learnt about the Manifesto. Hopefully, we've had some Agile or Scrum training and now our team, who are likely to have a mix of Agile backgrounds, are working out how to apply it. Right now we're just going through the motions, learning by rote. Over time, with the guidance of our Scrum Master or Agile Coach, we'll start to understand the meaning of the Manifesto and how it applies to our everyday work.

Over time our understanding deepens, and we begin to apply the values and principles without thinking. Our tools and practices allow us to be productive, nimble, and yet, still disciplined. Rather than seeing ourselves as engineers, we see ourselves as crafts men and women. We act with pragmatism, we welcome change, and we seek to add business value at every step. Above all else, we're fully tuned to making software that people both need and find truly useful.

If we're not there now, don't worry, we're just not there yet. To give a taste of what it feels like to be on a team who are thinking with an Agile Mindset following is an example scenario.

Scenario

Imagine we're just about to release a major new feature when our customer comes to us with a last minute request. They've spotted something isn't working quite as they expected and they believe we need to change the existing workflow. Their biggest fear is that it will prevent our users from being able to do a particular part of their job.

Our response

Our team would respond as a group. We'd welcome the change. We'd be grateful that our customer has highlighted this problem to us and that they found it before we released. We would know that incorporating a change won't be a big issue for us; our code, testing and deployment/release strategies are all designed to accommodate this kind of request.

We would work together (our customer is part of the team) to discover more about the missing requirement. We'd use our toolkit to elaborate the feature with our customer, writing out the User Stories (an Agile requirement gathering tool we'll discuss in Chapter 4, Gathering Agile User Requirements) and if necessary prototyping the user experience and writing scenarios for each of the Acceptance Criteria.

We'd then work to carry out the changes in our usual disciplined way, likely using TDD to design and unit/integration test our software as well as Behavior-Driven Development (BDD) to automate the acceptance testing.

To begin with, we may carry the work out as a Mob (see Chapter 12, Baking Quality into Our Software Delivery) or in pairs. We would definitely come together at the end to ensure we have collective ownership of the problem and the solution.

Once comfortable with the changes made, we'd prepare and release the new software and deploy it with the touch of a button. We might even have a fully automated deployment that deploys as soon as the code is committed to the main branch.

Finally, we'd run a retrospective to perform some root cause analysis using the 5-whys, or a similar technique, to try to discover why we missed the problem in the first place. The retrospective would result in actions that we would take, with the aim of preventing a similar problem occurring again.

You have been reading a chapter from
The Agile Developer's Handbook
Published in: Feb 2018
Publisher: Packt
ISBN-13: 9781787280205
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $19.99/month. Cancel anytime
Banner background image