This article defines many of the terms referred to in the Software Development App Guide.
Agile is a general philosophy which describes a set of principles for building software through iterative development. SCRUM is a specific set of practices to follow when practicing Agile software development. Agile is commonly regarded as an umbrella term and Scrum falls under that umbrella. The Agile Development Method is an approach that considers learning, improving, and changing during the process of the product development. Agile philosophy emphasizes building software that people can get hands on quickly. Agile development focuses on rapid iteration, with continuous customer input along the way.
Scrum is an iterative, incremental framework for product/project development. It structures development in cycles of work called Sprints. These iterations take place one after the other without pause. The Sprints are time boxed– they end on a specific date whether the work has been completed or not, and are never extended. The team commits to complete the items by the end of the Sprint. During the Sprint, the chosen items do not change.
A short meeting held daily by each team during which the team members inspect their work, their progress, and report any impediments to the Scrum Master for removal. Everyone on the team attends the Daily Scrum meeting. It is the team’s opportunity to synchronize their work and report to each other on obstacles. In the Daily Scrum each member of the team reports three things: (1) What they were able to get done since the last meeting; (2) what they are planning to finish by the next meeting; and (3) any blocks or impediments that are in their way. Note that the Daily Scrum is not a status meeting to report to a manager; it is a time for a self-organizing team to share with each other what is going on, to help them coordinate. There is no discussion during the Daily Scrum, only reporting answers to the three questions; if a discussion is required, it takes place immediately after the Daily Scrum in a follow-up meeting.
Agile Software Development
In software application development, agile software development is a methodology that anticipates the need for flexibility in the delivery of the finished product. Agile software development focuses on keeping code simple, testing often, and delivering functional bits of the application quickly. The goal of agile software development is to build upon small client-approved parts as the project progresses, as opposed to delivering one large application at the end of the project.
Features (a.k.a. Epics or Epic Stories)
Features (also called epics or epic stories) are like a group of user stories and deliver a package of functionality that a user would expect to get all at once. They are usually considered to be high level requirements for the product that can span releases and iterations, and may be composed of several user stores. New features may be deduced by reviewing user stories in the Backlog or developed separately. The Software Development App in EPM Live is flexible enough so that features can be entered at any time, and the use of features is optional. One or more features can be associated to one or more user stories, releases, and iterations. Features (Epics) represent big user stories that are typically defined as too big to fit in an iteration.
Epics (a.k.a. Features)
Epics (a.k.a. Epic Stories or Features) are usually considered to be high level requirements for the product that can span Releases and Iterations, and may be composed of several User Stores. Epics represent big user stories that are typically defined as too big to fit in an iteration.
A user story (something that a user wants) is an enhancement of something or small change to improve something.
Product Backlog List
The product backlog is an ordered list of everything that might be needed in the product and is the single source of requirements for any changes to be made to a product. The product backlog is used to capture requests for modifying a product. This can include add defects, user stories, or tasks.
A product backlog contains a list of product backlog items. These backlog items are categorized as defects(bugs), user stories (new functionality) and task (work to be done).
A task equals work to be done. A task is a unit of work. Team members volunteer for tasks. They update the estimated number of hours remaining on a daily basis, influencing the Burn-down chart. Tasks are contained by backlog items.
A bug is a specific part of a feature that is not completely implemented. A bug can be considered an incomplete feature. It can be something missing, something not working correctly, and something that needs to be finished.
Defects are bugs or problems.Knowing how many defects, and the severity of those defects, is an important determinant of whether you're in a position to deploy your system.
Backlog items can be decomposed in the Project Agile Planner. Decomposition is the process by which the backlog items are refined by the development team. Backlog items can be decomposed into defects, tasks, or user stories in the Agile Planner. In Scrum, this is commonly referred to as "grooming the backlog."
Project Agile Planner
The EPM Live Software Development App allows you to easily manage your software development projects using agile iterative planning to effectively keep track of backlog tasks, user stories, and defects. You can build your own project iterations or sprints, as well as assess which backlog items are ready for planning in the Project Agile Planner. Backlog items can be assigned to team members as tasks, user stories, or defects and the backlog item status can be easily assessed while in the Project Agile Planner.
A Sprint (Iteration) is a time period (usually 2 to 4 weeks) in which team members develop and deliver a set of functionalities (User Stories). A Sprint is an iteration, or one repeating cycle of similar work, that produces increment of product. The duration is fixed throughout the overall work.
Velocity is the "size" (in either points or hours) that the agile project team can accomplish in an iteration. Velocity is a measure of how much functionality can the team deliver per iteration. This measure is often captured in the form of "points" which are specific to the team. Velocity points are entered at the iteration level.
The Whiteboard List is where backlog item status can be easily accessed. This is where see what has not started, what is in progress, and what is complete. Filters can be applied to display just the active projects or perhaps only one particular project. Backlog item status can be easily accessed via the whiteboard view. The Whiteboard Page in EPM Live is like a big visible chart with imaginary index cards. Within the visible chart you can move the index cards into another status column. An added value is that the visible charts can be accessed by the team and others.
The Software Development App in EPM Live makes it possible to track the results of performing test cases on the iterations and for specific user stories. The test cases can be categorized as a test for: acceptance, function, performance, regression, usability, or user interference. The Test Cases List is where you can store test cases. The included test case app allows for organized storage of all test cases in a central location for quick reference when testing.
Burn Down Chart
On a Scrum project, the team tracks its progress against a release plan by updating a burn-down chart at the end of each sprint. The horizontal axis of the sprint burn-down chart shows the sprints; the vertical axis shows the amount of work remaining at the start of each sprint. Work remaining can be shown in points or hours.
To Do (Remaining Work)
To Do (Remainaing Work) is the Estimated Work Remaining (Sprint Backlog items). This equals the number of hours that remain to be worked on any task. This estimate is updated at the end of every day. The estimate is the total estimated hours remaining, regardless of the number of people that perform the work.
Remaining Work (To Do)
Remaining Work (TO Do) is the Estimated Work Remaining (Sprint Backlog items). This equals the number of hours that remain to be worked on any task. This estimate is updated at the end of every day. The estimate is the total estimated hours remaining, regardless of the number of people that perform the work.