We are working with the CIO of our State Agency, who is a big believer in organizational performance improvement and is always pushing us to be better. He just came back from NASCIO and heard that vendors need to start being "agile." Our team is smart and talented. We do daily meetings, collaborate, and meet with our customer all the time. Isn't this ok? If not this, what is agile? ~ S.T
Hey, ST,
Thank you for writing in. Different people mean different things when they say they want to be agile. Let's dive into this.
When people say, "be more agile," sometime they mean, "deliver faster and cheaper." And when (too many) software engineers and developers think about "being more agile," they sometimes think it means, “no oversight or documentation!”
What does it ACTUALLY mean? Agility’s greatest strength, and the reason for its extraordinary success, is an intense focus on learning and adapting. Your customer probably wants you to keep learning and adapting your service to meet his evolving needs.
For you to be agile, then, you need to approach Agile as a student.
OK – now what?
In order to study and learn the discipline of agility, it helps to think of the approach as a three-tiered architecture of Agile Values, Agile Methods and Agile Techniques.
1. Agile Values
This tier defines the values that we agree to embrace. Our values are the things that are most important to us. These are the things that your organization needs to stay focused on, and your customer wants you to stay focused on.
Some of these agile values are transparency, collaboration, hiring the right people, fail-fast, inspect and adapt, share the work, and others. The most commonly discussed values can be found at http://agilemanifesto.org/.
Side note: recently when I presented about Agile Values at a conference, a skeptical manager approached me and insisted that traditional Waterfall-style projects can easily have these same values.
I said, “That’s true. And guess what? When they do, they just called well-run projects!” These values are universal. Unfortunately, "waterfall" methods and techniques don't always align well, or "trace," to the values. So that's why we have . . .
2. Agile Methods
The second tier in the Agile architecture defines the WAY we do work - sequence, events, and ceremonies - and that WAY is derived from the values in Tier 1. All of the methods selected should adhere to the values. We call this having "values traceability."
Clients who work with Broadsword often hear me talk about "the WAY." Your "way" is derived from the values and methods use choose to select and embrace
Methods describe the sequence, interfaces, style, and the workflow of much of what we do. In this context, I use the words "method" or "framework" while I'm working with our clients. I think of them as synonymous.
In an Agile environment, the most common methods (frameworks) are Scrum, Extreme Programming, Spiral and Crystal, with the first two being the most prevalent.
For example, Scrum defines ceremonies, artifacts, and roles, and presents a basic sequence (sprints, et al) for us to deliver our service or product in the context of values.
3. Agile Techniques
Techniques are the things we do every day, within the selected method, in adherence with the values. There are some techniques that are unique to methods, and some that span the entire family of Agile frameworks.
Techniques normally associated with Agile methods include:
- retrospectives
- Backlog grooming ("story time")
- User Story development
- Story Point estimation
- Planning Poker
- Fibonacci estimation
- Sprint Review (Demo)
- Refactoring
- Test Driven Development
- BDD
- Spring / Iteration Planning
Being the third tier of an integrated architecture, a technique alone, without the corresponding methods and values (such as "we do a daily meeting") does not make you "agile," although it's better than NOT meeting everyday.
As I said above, you need to approach Agile as a student.
If you want to become a student, join us on November 7th @ 8:30 am – November 8th @ 4:00 pm (2 days). Here’s the link:
Sign up for the Agile Scrum Learning Experience!
Hope to see you in class!
Like this blog? Forward to your nearest engineering or software exec!
Jeff Dalton is a Certified SCAMPI Lead Appraiser, Certified CMMI Instructor, author, and consultant with years of real-world experience with the CMMI in all types of organizations. Jeff has taught thousands of students in CMMI trainings and has received an aggregate satisfaction score of 4.97 out of 5 from his students.
Visit www.broadswordsolutions.com for more information about running a successful CMMI program.
No comments:
Post a Comment