As a project manager, architect, developer, and coach, I've worked on a lot of agile teams. As part of that experience, it's always fun to ask folks: "What does the word agile mean?"
Many times you'll get a lot of precanned answers. Agile is XP, or agile is Scrum, or agile is Crystal, etc. People have read a book or read an author and just sort of regurgitate those answers back to you.
I think agile is not any of that stuff, however.
To me, agile is iterative and incremental projects, concentrating on business value. That means you do things in cycles, perhaps having something to show once a week or so. It also means you do little chunks of work during each cycle that has some kind of value to the business -- agile is inherently a business-focused system. Finally, and most importantly, agile means that you are constantly inventing, trading-off, or adapting process recipes to work on your team. You're always adapting. Agile means adapting.
I know many folks who either wouldn't agree with that definition or would claim that it is too broad, but I'm happy with it. When I think of agile teams I think of 3-man startups who somehow take a few weeks and turn out something worth millions of dollars. That's incrementally producing business value, friends!
Which brings me to this interesting article I read a few days ago. Talking to coders on successful startups, is TDD an effective agile technique?
I'll leave you to draw your own conclusions, but I couldn't help read the article and think, "sometimes you trade-off code quality, maintainability, and the 'right' way of doing things for business value. And that's okay!"
I think true agile is always a bit of a pain in the ass to people no matter who they are. For the process adherents, whether it's RUP or Scrum, agile says you can cheat. For the cowboys, the guys who want to run without any rules, agile says somethings usually work better than most and you should always be adapting. In short, agile keeps you from making sweeping generalizations: each team, each project, each business is always different from the others.
When I finish hearing the answers to "what's the word agile mean?", I usually provide my answer: 'Agile' with a big 'A' is a marketing term, meant to sell books and certifications. 'agile' with a little 'a' is teams that are constantly adapting to provide the most responsive business value possible.
So what's agile to you?
分享到:
相关推荐
Learn the agile philosophy of lean processes, incremental delivery, deep client participation, decentralized authority, and just-in-time planning to bring speed, creativity, empowerment and increased ...
What tools might you use to help you become more agile? This book tells you! <br>Agile software Construction reviews the leading agile development processes. It explains what each is and what they...
It’s an exciting time to be agile! Finally, our industry has found a real, sustainable way to solve problems that have perplexed generations of software developers. Agile not only leads to great ...
You'll learn how to do agile development quickly and correctly, with a significant increase in development efficiency and a reduction in the number of defects. Agile practices have made major ...
Discover what it takes to develop products that blow your users away—and take market share from your competitors. This book will explain how the principles behind agile product development help ...
giving you the checklist to work through before you begin your expedition. By reading this book, you will find that Mike brings up issues that you never thought of, offers advice on how you might ...
This book introduces the tools you’ll need to get started on agile projects in Python, and unlike any other book out there, it shows you how to tie them all together. Sure, there are many good books ...
It points out which metrics to use to objectively measure performance and what data really counts, along with where to find it, how to get it, and how to analyze it. The book also shows how all team ...
More importantly, you’ll find ways to return your information security program to the basics: protecting your organization's assets and supporting the enterprise. In a world of increasing bloat and ...
User Stories Applied: For Agile Software Development <br>by Mike Cohn <br>Publisher: Addison-Wesley Professional (March 11, 2004) <br> Agile requirements: discovering what your users...
Agile practices have made major inroads in iOS development, however it’s very unusual to see something as basic as unit testing on a Swift application. Done correctly, Agile development results in a ...
Google Guice: Agile Lightweight Dependency Injection Framework will not only tell you "how," it will also tell you "why" and "why not," so that all the knowledge you gain will be as widely applicable ...
We’ll look at what it means for you to take a problem and produce a program to solve it from beginning to end. That said, this book focuses a lot on design. How do you design software? What things ...
In this book, you will be introduced to the fundamentals of scrum, and given examples that you can apply immediately. And since scrum is as much about the people as it is about the processes, we will ...
You'll explore how to work with stakeholders closely to better understand a project's requirements and review how to perform the post execution analysis and planning for next development cycle and ...
In today’s world of micro-services and agile practices, DevOps teams need to move as fast as feature teams. This can be extremely challenging if you’re creating multiple pipelines per application or...
In today’s world of micro-services and agile practices, DevOps teams need to move as fast as feature teams. This can be extremely challenging if you’re creating multiple pipelines per application or...
The author’s goal is to not only show you which tooling there is but help you to successfully use everything together to implement DevOps in your projects and organization. In this book, you'll ...
You'll learn how to drive the design in short, iterative cycles to assess what works best for the business and the user. Lean UX shows you how to make this change - for the better. Frame a vision of ...