Skip to content

Latest commit

 

History

History
368 lines (214 loc) · 15.4 KB

agile.md

File metadata and controls

368 lines (214 loc) · 15.4 KB

Agile

Explain what is Refactoring?

What is User Stories?

What is an Agile iteration?

What is test driven development?

Explain what is Velocity in Agile?

Explain what does it mean by product roadmap?

What is Agile?

How is Agile different from other software delivery aproaches?

Mention what should a burndown chart should highlight?

If a timebox plan needs to be reprioritized who should re-prioritise it?

What is story points/efforts/ scales?

Explain in Agile, burn-up and burn-down chart?

Mention what are the challenges involved in Agile software development?

What is the Agile Manifesto?

What does project velocity mean?

Can you explain the purpose of a burndown chart?

Mention what are the advantages of maintaining consistent iteration length throughout the project?

What are four Agile Manifesto values?

What are the qualities of a good Agile tester should have?

What are some methodologies used to implement Agile?

Why Continuous Integration is important for Agile?

Mention what are the Agile quality strategies?

When not to use Agile?

Name the 12 Agile Principles

In Agile mention what is the difference between the Incremental and Iterative development?

Mention what is the difference between Scrum and Agile?

Explain what is Spike and Zero sprint in Agile? What is the purpose of it?

Explain what is Refactoring?

To improve the performance, the existing code is modified; this is re-factoring. During re-factoring the code functionality remains same.

Source

[↑] Back to top

What is User Stories?

User stories are features customers might want to see in their software. They are written on index cards to encourage face-to-face communication. Typically no more than a couple days work, they form the basis of our Agile plans.

[↑] Back to top

What is an Agile iteration?

An Agile iteration is a short one to two week period where a team takes most important user stories, builds them completely and deliver as running-tested-software to the customer. Analysis, design, coding, testing happen during an iteration.

[↑] Back to top

What is test driven development?

Test driven development (TDD) is also known as test-driven design. In this method, developer first writes an automated test case which describes new function or improvement and then creates small codes to pass that test, and later re-factors the new code to meet the acceptable standards.

Source

[↑] Back to top

Explain what is Velocity in Agile?

Velocity is a metric that is calculated by addition of all efforts estimates related with user stories completed in an iteration. It figures out how much work Agile can complete in a sprint and how much time will it need to finish a project.

Source

[↑] Back to top

Explain what does it mean by product roadmap?

A product roadmap is referred for the holistic view of product features that create the product vision.

Source

[↑] Back to top

What is Agile?

Agile is a time boxed, iterative approach (framework) to software delivery that builds software incrementally from the start of the project, instead of trying to deliver it all at once near the end.

It works by breaking projects down into little bits of user functionality called user stories, prioritizing them, and then continuously delivering them in short two week cycles called iterations.

Agile refers to any process that aligns with the concepts of the Agile Manifesto.

Source

[↑] Back to top

How is Agile different from other software delivery aproaches?

  • Analysis, design, coding, and testing are continuous activities
  • Development is iterative
  • Planning is adaptive
  • Roles blur
  • Scope can vary
  • Requirements can change
  • Working software is the primary measure of success

[↑] Back to top

Mention what should a burndown chart should highlight?

The burn-down chart shows the remaining work to complete before the timebox (iteration) ends.

Source

[↑] Back to top

If a timebox plan needs to be reprioritized who should re-prioritise it?

If a timebox plan needs to be reprioritized it should include whole team, product owner, and developers.

Source

[↑] Back to top

What is story points/efforts/ scales?

It is used to discuss the difficulty of the story without assigning actual hours. The most common scale used is a Fibonacci sequence (1, 2, 3, 5, 8,1 3,….100) although some teams use linear scale (1, 2, 3, 4….), Powers of 2 (1, 2, 4, 8……) and cloth size (XS, S ,M, L, XL)

Source

[↑] Back to top

Explain in Agile, burn-up and burn-down chart?

To track the project progress burnup and burn down, charts are used

  • Burnup Chart: It shows the progress of stories done over time
  • Burndown Chart: It shows how much work was left to do overtime
Source

[↑] Back to top

Mention what are the challenges involved in Agile software development?

Challenges involved in Agile Software development includes:

  • It requires more testing and customers involvement
  • It impacts management more than developers
  • Each feature needs to be completed before moving on to the next
  • All the code has to work fine to ensure application is in working state
  • More planning is required
Source

[↑] Back to top

What is the Agile Manifesto?

