It’s true that in recent years more and more organizations have been moving towards an Agile model of development as opposed to the old-school “waterfall” approach. It’s a methodology that allows for more transparency, open communication, and ultimately can save you time and money throughout your development process. But Agile has also become somewhat of a blanket statement that doesn’t always accurately depict a company’s philosophy. To maximize efficiency and ensure you’re hiring people whose Agile experience is a good match for the company’s own, it’s important to assess how Agile your company actually is. After all, being Agile is about more than daily stand-up meetings. To measure the agility of your software development company, you should ask yourself these five questions.
1. Are you breaking up ALL development into smaller increments?
It’s well known that Agile requires you to break your development units into 2,3, or 4-week sprints instead of spending month after month in separate periods of analysis, programming, and then testing. But it’s common in Agile for there to be stalwarts to the process and obstacles to this interactive approach. When there are holdouts, you’ll often hear people say things like “this can’t be broken out,” “it works as a whole,” or “it spans the whole application—it’s all or nothing.” Yes, some units can be particularly complex and span an entire application. But no, that’s not an excuse. The hard truth is this: anything can be broken into 3-week chunks—even if some units are a bit trickier than others.
2. How Are Your Teams Configured?
The second question has to do with how your teams are configured. In Agile, teams are put together more collaboratively, configured so that people from different departments interact with each other continually throughout the development process. QA and developers should be on the same team, for example, and they should work closely with the product owner on an incremental basis. There’s typically a stakeholder involved as well as a team lead or “scrum master.” Together, your team should be “whole within itself,” meaning there are sufficient skills for the job within the team itself. If there is a single QA resource as a member of three teams each with multiple developers, the organization doing that will never realize the full benefits of Agile. What they will see are items being continuously carried over from sprint to sprint and buggy software.
3. Is There True Transparency?
Agile was designed for transparency. Ask yourself: how open are the lines of communication? Is our daily stand-up meeting the only true component of our company being called Agile? A truly Agile company does far more than hold a daily scrum. There should be continuous and free-flowing communication across departments at all times in order to solve problems that will undoubtedly arise throughout development. By being Agile, you allow for a more flexible method of addressing the problems that arise throughout the project. You minimize bottlenecks and actually solve the problems that you need to solve in real time through transparent and open communication.
Some organizations are reluctant to story point. There is often resistance to commit to an estimate. Developers are notorious for this. If the organization does not story point, they cannot realize the true velocity. If you never measure actual velocity, transparency will never be achieved.
4. Are You Adopting DevOps In The Distribution and Release of Software?
As a term, DevOps was coined by Patrick Debois in 2009 and refers to the melding of development and operations to better monitor and automate all steps of a software release. It’s an integral process in maintaining an Agile infrastructure as it allows for continuous integration and communication between these two historically separate departments. Deploying DevOps can drastically cut down on time and cost for your software release, and should be a part of any Agile company’s plan. When determining just how Agile your company really is, ask yourself these key questions regarding dev ops:
- When code is checked in, is there a mechanism to immediately compile it?
- Are QA and Dev sandboxes updated daily with the latest version of the codebase?
- Can you perform push-button deployments of any version of the software to any environment, on demand?
If the answer is no to any of these, what you actually have is more likely a source control product with manual releases and builds—which is more characteristic of waterfall development than Agile.
5. Do You Have the Proper Executive Escalation Plan In Place?
The last question you should ask yourself if you want to determine whether or not your company is truly Agile has to do with escalation plans. Do you have a comprehensive executive escalation plan in place? To better understand your current process, ask yourself this: when you have a customer complaint or problem, does your executive leadership take that complaint directly back to the developer? Is it merely a reactionary process without a structure? Decide within your company what a truly Agile escalation plan looks like; a good plan allows a user story to be promoted, but not break the entire Agile process—it just provides a mechanism to be picked up by the team sooner.
After asking yourself these questions, hopefully you have a better understanding of just how Agile your company really is. Many organizations say outright that they’re Agile, when they’re really more “Agile-ish.” By simply being honest about your company’s Agile practices you can make sure your development process is successful for everyone involved—and continue to hire people whose experience is a good match for your company. If your organization is truly Agile and realizes the benefits, hiring someone reluctant to declare a story point will move the organization backwards. Likewise, if you are “Agile-ish” and hiring someone who has seen the full benefits of the agile process, that individual could be in for a rude awakening.
Decide Consulting is a software and IT Staffing firm based in Houston, TX. Founded by veteran software consultants, Decide has developed proprietary methods for finding problem-solving IT personnel. Our Software products focus on the Environmental Health & Safety (EHS) and Healthcare markets.