Our last agile development post focused on the big picture: when, how, and why to depart from the classic waterfall development model in favor of lean and agile practices. But what does that look like week by week?
Again, it's worth stressing that getting caught up in any one approach defies the core concept of what “agile” means. At Velentium we study methods, implement ideas appropriate for our projects, and evaluate the results. We abandon approaches that don't reward us and carry on with those that do – always looking to deliver value early and add value often.
Here's a glimpse into how that might translate into a work week:
- Our development teams take on weekly sprints, inspired by Scrum. We triage each step of the overall process, and repeat the triage at the end of each sprint. The shape of each sprint is guided by Demings' PDCA cycle.
- At the end of each sprint cycle we conduct an inspect and adapt cycle. Teams stop what they're doing, review what they've done, and see how they could do it better. Our goal is ongoing process improvement. We don't wait until after the project is done to improve our processes! We've deliberately built process improvement into Velentium's culture at both the developer and manager levels. We seek continuous acceleration during development, with all of the benefits that could bring us and our clients. We keep asking basic questions about process improvement so that each week the team is delivering greater value to the client than previous week.
- We set up a Kanban board for visualizing workflow at the outset, as well as for daily workflow management.
- Each day, teams and office segments participate in short (<15-minutes) standup meetings where each person at the table answers the following questions:
- What did you do yesterday to help the team finish the sprint?
- What will you do today to help the team finish the sprint?
- Is there any obstacle that could keep you or the team from achieving the sprint goal?
This allows team members to assist one another by removing each other's obstacles on an ongoing basis. It also maintains whole-team awareness of what is being worked on, who has what expertise, what tools, knowledge bases, or other resources are readily available, and contributes over time to each person's understanding of what Velentium’s people are capable of across the company.
Beyond the internal benefits to us as a company, our agile strategy offers a major advantage to our clients. We have the ability to develop a project during ongoing conversation with our clients and colleagues. When development, dialogue, and feedback are concurrent and continuous, we can adjust the project's requirements, design, implementation methods, and test parameters as each iteration becomes available, ensuring that we're always working on whatever is most valuable to the client. Our process incentivizes all parties to talk to each other a whole lot more often.
That level of interaction creates other challenges we've learned to navigate. We stay flexible with how we communicate, keeping open lots of channels and methods. We also require our managers and SMEs to be proactive about balancing their availability against their personal productivity, using clear signaling for when they are available to provide assistance and when they should not be disturbed.
Our approach works best where teams are small, comprised of people interested in developing quality product at speed, and eager to communicate and cooperate. We recruit and retain that kind of talent and ethos by maintaining a versatile, flexible environment focused on efficiency and personal improvement. For us, “agile” is as much about the people enacting the process as it is about the process itself. Our mindset drives the difference, not just our methodology.