In February 2001, 17 software developers met in Utah to discuss lightweight development methods. They published the Manifesto for Agile Software Development, which covered how they found “better ways of developing software by doing it and helping others do it” and included four values and 12 principles.

[↑] Back to top

What does project velocity mean?

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.

Source

[↑] Back to top

Can you explain the purpose of a burndown chart?

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.

Source

[↑] Back to top

Mention what are the advantages of maintaining consistent iteration length throughout the project?

The advantages are

  • It helps team to objectively measure progress
  • It provides a consistent means of measuring team velocity
  • It helps to establish a consistent pattern of delivery
Source

[↑] Back to top

What are four Agile Manifesto values?

While there is value in the items on the right, agile team value the items on the left more:

  • Individuals and interactions over processes and tools
  • Working software over comprehensive documentation
  • Customer collaboration over contract negotiation
  • Responding to change over following a plan

[↑] Back to top

What are the qualities of a good Agile tester should have?

A good Agile tester should have following qualities:

  • It should be able to understand the requirements quickly
  • Agile tester should know Agile principals and concepts well
  • As requirements keep changing, tester should understand the risk involve in it
  • Based on the requirements Agile tester should be able to prioritize the work
  • Continue communication between business associates, developers and tester is must
Source

[↑] Back to top

What are some methodologies used to implement Agile?

Agile is a framework and there are a number of specific methods within the Agile movement, for example:

  • Extreme Programming (XP)
  • Scrum
  • Lean Software Development
  • Kanban
  • Crystal Clear

[↑] Back to top

Why Continuous Integration is important for Agile?

Continuous Integration is important for Agile for following reasons:

  • It helps to maintain release schedule on time by detecting bugs or integration errors
  • Due to frequent agile code delivery usually every sprint of 2-3 weeks, stable quality of build is a must and continuous integration ensures that
  • In helps to maintain the quality and bug free state of code-base
  • Continuous integration helps to check the impact of work on branches to the main trunk if development work is going on branches using automatic building and merging function
Source

[↑] Back to top

Mention what are the Agile quality strategies?

Agile quality strategies are:

  • Re-factoring
  • Non-solo development
  • Static and dynamic code analysis
  • Reviews and Inspection
  • Iteration/sprint demos
  • All hands demo
  • Light weight milestone reviews
  • Short feedback cycles
  • Standards and guidelines
Source

[↑] Back to top

When not to use Agile?

Before using Agile methodology, you must ask following questions

  • Is functionality splitable
  • Is customer available
  • Are requirements flexible
  • Is it really time constrained
  • Is team skilled enough
Source

[↑] Back to top

Name the 12 Agile Principles

  1. Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.
  2. Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage.
  3. Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.
  4. Business people and developers must work together daily throughout the project.
  5. Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.
  6. The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.
  7. Working software is the primary measure of progress.
  8. Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.
  9. Continuous attention to technical excellence and good design enhances agility.
  10. Simplicity - the art of maximizing the amount of work not done - is essential.
  11. The best architectures, requirements, and designs emerge from self-organizing teams.
  12. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.

[↑] Back to top

In Agile mention what is the difference between the Incremental and Iterative development?

  • Iterative: Iterative method is a continuous process of software development where the software development cycles are repeated (Sprint & Releases) till the final product is achieved.

  • Incremental: Incremental development segregates the system functionality into increments or portions. In each increment, each segment of functionality is delivered through cross-discipline work, from the requirements to the deployment.

Source

[↑] Back to top

Mention what is the difference between Scrum and Agile?

  • Scrum: In the scrum, a sprint is a basic unit of development. Each sprint is followed by a planning meeting, where the tasks for the sprint are identified and estimated. During each sprint, the team creates finished portion of a product
  • Agile: In Agile, each iteration involves a team working through a full software development cycle, including planning, design, coding, requirement analysis, unit testing, and acceptance testing when a product is demonstrated to stakeholders

In simple words, Agile is the practice and scrum is the process to following this practice.

Source

[↑] Back to top

Explain what is Spike and Zero sprint in Agile? What is the purpose of it?

  • Sprint Zero: It is introduced to perform some research before initiating the first sprint. Usually this sprint is used during the start of the project for activities like setting development environment, preparing product backlog and so on.

  • Spikes: Spikes are type of stories that are used for activities like research, exploration, design and even prototyping. In between sprints, you can take spikes for the work related to any technical or design issue. Spikes are of two types Technical Spikes and Functional Spikes.

Source

[↑] Back to top