This is a slightly edited version of a 2015 interview of David Keener conducted by Sharon Crowe for a technical publication.
Agile software development is nothing new … in fact, it’s been around since the mid-1980s when James Martin and James Kerr wrote about Rapid Application Development. Since customer needs and technology are evolving faster than ever, Agile provides a way to put incremental capability in front of users, so they get a better idea of what the final product needs to be.
To give some insights about the why and how of an Agile Developer, I spoke with David Keener, a Senior Software Developer based in Oakton, Virginia.
Tell us a little about your background.
In high school, I took my first computer course during my senior year, and I noticed that I was pretty good at programming and it was fun for me. I also heard you could make decent money doing it, so I pursued a BS in Computer Science at the University of Delaware and went into software development right out of school.
I eventually became disenamoured with the traditional waterfall software development process, which goes something like this: determine requirements, design, build, see the requirements drift, customer then sees the end result and doesn’t like it, and we are back to reworking. When I heard about the Agile approach, working in smaller incremental pieces and getting constant customer/user feedback, that seemed like a better way for everyone. Ultimately, I want the customer to use what I build and like it, so Agile seemed like a great way to go.
What have you been working on lately?
Our team has been working on websites that will help the customer rapidly share information about malware with various organizations and government agencies. The faster you can disseminate information on how to fight a threat, the more you can reduce the impact of a virus or other malware-related peril.
What does a typical day look like for you?
The thing about working an Agile job is we work in sprints. We ask the customer, “What can we do for you in the next three weeks?” Then we do it, we deliver it, and ensure that it is what the customer is looking for. Depending upon where we are in the three-week cycle, that will determine what my day is like. Every workday at 10 a.m., we have a stand-up meeting (also known as a SCRUM meeting). It’s literally a standing meeting and takes less than 10 minutes. We use this meeting to help each other with any “blockers” (things stopping us from getting tasks). Team communication is critical in an Agile environment; nobody can hide, nobody can slack off, and everyone is working together and helping each other.
The rest of the day is spent coding, testing, and implementing. When we finish a feature, it gets turned over to a review process (peer reviews) before it can be integrated into the master branch of our codebase. We use an open source tool called GitLab to facilitate our code reviews.
By having peer reviews, everybody on the team is effectively cross-trained in other aspects of the program and it also gives another set of eyes on the code. We use Jira to track the stories we’re working on for our customer.
What are the most challenging aspects of your job?
Agile in general dictates that you are always working on new requirements and never resting on laurels, which is a good thing for a lot of people. Our main challenge, though, is the fact that most government contracts are established in a waterfall–style of work. We have to jump through hoops to run an Agile process – and so does our customer since we are providing incremental deliveries versus large contract deliverables. We have to make sure we check-in with higher levels to ensure that we are always in a good place on the contract.
Do you have any career advice for someone who might be interested in the Agile approach?
Read up on the Agile literature. There’s plenty of excellent content on the web. But remember that Agile is a philosophy, not just a development methodology. Embrace that philosophy.
Tell us about a particularly rewarding or interesting experience in your current position.
There’s not one instance; just the fact that we are working on tools to help the United States stay just a little safer is rewarding.
Thank you, David, for your continued exceptional work and for working so effectively with your customers.