Agile Mindset
How long were the iterations (or sprints) on the projects you worked on?
Agile project methodology moves at a fast pace and you should already have a good idea of the length of the iterations for the pending project. Answers of between 1-week to 3-weeks are ideal. If your candidate has worked on Agile projects which have long iterations (4 weeks or longer), or wildly variable-length iterations, it will make sense to determine if this person is comfortable with the iterations as defined for your project. A steady set of fixed-length iterations that are fairly short is best. The theory that big companies need longer iterations is not based in fact. We’ve done many big company projects in the 1 to 2 week iteration range.
Did you use automated test tools on your projects? Explain how that worked.
Agile project team members should have experience (or at the very least, the desire) to use automated testing tools for regression and performance testing of each iteration. At the end of each iteration you want to have something that your customer/client can "see." Automated testing allows quick identification and isolation of development defects as well as the ability to test development work completed in previous iterations. Expect the candidate to talk about automated regression testing, continuous integration and testing and even performance testing techniques and tools. Also expect them to discuss the need for manual testing as well as automated testing, due to the ever-changing nature of the code base in Agile.
What is the definition of Continuous Integration and Continuous Deployment for you and the company?
Continuous Integration is testing your code all the time and keeping software quality high. The premise of CI is to get feedback as early as possible because the earlier you get feedback, the less things cost to fix.
Continuous Deployment is about getting code into production in an automated way. Things should be easy and repeatable. That’s where Continuous Deployment comes into play. Deployment should not be manual.
Explain what is continuous integration?
In software development, when multiple developers or teams are working on different segments of same web application, we need to perform integration test by integrating all modules. In order to do that an automated process for each piece of code is performed on daily bases so that all your code get tested.
Have you done continuous integration on a project before? Describe.
Here you want to get a pretty detailed explanation of how the candidate has used continuous integration on previous projects. Continuous integration is a set of automated build, integration and test steps that executes against the code base in a configuration management repository. For instance, if you were using Java and CVS, the CVS repository would have a set of triggers that automatically built, integrated and unit tested the code often, perhaps each night, perhaps a few times a week, or even every time someone checked in new code. Each of these is a valid continuous integration story.
Have you used story cards or use cases? Explain how that worked for the team.
Often, Agile projects are associated with the use of story cards. However, our goal is to simply understand if our potential team member is comfortable implementing a project (designing, developing, testing, etc) with business information which has been documented in some way. The requirements (story cards or use cases or a combination of both) should have enough information to provide guidelines for developing and testing and also allow the development team to come up with a creative and effective solution. By asking this question, you want to understand if your potential team member is comfortable working with requirements in a structured development environment (versus brief summaries from which the developers build code). Again, this is a matter of matching the Agile candidate’s experience with your organization’s needs
What project management tools were used on your project?
This question is more for Agile project managers. Do you have corporate PM tool standards? If so, this question becomes quite important. Agile has a new breed of PM tools including Rally Software, Version One and XPlanner. These tools bear no resemblance to the waterfall PM tools like MS-Project or Clarity. If your candidate is more comfortable using one of these Agile PM tools, try to identify if they will be able to fit their Agile project plans (and issues, milestones, change requests, etc.) into your company’s structure.
Last updated