Not a Developer? Not a Problem! Agile is for everybody!
All of the non-developer employees here at Highgroove recently spent a day with Andrew Fuqua for a hands-on agile training, where he took us on a quick tour of a full iterative project. We planned a project and learned to create measurable steps toward our goals.
Most importantly, I learned that agile isn’t just for developers—it’s useful for everyone. The agile principles can apply to all of us.
1. Work Together Daily
“Business people and developers must work together daily throughout the project.”
Fundamentally, the agile principles are about software development, but close collaborative work environments can benefit anyone. At Highgroove, we harness the personable nature of each member of our team, and this makes us all better co-workers, consultants and contributors to the results we deliver every day.
2. Face-to-Face Communication is Best
“The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.”
Whenever possible, we meet face to face for important meetings: iteration kickoffs, retrospectives and huddles. This may be one of the more obvious pieces of wisdom that agile offers, but it’s easy to overlook the value of an in-person conversation. Whether it is rapidly iterating on features or sharing more about our process with a prospective client, face time is time well spent!
3. Does it Work?
“Working software is the primary measure of progress.”
Working software at Highgroove means actual, live, launched, usable software. A feature is not done until it has been deployed. Checking something off your list is a gratifying experience. But think carefully about tasks: Did I close that deal? Did I actually fix that broken cabinet? Halfway doesn’t count. Don’t mislead yourself or others! Is a task done or not?
4. Satisfy the Customer
“Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.”
Every project at Highgroove has a continuous build. In a Ruby on Rails project, this means one line or one “step” deployment to a server. This tenet is applicable outside of software development, too: small pieces of effort, applied frequently, help us all achieve goals and complete tasks. And if you focus on frequent communication, you can get feedback right away, not two weeks from now.
5. Change is Your Friend
“Welcome changing requirements, even late in development. Agile processes harness change for the customer’s competitive advantage.”
From day one of our sales process, I strive to help potential clients realize that every one of the features on their projects can be re-worked and re-prioritized at any time, based on business goals. Variations on our sales map or unexpected updates to a proposal occasionally cause me to change course, but the end product ends up being better.
6. Deliver Frequently
“Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.”
All of us at Highgroove live and die by iterations on a weekly timeframe. I’ve learned that I am more effective if I divide my work by how it best fits into my week. You can avoid crunch time by focusing on tighter, smaller and more granular tasks that can be accomplished sooner.
7. Best Tools, Best People
“Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.”
“Agile processes promote sustainable development. The sponsors, developers and users should be able to maintain a constant pace indefinitely.”
If a single agile tenet resonated most with me as a cyclist, this would be the one. It requires focus to determine the best way to achieve results sustainably, while avoiding burnout and ensuring maximum efficiency. Find your rhythm!
9. Always Improve
“Continuous attention to technical excellence and good design enhances agility.”
At Highgroove, the best idea wins, no matter who thought of it. Sharing ideas is core to our iterative process, whether it’s via code reviews, colleague comments, or an external source. If a good improvement is suggested, it’ll be implemented.
10. Keep it Simple
“Simplicity—the art of maximizing the amount of work not done—is essential.”
Basically, this boils down to “less is more.” In my role as Director of Business Development, this point is most poignant for me: Will a simple, personable call connect best, or is a short and sweet email preferable? The best route is often the simplest one.
“The best architectures, requirements and designs emerge from self-organizing teams.” We’re all a part of a team with a larger goal: delivering quality work. If you need help, ask for it. If you can give help, lend it. Improving a team effort doesn’t require permission or outside direction.
12. Be Retrospective
“At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.”
Set aside time to reflect: “What’s awesome? What could be more awesome?” Get input from someone who isn’t involved in the project: a friend, a colleague or a friendly fellow MARTA commuter. Think about what can be done better, and what needs to change. The “what” (not “who”) is key here; the goal is creating actionable steps to change for the better.
Which agile principles resonate with you professionally or personally? Bias towards action and comment below!