Professional Documents
Culture Documents
2) How long does a scrum cycle last? Who are involved in Scrum cycle?
Scrum cycle depends on the type of project the team is working on, usually, it ranges
about 2-4 weeks to about a month. In scrum cycle, it includes a
Scrum master
Product owner
Team
In scrum, user stories are short, one sentence definitions of a feature or functionality.
Sprint backlog
Product backlog
Velocity chart
Burn-down chart
Sprint in Scrum usually lasts for 30 days or two weeks. The two-week sprint is preferred
for various reason, first it makes easier for the team to estimate, plan and complete the
work in two weeks. Secondly, it gives enough time to the product owner to change the
priorities more often and allows the team to adapt quickly to the market pressures.
Before the scrum sprint initiates, product owner review the list of all new features,
change requests, enhancements and bug reports and determines which ones are of high
priorities. If the project is new it includes new features that the new system must provide,
this list of item is referred as Product Backlog. The items that are kept on sprint are
referred as Sprint Backlog.
Team analyze how much time they got to complete task during the Sprint
From product backlog, team takes the first item and breaks into tasks
Team estimates how long a task will take
If there is any time left during the sprint, they will move on to the next item on the
product backlog
Decide the features which have clarity and estimates how many to be scoped for
sprint
Removes any obstacles that the team faces during the pursuit of its sprint goals
Maximizing the productivity of the team
Making sure that the scripting language used for system testing and unit testing is
written in the same language
Guides the team and product owner to improve the effectiveness of their practices
Makes sure that all standard scrum practices are followed
10) What does a scrum burn down chart should consist of?
It will be a tricky job for a scrum master to plan, organize and structure a project
that lacks a clear goal
Daily scrum meeting requires frequent reviews and substantial resources
A successful project relies on the maturity and dedication of all the team members
Uncertainty regarding the product, frequent changes and frequent product delivery
remains during the scrum cycle
It makes all dysfunction visible
It requires significant change
Scrum of scrum is used to refer the meeting after the daily scrum. The responsible
person from each team attends the meeting and discuss their work and answer the
questions like
The term “Increment” is used to refer the total number of the product backlog items
completed during the sprint and all previous sprints. At the end of the sprint, increment
should be in done status; also, it must be in re-useable condition regardless of whether the
product owner is willing to actually release a product or not.
Sashimi: This term is analogous to “done”, it is used to define the specific task
when it is completed. The term used by different team to refer their completed
task status may differ, but should remain same within one team.
Impediments: Any obstacle that prevent the team members from performing
their work is referred as impediments
Scrum poker or planning poker is a technique to estimate the relative size of development
goals in software development. It is a way to determine sprint item durations by playing
number cards face down the table, instead of speaking them aloud.
Burn down charts is used to track sprint status, they act as an early warning indicators;
they can be useful in highlighting the “lack of progress”. Also, they will highlight the
area where they see redundancy.
18) Mention what is the objective behind holding a Sprint retrospective meeting?
The objective behind Sprint retrospective meeting is to let team members know how
things went during the sprint and discuss possible ways for further improvements for
future sprints.
19) Mention what is the difference between Sprint and Iteration in Scrum?
Each feature in scrum is Story. Story point is an arbitrary measure used by Scrum teams,
and it is a metric used by agile teams to determine the difficulty of implementing a given
story.
Ideally scrum is useful to monitor work with 5 to 10 people, who are committed to
achieving the sprint goal. It does not go well with huge groups or team having more
responsibilities. For larger team, scrum can be applied by splitting the team into small
groups and practice scrum.
1. 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.
2. Are you a Certified Scrum Master (CSM)? If so, how do you view the way Scrum
projects need to be organized?
If the person is not a CSM, you may still encounter these issues, so pursue the line of
questioning either way.
NOTE: There is nothing systemically wrong with self-organization, but as a hiring
manager, you need to know what your own strategy is for Agile adoption and then hire
accordingly. I personally haven’t met many corporate managers who are terribly
comfortable with self-organizing teams.
3. 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.
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.
5. Did your iterations overlap? For instance, were the testers still testing Iteration 6
while Iteration 5 was being designed/developed?
There are many views of how iterative/incremental projects should run under Agile.
Overlapping iterations is certainly one strategy. The danger is to pay attention to the
candidate if they say that "iterations should never overlap." This may tell you that the
candidate is used to having what is called "multidisciplinary teams." This type of team
consists of a set of generic team members who all have the skills and enthusiasm for
requirements, design, coding and testing and who each participate in those activities
almost equally. If your company has defined roles (business analyst, test analyst, etc.)
and career paths then this candidate may have a tough time fitting into your structure.
They will want BAs to code and testers to do design. Is that okay? It is your decision.
Again, nothing wrong with multidisciplinary teams, but your organization must be able to
handle the change if you decide to go that way.
6. 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.
The point here is to make sure testing goes all the way back to requirements for
validation. Not only is it important to test that the functionality a developer has created
during an iteration actually functions, it is also important to determine if it functions the
way the business wanted it to function. Does it meet the requirements defined in the story
card / use case? Your team members should understand the importance of this concept
and if they understand and accept traceability, you should be able to count on this person
to help you meet project goals.
Many development methodologies specify that requirements are locked down at the
beginning of a project. Although that is not the case in Agile, it does not mean that
requirements are loosey-goosey! The advantage of Agile and its short iterations is that it
is easy to quickly recognize that work is not progressing as desired – that what the
customer ‘asked for’ is not what they ‘wanted’ – and the requirements must be changed.
Team members should be able to handle such changes on an Agile project. It shouldn’t be
so tied to code, a story card or any other component of work that prevents providing a
solution which meets the customer’s needs. The general idea is that requirements can
change a lot at the beginning of the release, and very little at the end.
Here we get back to multidisciplinary teams. What you are really trying to understand
from this question is how well an individual would fit into your organization and your
style of Agile development. If your organization is one in which individuals select a
specialized role (such as Java Developer) as part of their career path, your interview
candidate may have difficulty on your team if she is more comfortable working in Agile
projects where she has had the ability to play multiple roles (Scrum for example).
Conversely, if your candidate’s primary experience was developed on projects where
roles were clearly defined and individuals did not work in multiple capacities, then he
may be uncomfortable in an organization where team members can play any role on a
project to achieve its end goal. You must choose the candidate which fits your
organization well and is flexible enough to suit the needs of your Agile project
implementation. Two particular roles that are more easily interchanged are business
analysts and testers, other roles are harder to be "multifunctional."
10. 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.
This is more of a question for candidate project managers, although all Agile people
should know the answer. A burndown chart is a graph that shows the progress of the team
in terms of work "burned through." The work is usually put in terms of a set of "story
points" which represent functionality. Once a piece of functionality is coded and tested
and reviewed by the user, it is considered to be "burned" and the graph will reflect this.
The graph should show a steady movement down until it is clear that the team will have
completed the story point backlog by the release date. There is also a variation called a
"burnup chart" that works the same way but can handle scope changes more easily than
the burndown variety. Again, you want to see how the candidate will link their
burndown/burnup chart into your overall project management structure.
This is a PM question, but most Agile people should know the answer. Project velocity is
the rate at which a team is "burning" through story points, so a possible velocity might be
"30 story points per iteration." That means that so far, the team has been able to identify,
code and test 30 units of functionality (story points) in an average iteration and can
expect to do about that much in future iterations, giving a fairly good view towards what
can be accomplished by a release date.
Hopefully, these twelve questions can be a good start for your qualification process in
bringing in new Agile consultants or candidate employees. Our hope is that you can build
a highly-qualified team that will fit in well with your corporate development process,
culture and PM standards.
Product Owner: Manages the product backlog. PO is the voice of the business
and create new features to be developed for the application.
Scrum Master: Responsible for managing the sprint, remove any impediments
and keeps track of the progress of the project.
Scrum Team itself: Composed of developers, designers and QA. This forms the
team which is responsible for delivering high quality software.
1. Strength vs Weakness
You should choose a strength that is really related to the job you apply for,
a strength that characterize good software developer/tester/project manager. To
such belongs analytical thinking, problem solving, mathematical skills, ability
to work quickly, detail-oriented personality and some other related strengths.
When talking about your weaknesses, choose something that does not
matter. For example, managing other people or struggling to communicate
with non-IT guys, is not something that should bother a tester heavily. Or you
can even pick a weakness that some interviewers consider as a strength, for
example being impatient.
Then you should elaborate on it explaining the interviewers what you do to
further improve on your strengths and eliminate the impact of your
weaknesses, at least to certain extend. That is what they want to hear from an
ideal job applicant.
Sample answers
I really like to test software and therefor my motivation is very high in
job. I can work quickly and act responsively, what I believe is crucial
for agile development. On the other hand, I am sometimes impatient,
what may cause troubles to other colleagues. However, I am aware of
this weakness and always remind it to myself to stay patient in job.
My analytical thinking and problem solving abilities are exceptional. I
work on it constantly, solving new problems and learning new
technologies. On the other hand, I am not very good in managing other
people and leading teams. I tried it in the past, but I was not good at it.
I hope to improve on it, but it’s not easy.
1. What is a Sprint ?
Answer: A Sprint is the basic unit of development in Agile Scrum development. It is a
time box of effort directed towards a specific goal which is a subset of a greater effort
and goal. A typical sprint lasts about 3-4 weeks
6. What is Re-factoring ?
Answer: Re-factoring is modifying existing code to improve its performance,
readability,extensibility etc. The code’s functionality remains as is .
7. What is an epic ?
Answer: An epic is an agile term for a customer described software feature that is
itemized in the product backlog. Epics are subdivided into stories.
8. What is the Agile manifesto?
Answer: The following is the Agile manifesto: We are uncovering better ways of
developing software by doing it and helping others do it. Through this work we have
come to value:
41.