Connecting Dots, Delivering Results
A
A/B Testing
When you want to roll out a change in behavior of a product, you roll it out to only a small subset of users and see if they like it or not. This approach to testing a market hypothesis where different sets of users (personas) experience unique features is called the A/B approach. A/B testing is used in lean-agile marketing, product development, business development and innovation, because it reveals user behavior and metrics that can validate or invalidate a hypothesis without the need for a big product/service release.
Agile Software Management
Agile means ability to move quickly and easily. Goal is to develop software in increments, in frequent iterations based on evolving requirements. Other names are Agile Software Development, Agile Methods, Agile Project Management etc.
Agile is an umbrella term for a number of project methodologies such as Scrum, Kanban, Lean, Scaled Agile etc. The concept of Agile was born in 2001 when a team of independent software developers gathered at a ski lodge in Snowbird, Utah to discuss alternative approaches to the traditional, top-down management, waterfall method of completing software development. Originally referred to as lightweight software development methodologies, the developers adopted the term Agile to reflect its lean style of project management, characterized by frequent iterations. By the end of the weekend, the developers had produced the Agile Manifesto, which included four values and 12 principles for Agile software development.
Self-organized, cross-functional development teams work in close collaboration with the customer and stakeholders to add value to every step of the process, targeting a goal of continuous improvement. Agile project management has evolved into a number of project styles, Scrum being the most widely used. Others include:
Kanban
Extreme Programming (XP)
Crystal
Dynamic Systems Development Method (DSDM)
Lean
Feature-Driven Development (FDD)
In Agile, the team is always working on the highest-priority items within the sprint timebox, ensuring that the customer receives the right product to meet their requirements.
Project Management Benefits because of Agile:
Allows for early and regular releases. Management and Customers both love to see products available early.
Provides flexibility in development. Break into small deliverables (2-3) weeks. Small changes can be made easily.
Reduces risk—issues are discovered and resolved early. Course correction at early stages.
Everyone is involved and works closely. Encourages involvement of product owners, development team, and stakeholders.
Encourages ownership at team level. Team swims together and sinks together. Increases team performance, communication, and motivation.
Reduces costs and reduces waste of resources.
Agile Release Train
The Agile Release Train (ART) is a long-lived team of Agile teams, typically consisting of 50-125 individuals that serve as the program-level value delivery mechanism in SAFe. Each ART is a virtual organization that plans, commits, develops and deploys work together. Using a common cadence, each train has the dedicated resources necessary to continuously define, build, test and deliver value to one of the Streams. Each train produces increments every two weeks, and quantum Program Increment milestones every 8-12 weeks.
Key Principles of Agile Release Trains
The Schedule is fixed. Train leaves on time. Does not wait for anyone.
A new System Increment every two weeks. ART operates in two week cycles called system increments.
Synchronized: All teams within ART operate on the same schedule.
Train has known velocity.
Dedicated people. To maintain the stability and sustainability of the Release Train, most people included in the ART are dedicated to it full-time
Agile teams: High-performing Agile teams are a critical component of Agile Release Trains. Agile teams embrace the Agile Manifesto and apply Agile methods like Scrum and Kanban to their work. They are cross-functional, stable, and autonomous.
Face-to-face PI Planning: Agile Release Trains typically plan their work during an Agile ceremony called mid-range or Quarterly Planning. Scaled Agile Inc. refers to this event as Program Increment or PI Planning. It is during PI Planning that the Agile Release Trains and Agile teams within the release trains align around their strategic priorities for the coming PI. These events are usually held in person, but there is also a case to be made for why virtual planning events can be just as effective.
Inspect and Adapt (I&A): Also following each Program Increment is an Inspect and Adapt, or I&A event. During the I&A event, the current state of the solution is demonstrated and evaluated. Teams and management use this time to identify improvement backlog items in a structured, problem-solving workshop.
Agile Release Train Roles
The following roles help to ensure the successful execution of the ART.
Scrum Master – Guides the team through meetings, processes and best practices and ceremonies on an ongoing basis.
Product Owner – Responsible for the value the Agile team produces.
Team Member – Make up the heart of Agile teams. They are cross-functional, collaborative workers focused on incremental delivery.
Release Train Engineers (RTEs) – Responsible for facilitating program execution, removing impediments to flow, and risk and dependency management.
Product Manager – Owns the product vision and strategy; communicates with internal and external stakeholders to define and fulfill customer requirements.
System Architects / Engineers – Define and design the overall architecture of the system, operating at a birds-eye view to make sure that major system elements and interfaces work together seamlessly.
Business Owners – Key internal stakeholders of the ART; responsible for delivering the intended business outcomes of the ART.
Acceptance Criteria
Criteria to Accept/Reject something. Unless the criteria is met, the milestones/product won’t be accepted. For example, if you have to be between 60 inches and 80 inches to join the armed forces in the USA then “between 60 and 80 inch” is the acceptance criteria. In SW/HW we use this term to determine whether we can move to the next phase. In Agile, the criteria by which a work item (user story) can be judged to have been successfully implemented and tested. The Acceptance Criteria specify a set of conditions that the software must meet in order to satisfy the customer or a milestone. It could be use cases, it could be Metrics (KPIs). A work item/milestone/story/phase is ‘done’ when all criteria pass testing; conversely, it is not ‘done’ if any criteria fail testing. Acceptance Criteria are discrete testable features that relate to the Conditions of Satisfaction that describe a higher level of conditions that,when met, deliver business value.
Examples:
If I am logged in, when I click the “Buy” button, the total item count for my cart should increase by one.
> 90% of P0 and > 70% of P1 should pass in order to start Beta Program.
P99 performance should be > X.
Benefits:
Removes ambiguity from what is “done” and are we ready to move to the next milestone.
Acceptance Testing
The process to validate that a work item meets the specified acceptance criteria is called Acceptance Testing. Can be done manually or automated (ideal way). The result/output of acceptance testing is a report that identifies the status of each acceptance criteria being tested and whether that item passes or fails.
Acceptance Test
An Acceptance Test is derived from the Acceptance Criteria and verifies whether a feature is functional. The test has only two results: Pass or Fail. It is better to automate the acceptance tests so they can be performed on all versions of the software, typically during a nightly build. Acceptance criteria usually include one or more acceptance tests.
Agile Manifesto
A Manifesto is a public declaration of views, policy and aims. The Agile Manifesto includes four values and 12 principles of an iterative software development process. 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.”
Project managers refer to the Agile Manifesto when they are managing any process that aligns with its core concepts, such as Agile methodology. Think of it as a type of guidelines/principles/rules or a product development “constitution” that one should refer to often to practice Agile Product Development and Agile Program Management.
Application Lifecycle Management (ALM)
Every Application goes through Introduction → Growth → Maturity → Decline → Deprecate/Replace.
Application Life cycle Management (ALM) is a continuous process of managing a software application from its initial planning to its retirement.
Application life cycle management is the product life cycle management of computer programs. It encompasses requirements management, software architecture, computer programming, software testing, software maintenance, change management, continuous integration, project management, and release management.
Arrow Diagramming Method
A network diagramming technique that represents the start and end of activities with arrows to help with scheduling in the project planning phase. The longer the duration of the project, the longer the length of the arrow.
B
Backlog
A backlog is a rolling/changing list of product requirements based on the customer’s needs. The backlog is not a to-do list; rather, it is a list of all the desired features for the product. The Agile team uses the backlog to prioritize features and understand which features to implement first.
The development team pulls work from the backlog to complete during each iteration. The backlog may change throughout the development process as the team learns more about the customer’s requirements.
Benefits:
Organization. Helps PMs keep all the feature requests/asks/vision at one place.
Clearly communicates feature priorities. Re-prioritize as needed.
Allows for longer term planning. Never forget the lost list of features.
Ensures the customer needs are being heard.
Backlog Grooming / Backlog Refinement
Groom the backlog. It occurs at the end of a sprint, when the team meets to make sure the backlog is ready for the next sprint. The team may remove user stories that aren’t relevant, create new stories, reassess priority, or split user stories into smaller tasks. Backlog grooming is both an ongoing process and the name for the meeting where this action occurs (a backlog grooming meeting).
Once the team finishes a sprint, a backlog grooming meeting is scheduled. Backlog grooming is meant to ensure the backlog only contains items that are relevant and that meet objectives.
Benefits:
Ensures that all features are meeting project objectives.
Helps the development team understand priorities and stay on track.
Facilitates communication regarding which features are and aren’t important, and why.
Baseline
On projects, a baseline is what you set, typically the project schedule, so you can measure performance against the plan. You can set a baseline metrics, or a baseline date for a milestone. Baseline is something against which you can measure.
Big Visible Charts / Information Radiators
Big visual charts are large charts displayed near the Agile team that show how the team is progressing. You could make a big visible chart to show defects, velocity (burndown chart), customer acceptance tests, or to find out how much time the team is wasting.
Big visible charts are used to display project information in an informal way. Usually displayed on a wall, they share important information at a glance.
Benefits:
Communicates project status to stakeholders.
Improves transparency and communication.
Quickly conveys easy-to-digest information.
Breaking the Build
When a developer adds changes to the source code repository that result in the failure of a subsequent build process, the developer has “broken the build.” Avoiding breaking the build is a commitment generally required by agile software developers and integral to the XP practice continuous integration. The build is broken if the build process cannot be successfully completed for any number of reasons including (but not limited to)
failure to compile
compiling with unacceptable warnings
failure of automated software tests.
The more comprehensive the build process, the higher the threshold for breaking the build. If a code submission results in breaking the build, the developer should immediately remove the cause. If the build breaks but the immediate cause is not self-evident, a frequent practice of established agile development teams is to take immediate action to fix the build.For more complex build breaks, once option could be to rollback and figure out what is causing the breakdown. This will enable other teams to move forward with the build.
Build Process
The process on how to build is called the Build Process. Its an automated process that uses source inputs to create artifacts necessary to install a software system. Source inputs generally include typical programmer-written source code but may also include static content (e.g., html files, etc.), and other pre-compiled components. Artifacts vary widely but typically include binary files (e.g., executable, .jar, .dll files), often packaged together for ease of deployment.
Burndown Chart / Release Burndown Chart
A burndown chart represents all outstanding work. The vertical axis represents the backlog, while the horizontal axis represents time. The work remaining can be represented by story points, ideal days, team days, or other metrics.
Also Known As: Release burndown chart, iteration burndown chart
How it’s Used: A burndown chart is used by Agile teams to track the total work remaining in a project and to predict when work will be finished.
Project Management Benefits:
Warns the team if things aren’t going according to plan.
Shows the impact of decisions.
Communicates progress and predicts when work will be complete.
Burnup Chart
A burnup chart tracks how much work has been completed. There are two lines on the chart—one line represents total work and the other represents work completed. The vertical axis represents the amount of work and can be measured in number of tasks, hours, or story points. The horizontal axis represents time, usually measured in days.
A burnup chart is used by Agile teams to check progress and manage scope or feature creep. This chart allows Agile teams to track when work has been added or removed from the project, and helps the team to determine a realistic completion date for the project.
Benefits:
Easily recognize and solve problems in your project.
Estimates when the project will be complete.
Improves communication and transparency.
Business Plan
A formal document that clearly defines the business goals of a project and how to attain them. It is also called a Business Case. It includes the plans to fulfill these goals. There may also be some background information about the organization or team tasked to reach this goal.
The One Pager Business Plan
Overview
What will you sell?
Who will buy it?
How will your business idea help people?
Expense
Why is this a profitable business?
How are you planning to fund the business?
Revenue
What will your Charge/subscription mode?
How will you get paid?
How else will you make money from this project?
Hustling
How will customers learn about your business?
How can you encourage customer stickiness?
Success
What metrics are you targeting? # of customers, # of daily active users, CSAT score?
Annual net income/revenue?
Obstacles/Challenges/Open questions
Specific concern #1
Proposed solution #1
Business Epics
Business Epics are large customer-facing initiatives that encapsulate the new development necessary to realize the benefits of some new business opportunity. Business Epics are captured and analyzed in the Business Epic Kanban System. Those that are approved wait in the Portfolio Backlog until resources are available for implementation.
Beta Program
Beta software refers to computer software that is undergoing testing and has not yet been officially released. The beta phase follows the alpha phase, but precedes the final version. Some beta software is only made available to a select number of users, while other beta programs are released to the general public. The goal of a beta program is to ensure that real users can successfully complete their tasks and get a wide range of users interacting with the product, as well as testing the scalability, performance, and reliability of the product under real-world usage scenarios. Here are some of the most common terms used in Beta Program.
Fish Food/Teamfood: Playing with the product with a small to large team that is directly working on the product.
Dogfood: Playing with the product outside of the team, but within the company.
Alpha (pre-beta): A quality phase just prior to beta testing that typically includes employees and/or friends and family, focused on a less-stable and often feature-incomplete prerelease product
Beta Applicant: An individual who has explicitly expressed an interest in participating in a private beta test
Beta Community: An online collection (i.e. database) of users who have expressed an interest in participating in a company’s beta program
Beta Objective: A defined goal of a beta test; often influenced by product management, quality, engineering, marketing, support, and/or sales
Beta Product: A prerelease version of a product which serves as the focus of a beta test; typically at or near feature-complete, likely includes a number of known and unknown bugs
Beta Program: The entirety of beta related tests, methodologies, and systems within a company
Beta Site: An individual test location encompassing one or more users participating in a beta test project; typically used in a business context
Beta Team: The complete pool of beta testers associated with a beta test, often broken into sub-teams based on demographics or other defining attributes
Beta Test: A coordinated project intended to improve the quality of a prerelease product by collecting feedback from prospective customers; each individual beta test may or may not include multiple test phases
Beta Test Plan: A document detailing the objectives, target market, internal beta team, and processes for a specific beta test
Beta Tester: An individual selected to participate in a beta test
Beta Tester Agreement: The legal agreement which dictates the participation responsibilities of the beta tester
Beta Unit: A pre-production hardware unit which will be distributed to a beta tester
Bill of Materials: The complete set of components (packaging, beta unit, cables, documentation, etc.) that will be delivered with a beta unit
Bug Report: Feedback provided by a beta tester which details an unexpected failure or defect in the product (typically includes a title, description, steps to reproduce, severity, category, and related file attachments)
Compliance: The measurement of how thoroughly beta testers meet the base level participation requirements set for them
Crash Report: Technical details regarding an application crash, typically generated automatically by the beta product
Customer Validation: Umbrella term describing the primary purpose of beta testing
Demographic: Quantifiable customer traits such as gender, age, ethnicity, language, disability, employment status, and location, which can be used for segmentation
Feature-complete: A state in which a product has all of its planned or primary features implemented, commonly reached by a product before or by beta
Feature Request: Feedback provided by beta testers in the form of a suggestion or idea intended to improve the product
Feedback: Refers to information provided by beta testers, often in the form of bug reports, feature requests, and survey responses
Feedback Loop: The process in which feedback is submitted by beta testers, reviewed, and addressed by internal beta team members, which helps increase overall beta participation
Friends and Family: Used to identify beta testers as being related to the product team or company; often includes actual friends and family in addition to employees
Non-disclosure Agreement: A legally binding agreement between the beta tester and the company which indicates the beta tester will not reveal or discuss the beta product and/or their involvement in the beta test
Phases: One portion of a beta test project divided into different timed elements; may introduce additional beta testers, objectives, and/or beta releases; often linked to individual releases by name (e.g. Beta 1, Beta 2, etc)
Private Beta (or closed beta): A beta test in which participants have been invited by internal team members, most often after applying and completing a qualification survey.
Triage: The process of analyzing and organizing feedback prior to distribution to the appropriate internal beta team members
C
Cadence
Cadence describes the flow or rhythm of events or tasks in a project. It establishes a pattern that the team can follow to understand what they are doing and when it will be completed. Cadence also could be sending a project status meeting to all stakeholders every Friday without fail. Basically a task done at regular intervals no matter what.
Agile teams strive to achieve a cadence during their project. For example, in Scrum, fixed-length iterations, called sprints, typically last two weeks and allow the team to ship software on a regular cadence. In Kanban, the cadence is the continuous flow of work.
Benefits:
Establishes order and rhythm.
Improves team efficiency.
Allows the team to deliver software on a frequent basis.
Capability Maturity Model (CMM)
Developed from a US Department of Defense study, the model is used to develop and refine software processes. It helps to model the maturity of the capability of a business process by defining steps and managing result metrics to optimize the process.
CMM's Five Maturity Levels of Software Processes
At the Initial Level, processes are disorganized, even chaotic. Success is likely to depend on individual efforts, and is not considered to be repeatable, because processes would not be sufficiently defined and documented to allow them to be replicated.
At the Repeatable Level, basic project management techniques are established, and successes could be repeated, because the requisite processes would have been made established, defined, and documented.
At the Defined Level, an organization has developed its own standard software process through greater attention to documentation, standardization, and integration.
At the Managed Level, an organization monitors and controls its own processes through data collection and analysis.
At the Optimizing Level, processes are constantly being improved through monitoring feedback from current processes and introducing innovative processes to better serve the organization's particular needs.
The CMM is similar to ISO 9001, one of the ISO 9000 series of standards specified by the International Organization for Standardization (ISO). The ISO 9000 standards specify an effective quality system for manufacturing and service industries; ISO 9001 deals specifically with software development and maintenance. The main difference between the two systems lies in their respective purposes: ISO 9001 specifies a minimal acceptable quality level for software processes, while the CMM establishes a framework for continuous process improvement and is more explicit than the ISO standard in defining the means to be employed to that end.
Capacity
Capacity represents the amount of work that can be completed within a certain time frame and is based on the number of hours that an individual or team will be available to complete the work.
The product owner and Agile team determine the capacity or amount of workload, they can take on for an upcoming sprint. The capacity is decided during the sprint planning meeting. Benefits include Improves resource management and Estimates the completion of a project.
Case study
Used for a variety of purposes, case studies are generally research-based papers that deeply examine use cases of products in given applications or how different industries applied specific practices or approaches to their projects. A case study is an empirical method. It is a well defined, scientific, method for posing research questions, collecting data, analyzing the data, and presenting the results. Case studies are an in-depth investigation of one particular individual, group, time-period or event. They encompass a range of qualitative and quantitative research tools to investigate underlying principles of an occurrence within a real-life context.
Benefits:
Comprehensive
The most significant benefit of case studies is that they enable a holistic review. Unlike standalone research techniques which give more of a snapshot, e.g. surveys, a case study offers the opportunity for a researcher to use a range of tools on one subject. This gives time and space to build a detailed understanding of the topic, establishing a sound platform from which to explore the factors influencing the case study in greater detail.
Reducing Bias
Case studies capture a range of perspectives, as opposed to the single view of an individual you get with a survey response or interview. This gives the opportunity to gain a greater understanding of the subject in hand and reduces the potential for any bias, by diluting the agenda of a particular individual.
Change control
The term for a process to systematically monitor and approve or reject any change requests made to a product or project. The process is designed to increase project efficiency and minimize scope creep by controlling every change and ensuring that changes are made according to set requirements for approving change.
Whenever any new or different changes are requested for the system, especially by stakeholders, it is neither optional nor ignorable. It has to be implemented without affecting other components of the system. This is when the change control comes handy. It helps project teams to modify the scope of the project using specified controls and policies. Change Control is practiced whenever a project is not progressing as planned.
It is mandatory that a formal document for change request is completed and reviewed in order to keep control of change requests.
Number of question one might encounter while analyzing Change Control like
Who will approve the change?
Does it require to run through a change control board?
How much time will be required to research and implement the change?
What are the impacts of changes to other components of the system (schedules, cost, resources, etc.)?
Is there any threshold under which the project management can approve it?
Change Process follows a specific pattern to implement the changes in the product or system.
Change request identification → Change request assessment → Change request analysis → Change request approval → Change request implementation
Steps of Change Control
Change request identification
Identify the need for a change and describe it on the project change request form
Change request assessment
If the change is not valid, it has to be deferred or rejected
Determine appropriate resources required to analyze the change request
Perform quick assessment of the potential impact and update the change request form
At this stage, rejected change request should stopped
Change request analysis
For analysis assign the change request to an authorized member
Deferred change re-enter this analysis step
At this stage, rejected change request should stopped
Change request approval
Identify change risk and complexity level before approval
Identify the impact level of the change before approval
Review impact of Change Request to authorized person for approval
At this stage, rejected change request should stopped
Change request implementation
Update project procedure and management plans
Inform about the changes to the team
Monitor progress of change request
Record the completion of change request
Close change request
Process of Change Control
While carrying out Change Control, there are mainly two documents involved
Change Log: A change log is a document that lists the details about all the Change Requests like project number, PCR (project change request) ID, priority, Owner details, Target date, status and status date, raised by, date when raised etc. A change log should be maintained that tells the date, person details who made changes and changes implemented. Only authorized individuals should be able to make changes.
A process for rolling back to the previous version should be identified
Change Request Form: It is used to document details required to support the decision making process like type of change, benefits of change, name of resource requesting the change, time and estimate cost, priority of change, authorized person detail, change request status etc.
Chickens and Pigs
The terms “Chicken” and “Pig” come from “The Chicken and Pig Story” by Ken Schwaber, a software developer who helped formulate the initial version of Scrum. Most often used in Scrum, a “Chicken” refers to someone who is involved in the project, but is not accountable for any specific deliverable (such as a stakeholder or manager). On the other hand, a “Pig” is someone who is committed and directly accountable for deliverables.
“The Chicken and Pig Story” by Ken Schwaber
A pig and a chicken are walking down a road. The chicken looks at the pig and says, “Hey, why don’t we open a restaurant?” The pig looks back at the chicken and says, “Good idea, what do you want to call it?” The chicken thinks about it and says, “Why don’t we call it ‘Ham and Eggs?’” “I don’t think so,” says the pig, “I’d be committed, but you’d only be involved.”
The pig and the chicken story delineates the kinds of people who attend the daily scrum meetings. The pigs are those who are on the chopping block - the committed people who have stakes in the project and are essential to its success or failure. The chickens are those who attend the meeting but have no direct relevance to the update, meeting progress or project. Thus, the chickens are the people who have something to say but usually have nothing to contribute. Considered the meeting eavesdroppers, chickens usually comprise 50 to 80 percent of the attendees at any given meeting.
How it’s Used: Chickens and Pigs are used to define participants and roles in Scrum. “Pig” roles are usually the actual team members, the Scrum Master, or the Project Owner. “Chicken” roles are managers or stakeholders.
Benefits:
Clarifies and defines roles.
Sets projects expectations.
Promotes accountabilities.
Collaboration
Working with one or more parties on the same project and similar goals. It’s the act of delegating and communicating between team members and distinct teams in order to better serve the product by providing more minds and hands. More than that, though, collaboration is a way of working with new tools like social platforms, real-time document sharing and editing, and remote working. For some companies, collaboration is perceived to be a “culture” promoted within the business to support Agile or iterative ways of running projects or simply to support knowledge sharing within the org.
Communications log
A record of continuous documentation of communications between project stakeholders managed by the project manager. Project managers make logs to manage change requests or to document public sector projects for future audit or oversight committees in more formal project environments. In more informal organizations, communications logs can be chats, discussions and email threads, and in fact some project management software adds email conversations related to the project directly on the task or project level, to keep project documentation organized.
Contingency
A plan for possible disaster occurring during your project, whether that be of the man-made or natural variety. It’s not merely data backup, but includes that and every other detail to ensure the project isn’t derailed by considering short- and long-term events and how to respond to them.
Continuous Improvement or Kaizen
Continuous improvement is a process of improving quality and efficiency by making small, incremental changes over time. In Kanban, continuous improvement refers specifically to the process of optimizing workflow and reducing cycle time, resulting in increased productivity.
Continuous improvement is used to introduce improvement into the work process on an incremental basis and involves the following steps: 1) Identify, 2) Plan, 3) Execute, and 4) Review.
More specifically for Kanban, there are no set due dates so the team focuses on work-in-progress. As team members collaborate to troubleshoot problems and brainstorm new ideas, the process becomes more efficient and streamlined, cycle times decrease, and workflow is optimized. Teams do not need to be cross-functional in Kanban.
Project Management Benefits:
Improves productivity and delivery.
Increases accuracy in forecasting future work and delivery.
Streamlines work and reduces waste.
Introduces improvement on an incremental basis.
Increases a sense of pride and accomplishment in team members.
Continuous Integration (CI/CD)
Continuous integration is a software engineering practice that involves continual integration of new development code into the existing codebase.
CI/CD is a method to frequently deliver apps to customers by introducing automation into the stages of app development. The main concepts attributed to CI/CD are continuous integration, continuous delivery, and continuous deployment. CI/CD is a solution to the problems integrating new code can cause for development and operations teams (AKA "integration hell").
Specifically, CI/CD introduces ongoing automation and continuous monitoring throughout the lifecycle of apps, from integration and testing phases to delivery and deployment. Taken together, these connected practices are often referred to as a "CI/CD pipeline" and are supported by development and operations teams working together in an agile way with either a DevOps or Site reliability engineering (SRE) approach.
CONTINUOUS INTEGRATION ( BUILD → TEST → MERGE ) → CONTINUOUS DELIVERY (AUTOMATIC RELEASE TO REPO) → CONTINUOUS DEPLOYMENT (AUTOMATIC DEPLOY TO PRODUCTION)
Benefits:
Enables rapid feedback, so that defects can be identified and corrected quickly.
Minimizes time and effort needed to perform each integration.
Provides an automated build and release process.
Allows software to be deliverable at any moment.
Contract
A contract is a mutually binding agreement which obligates the seller to provide the specified product and obligates the buyer to pay for it. Contracts generally fall into one of three broad categories:
Fixed price or lump sum contracts—this category of contract involves a fixed total price for a well-defined product. Fixed price contracts may also include incentives for meeting or exceeding selected project objectives such as schedule targets.
Cost reimbursable contracts—this category of contract involves payment (reimbursement) to the contractor for its actual costs. Costs are usually classified as direct costs (costs incurred directly by the project, such as wages for members of the project team) and indirect costs (costs allocated to the project by the performing organization as a cost of doing business, such as salaries for corporate executives). Indirect costs are usually calculated as a percentage of direct costs. Cost reimbursable contracts often include incentives for meeting or exceeding selected project objectives such as schedule targets or total cost.
Unit price contracts—the contractor is paid a preset amount per unit of service (e.g., $70 per hour for professional services or $1.08 per cubic yard of earth removed) and the total value of the contract is a function of the quantities needed to complete the work.
Cost Overrun
This is the actual cost that exceeds the estimated cost in the budget, also known as a cost increase or budget overrun. It usually is unexpected and unwanted as it requires finding new resources to cover these unseen expenses. Cost overrun can be described in multiple ways.
As a percentage of the total expenditure
As a total percentage including and above the original budget
As a percentage of the cost overruns to original budget
Cross Functional Team
Team comprised of members with all functional skills and specialties necessary to complete a project from start to finish. Cross functional collaboration is a group of people with different functional expertise coming together to work toward a common goal. In many cases, the team is simply a group of people from the different departments across a business working on solving a specific problem.
Collaboration is a natural part of working in teams, and in most organizations, it happens organically within functions or business units. However, it is less likely to occur across different roles, departments or functions - which are precisely the areas in which it has the potential for the maximum impact. Cross functional collaboration is critical to improving business performance.
Here are just a few of its advantages:
Different perspectives spur innovation
Everyone sees problems from their own perspective, and the view can be very different from the marketing office than the production floor. Bringing people from different parts of the company together can shed light on process problems and deliver innovative solutions that satisfy everyone.
Increased momentum of change
Involving people with different areas of influence from the beginning helps secure buy in, empathy, and trust. There’s less “turf” to be protected and everyone is on the same page, so there are far fewer delays.
Everyone Learns More
Collaboration with people who are experts in different areas of the business cross pollinates knowledge and helps everyone to understand how their work fits into the bigger picture. There’s certainly an advantage, for example, in having a marketing coordinator who understands how finance processes payments to vendors.
Old Ideas are Challenged
Everyone knows how difficult it is to proofread your own work. A new set of eyes can be a huge help in finding errors and opportunities for improvement in all types of work. Cross functional collaboration creates an environment where “the way we’ve always done it” can be questioned and considered from a fresh perspective.
The Playing Field is Leveled
Structure and hierarchy are important elements of any organization, but sometimes a more multi- directional approach can yield greater results. Cross functional collaboration means that not all ideas come from the executive suite or a single department with a dominant leader. People at any level can participate in innovation and contribute to the execution of great ideas, which increases buy in and engagement on the front lines.
Why is Cross Functional Collaboration So Hard?
Lack of Trust / Build Trust
Tribalism or silo-building
Solution: Leaders can help bridge the silos and develop a culture of trust by aligning the goals and incentives of the organization as a whole, instead of rewarding selfishness and suboptimization. If mistrust is a barrier to collaboration in your organization, try starting with a few small opportunities for teams to work together to get quick wins. Seeing results can help develop trust.
Successful collaborative efforts should be celebrated, and leaders should be sure to broadcast improvements widely. Leaders and team members should be held at least as accountable for their cross functional, big picture efforts as they are for their primary role.
Social Loafing
Reduction in Effort. Lack of individual accountability causes social loafing.
No common method for measuring impact.
Solution: The cure for social loafing in cross functional collaboration is to develop a standard set of criteria by which each individual is measured. Continuous improvement software helps by giving leaders visibility into who is participating and who isn’t, so that recognition can be awarded to the high-performers, and the loafers can get more support and encouragement.
Poor Communication
Too much or too little communication. Balls can be dropped, deadlines missed. Too many meetings or an avalanche of emails can hurt productivity.
Communication is often a major issue with cross functional collaboration because departments operate as silos, with little back and forth between them. In fact, teams can develop their own language with words and phrases that have meaning only to them. Effective collaboration requires communication, so organizations that don’t actively support it struggle to act as a cohesive team.
Solution: The first step is to establish a common language around the entire organization’s improvement efforts. Adopting a business management methodology like Six Sigma or Lean can help because these approaches come with a shared vocabulary, but the same can be achieved without them.
Misaligned Goals and Objectives / Alignment
Can lead to suboptimizing, where everyone prioritizes activities that will help them meet their own local goals, leaving little room for projects or improvements that will benefit other teams or the organization as a whole.
Solution: Organizations that are serious about continuous improvement and cross functional collaboration must make room in the reward structure for collaborative activities. This may mean rewarding success on cross functional projects separately, or allowing for time and energy devoted to such efforts within the framework of the departmental goals. Employees should have a clear understanding of how their collaborative work will be recognized, and know that such efforts won’t get in the way of their achievement of local objectives.
Divergent Technologies
Pretty common for departments to each have their own technology that drives everyday work.
Solution: Companies that embrace continuous improvement should do so using technology designed specifically for that purpose. Continuous improvement software should be standardized across the company and easily accessible by every employee. This unified approach to continuous improvement has the advantage of supporting today’s improvement efforts and creating an improvement knowledge repository for the organization's tribal knowledge, an asset that will pay dividends long into the future.
Critical Path
The critical path consists of the longest sequence of activities from project start to finish that must be completed to ensure the project is finished by a certain time. The activities on the critical path must be very closely managed. If jobs on the critical path slip, take immediate action to get the project back on schedule. Otherwise, the whole project can be delayed. In a project network diagram, the series of activities which determines the earliest completion of the project. The critical path will generally change from time to time as activities are completed ahead of or behind schedule. Although normally calculated for the entire project, the critical path can also be determined for a milestone or subproject. The critical path is usually defined as those activities with float less than or equal to a specified value, often zero. See critical path method.
Imagine that you have a project that will take 30 days to complete. If the first activity on the critical path is 1 day late, the project will take 31 days to complete, unless another activity on the critical path can be completed 1 day earlier. The critical path essentially determines the end date in your project schedule
Understanding the critical path method involves determining which activities are critical to complete on time. But other activities that lie outside of the critical path may also be very important and require additional attention.
Critical path method (CPM)
An algorithm for scheduling a set of project activities, typically the “critical path” or shortest path through a project. It was developed in the late 1950s within the DuPont organization and Remington Rand company as a method to know mission-critical tasks. Modern project management software applications can streamline finding your project’s critical path to help you manage scope and monitor the project.
A network analysis technique used to predict project duration by analyzing which sequence of activities (which path) has the least amount of scheduling flexibility (the least amount of float). Early dates are calculated by means of a forward pass using a specified start date. Late dates are calculated by means of a backward pass starting from a specified completion date (usually the forward pass’s calculation project early finish date).
Early Finish Date (EF) – In the critical path method, the earliest possible point in time on which the uncompleted portions of an activity (or the project) can finish based on the network logic and any schedule constraints. Early finish dates can change as the project progresses and changes are made to the project plan.
Early Start Date (ES) – In the critical path method, the earliest possible point in time on which the uncompleted portions of an activity (or the project) can start, based on the network logic and any schedule constraints. Early start dates can change as the project progresses and changes are made to the project plan.
Cycle
A cycle refers to the total amount of time it takes for a single task or work item to travel through the workflow from the beginning of work until it ships.
Kanban methodology uses cycle time as its key metric, rather than velocity, as with Scrum. As Kanban teams become more efficient in optimizing workflow and producing deliverables, cycle times decrease and productivity increases. Cycles have no set time limits; rather, workflow is based on continuous delivery. Kanban teams with shared skills experience smaller cycle times. Teams should strive for both shorter and more consistent cycle times. Cycle times can also be applied in Scrum.
Benefits:
Leads to continuous improvement.
Increases ability to forecast future deliveries (with consistent cycle times).
Increases productivity (with shorter cycle times).
D
Daily Scrum / Daily Standup/ Daily Meeting/ Daily Huddle
The Daily Scrum is a brief communication and status-check session facilitated by the Scrum Master where Scrum teams share progress, report impediments, and make commitments for the current iteration or sprint. The Daily Scrum consists of a tightly focused conversation kept to a strict time frame; the meeting is held at the same time, every day (ideally, in the morning), and in the same location. The Scrum task board serves as the focal point of the meeting.
Team members answer following three questions:
What did I accomplish yesterday?
What will I commit to, or complete, today?
What impediments or obstacles are preventing me from meeting my commitments?
All discussion during the Daily Scrum should be focused on answering these three questions. Any additional discussions stemming from these questions should be addressed separately. Only those who are involved in the current sprint should be present at the Daily Scrum.
Benefits:
Keeps workflow on track.
Helps identify issues sooner than later.
Increases team accountability, communication, and collaboration.
Allows the team to see the ‘bigger picture’ of the sprint.
Stimulates team self-organization and personal planning.
Helps team members address issues and make small course corrections, if needed.
Provides face-to-face interaction (if on site).
Dashboard
A graphical way to share essential project data with stakeholders, a dashboard which makes diverse amounts of data and its underlying information easily digestible. Traditionally, dashboards were created “manually” by assembling select pie charts or data graphs in a presentation view. The data however, was often outdated by the time of the presentation. Modern project management tools offer real-time dashboards.
Definition of Done
Definition of Done refers to a set of predetermined criteria that a product needs to meet in order to be considered as being done. The team reaches a consensus as to what defines a task as being done and then posts a checklist of steps that must be completed before the product can be considered as potentially shippable. The team displays this list in the form of a Big Visual Chart prominently in the team area.
The team agrees upon a list of criteria which must be met before a product increment is considered to be ‘done’—that is, all design, coding, testing, and documentation have been completed, and the code has been fully integrated into the system. If a task does not meet the Definition of Done criteria, it does not count toward team velocity.
Project Management Benefits:
Improves likelihood of delivering working software.
Limits the cost of rework once a feature has been accepted as ‘done’.
Reduces the risk of misunderstanding and conflict between the development team, and customer or product owner.
Please note: As a Program Manager, one needs to set clear definition of “DONE”. Each engineer may have different definition of “DONE” and this may jeopardize the project.
Deliverable
Something contracted for delivery. It is a tangible item or intangible objective, but crucial to the success of the project. It can be a report, a document, some project building block or the end product delivered at the end of a project.
Dependency
Tasks or other activities that are interdependent on a project. Often one activity cannot take place prior to another one being completed. In this way, they are linked in a project, and can be noted as such in online project management tools. When you add a dependency in online project management software, you create a dependent-virtual link between two tasks to demonstrate that constraint.
Design Pattern
A reusable solution to a commonly occurring problem, particularly useful in software design.
DevOps
DevOps is a set of practices that works to automate and integrate the processes between software development and IT teams, so they can build, test, and release software faster and more reliably. DevOps is a philosophy of approach to software development and a set of practices that stresses communication, collaboration and close cooperation between the agile development teams and information technology professionals who are responsible for deploying and maintaining the software systems. This is accomplished, in part, by including IT/deployment/operations personnel as members of the Agile Release Train and by following a set of DevOps guidance practices.
Here are the top 7 DevOps principles and best practices that you need to follow.
Version Control For All Production Artifacts
Both Dev and Ops should use version control for everything. And they should share the same single source of truth.
Continuous Integration and Deployment
Check in code every day and check into the trunk every day, as opposed to hanging onto private code branches and integrating only at the end of the release.
Automated Acceptance Testing
Stop the line not only when the build breaks but also when something breaks. This is true for all software testing, whether it's an automated user test, an integration test, or a system test. This step keeps things in an always-deployable state.
Peer Review of Production Changes
Use peer reviews for better quality; leverage your team’s familiarity, shared goals, and mutual accountability, as opposed to external change approval (such as a change advisory board).
High-Trust Culture
This is both a practice and an outcome result from a single source of truth, peer reviews, and shared goals.
Proactive Monitoring of the Production Environment
Monitor and communicate across the teams so everyone can see, understand, and affect end results and customer utilization.
Win-Win Relationship (and Outcomes) Between Dev and Ops
This approach counters the learned behavior that deployments hurt. By deploying code into production every day, you can change lives in Operations. Deployments don’t have to be done at midnight on Friday with Ops working all weekend to get things running. When Ops employees are working the same hours as Dev, there is a sense of teamwork and joint accomplishment.
E
Epic
A very large user story that is eventually broken down into smaller stories. Epics are often used as placeholders for new ideas that have not been thought out fully or whose full elaboration has been deferred until actually needed. Epic stories help Agile development teams effectively manage and groom their Product Backlog.
Epic Stories
Epic or epic stories are defined as large user stories that, in their current state, would be difficult to estimate or to complete in a single iteration. Epic stories are typically lower priority and are waiting to be broken down into smaller components.
Epics are often used as placeholders for new ideas that have not been fully developed While epic stories are common when developing the initial product backlog, they should eventually be broken down into more manageable user stories where the requirements of the story are more narrowly defined.
Project Management Benefits:
Useful as placeholders for large requirements.
Helpful for a big-picture view of user stories.
Epic Owner
In SAFe, the Epic Owner is responsible for driving individual Epics from identification, through the kanban systems and analysis process, to the go/no-go decision making process, and when accepted for implementation, working with the Release Train to initiate the development activities necessary to realize the benefits of the epic.
Estimation
Estimation is the process of assigning a quantifiable measure to the amount of workload needed to complete a project or task, in order to determine the duration, effort, or cost required to complete the project or task.
The Agile team must reach a consensus on an estimate for workload effort or duration needed to complete the task based on individual estimates provided by team members. This can take the form of a game known as Planning Poker.
Benefits:
Provides an indication of overall duration, effort, or cost of a software project.
Reduces uncertainty related to cost and duration.
Provides a guideline for estimating tasks or projects.
Earned value management (EVM)
A way to measure project performance, and is commonly used in government projects.
Earned Value (EV)
A measure of the value of completed work. Earned value uses original estimates and progress-to-date to show whether the actual costs incurred are on budget and whether the tasks are ahead or behind the baseline schedule.
Earned value analysis
Analysis of project progress where the actual money, hours (or other measure) budgeted and spent is compared to the value of the work achieved.
Earned value cost control
The quantification of the overall progress of a project in financial terms so as to provide a realistic yardstick against which to compare the actual cost to date.
Event chain diagram
This is a visual way of demonstrating the relationship between events and tasks and how they impact one another.
Event chain methodology
A method that focuses on identifying and managing events and series of events that impact a project’s schedule.
F
Fast tracking
This refers to a technique project managers use to speed up their projects. Typically, schedules are analyzed to identify areas where some tasks can be done in parallel versus sequentially, or where new resources can be added mid-way through a project, adjusting the project plan.
Fail-Fast
Fail-fast is the process of starting work on a task or project, obtaining immediate feedback, and then determining whether to continue working on that task or take a different approach—that is, adapt. If a project is not working, it is best to determine that early on in the process rather than waiting until too much money and time has invested.
A team starts a new project or task, obtains feedback early on, and then conducts an analysis to determine whether the project will be functional or successful. If a task or project is moving in the wrong direction, team members are encouraged to stop work as soon as possible.
Benefits:
Identifies issues quickly.
Creates a culture of transparency
Reduces wasted time, effort, and cost.
Improves efficiency in software product development.
Feasibility Study
A way to ascertain whether the proposed plan or methodology prescribed is practical in terms of fulfilling the goals of a project. For large projects, these can be detailed research studies. For smaller projects, they can be more informal assessments using existing business documentation like market research and informal internal polls with key stakeholders.
Feature Creep / Requirement Creep / Scope Creep
Feature creep is the tendency to add additional requirements or features to a project after development is already underway. Feature creep can occur on either a project or sprint level.
Changes and additional requirements are to be expected in a project. Any changes requested after the start of a project or sprint need to be added to the backlog and prioritized based on value. This ensures that feature creep will not adversely impact the project timeline or cost.
Project Management Concerns:
Risks project schedule, quality, and cost.
Reduces productivity.
Prevents teams from meeting iteration goals.
Decreases value of product or deliverable.
Please read “Change Management” to learn more on how to handle Feature Creep.
rsonal experience. Make sure to include relevant skills, accomplishments and milestones gained. Don’t forget to adjust the timeframe in the subtitle.
Fibonacci Sequence
Originally derived in the 12th century by Leonardo Pisano, the Fibonacci Sequence is a mathematical sequence in which each subsequent number is determined by the sum of the two previous numbers, that is: 1, 2, 3, 5, 8, 13, 21… Each interval becomes larger as the numbers increase:
Teams often use the Fibonacci Sequence when playing the game of Planning Poker to estimate workload. The numbers are relative and have no unit of measurement assigned.
Benefits:
Establishes a scale or standard of comparison for estimating.
Increases accuracy of estimates.
Five Levels of Agile Planning
The Five Levels of Planning are:
Product Vision
Product Roadmap
Release Planning
Iteration (or Sprint) Planing
Daily Standup
The top-level (Vision) represents the “big picture” of the overall effort. The planning at this level encompasses more strategic product information and fewer details on the product specifics. Working through to the bottom level, more details are included in the produced plans. In whole, the five levels of agile planning represent a holistic understanding of what we are building, why we are undertaking the effort and how we plan to deliver.
Level 1 - Product Visioning
The broadest picture that a person can paint of the future is the product vision. In this vision, the product owner explains what an organization or product should look like after the project finishes. The PM indicates what parts of the system need to change (establishing priority) and what efforts can be used to achieve this goal (establishing estimates and commitments).
How To: Lead a Product Visioning Exercise
The product vision describes a desired state that is six months or more in the future. Further planning activities will detail the vision, and may even divert from the vision because the future will bring us a changed perspective on the market, the product, and the required efforts to make the vision reality.
Goal is to create a statement that describes the future in terms of desired product features, target customers, and key differentiators from previous or competitive products.
Level 2 - Product Roadmap
Customers demand more frequent changes, and time-to-market is measured in weeks or months. The higher frequency and smaller timeframes force a product owner into thinking in steps - into thinking of a road towards the final product. Just like a journey is planned upfront and shared with fellow travelers, a product roadmap is created and communicated to fellow delivery people.
The goals for doing so are for the product owner to:
Communicate the whole
Determine and communicate when releases are needed
Determine what functionality is sufficient for each release
Focus on business value derived from the releases
The delivery team, on the other hand, will:
See the whole
Learn about the steps to realize the vision
Learn the business priorities
Provide technical input to the roadmap
Provide estimates for the projected features
How To: Develop a Product Roadmap
The creation of the roadmap is largely driven by the product owner in a single meeting or a series of meetings. This can be done, quite literally, through a graphical representation of the releases, or more formally in a written document outlining dates, contents, and objectives of the foreseen releases.
In anticipation of the next planning stage, a list of desired features also needs to be built - this is the product backlog. In its simplest form, such a backlog is a table or spreadsheet of brief product requirements, so the delivery team can provide estimates for delivery of each feature. Because the success of an agile project depends on the early delivery of the highest priority features, the list must be prioritized. And because the success of a project is measured in business terms, the prioritization of the feature list is the responsibility of the business, i.e. the product owner. Interaction with the delivery teams is required. Without a discussion of the features it will be hard for the delivery team to produce estimates that have an acceptable inaccuracy. Characteristics of a product backlog include:
One product backlog for all teams (see the whole)
Feature priority based on business priorities
Technology features (sometimes called non-functional features) limited to those that have direct impact on the success of the product in the market
Level 3 - Release Planning
In small projects, the product backlog alone can provide enough project overview. The size, duration and deliverables are easily recognized, and there is no need to synchronize or group deliverables or teams. All of this changes when applying agile concepts to programs. The first moment to start grouping activities and allocating them to teams occurs during release planning.
A release is what the name implies: a set of product increments that is released to the customer. Some characteristics of a release are:
Releases are defined by date, theme, and planned feature set
Scope, not date or quality, is the variable, which highlights the need to use a prioritized product backlog as the basis of a planning event
All teams must commit to the same rhythm of iterations. When all teams work to the same rhythm, the discovery and management of dependencies occurs automatically during the planning activities
There are fixed release dates across all teams of the program with a typical interval of two to four months
Release vs. Iteration
A release is defined at the system or program level, usually in product owner vocabulary. The release theme, release date, and prioritized features together form a release as defined by the product owner. When releases are seen in the perspective of the roadmap, the highest level of visibility and confidence are in the current and next release. Near-term releases have more detail in the feature descriptions and have smaller individual features. A release can stretch over six to nine months, although two to four months is more common.
An iteration, on the other hand, is defined at the feature level. The delivery team and product owner have agreed on the number of iterations in a release. Features delivered in an iteration are determined by the priority, and the number of features delivered is set by the velocity of the team and the team estimates of the features. Iteration lengths vary from one to six weeks, with two weeks as the most frequent duration.
How To: Conduct Release Planning
A release planning session typically takes place over a full day or sometimes two, if the program is very large (hundreds of team members). All team members participate in the session, including product owner, full delivery team, and stakeholders. Release planning should be highly collaborative and interactive. Tools used are typically sticky notes, flipcharts, and whiteboards, and results will be managed and communicated in an Agile project management tool. An agenda for release planning could be:
Introductions, goals, agenda updates
Product vision explanation by the product owner
Time-boxes for the releases and iterations
Capacity calculation by the delivery team
Agreement of deliverables (when is a feature 'Done')
Moving features from the backlog into the iterations within the release by the individual teams
Determination of dependencies by walking all the teams through the individual planning results and moving features to alternative iterations to solve the dependencies within and between teams
Final calculation of workload per iteration and comparison with the available capacity
Review of discovered risks and issues
Retrospective of the session
Level 4 - Iteration Planning
For each iteration within the release, a planning session takes place to add detail and increase accuracy. Before or during the session, detail is added to the features by decomposing them into tasks. The actual capacity of the individual teams is known with more certainty than during the release planning session. The combination of these increased accuracies helps the team commit to delivering a number of features during the iteration with a high degree of certainty.
How To: Plan an Iteration
The structure of the iteration planning session resembles release planning, with the prime distinction of the planning horizon - only a single iteration. Although the teams work individually to produce their iteration plan, synchronization between teams provides an effective mechanism to detect and resolve dependencies.
The core of activities of iteration planning is carried out on a team-by-team basis:
Individual teams determine their actual capacity, or the amount of work they can get done within the iteration
Individual teams decompose as many features as seem to fit in the next iteration into tasks
Every task is estimated, with a typical task size of a half-day to two days
The 'done' definition is taken into consideration - a feature is not done until it has been fully tested and accepted by the product owner
The results of the individual teams are inspected in a joined session to determine dependencies (or the disappearance of them) that were not seen during the release planning session.
Level 5 - Daily Plan
The stand-up meeting is part of everyday life for agile teams. This daily meeting is not often seen as a planning session, but it certainly is. The people look a day ahead, have learned from the earlier days in the iteration, and tell each other what they plan on doing. Issues are raised, possibly addressed, and the success of delivering the desired features within the iteration can be determined after the meeting.
How To: Have a Stand-up Meeting
Like other planning activities, daily plans need to be synchronized between teams. This takes place in a coordinating stand-up meeting - a ‘Scrum of Scrums.' Representatives from each team report the status, plans, and impediments to each other in an identical format. The three questions answered are the same as in the individual stand-up meetings:
How are all the teams progressing?
What are the cross-team impediments?
Who is taking the actions to remove them?
The principle of a coordinating stand-up meeting can be repeated to address large numbers of teams where representatives of ‘teams of teams' report on the progress of the ‘teams of teams.' These meetings typically coordinate efforts of teams that have no common ground. For example, all the IT delivery teams have a daily coordinating stand-up, as do the training teams, finance teams, pre-production teams, and so on. On a weekly schedule (or daily if it is late in the release cycle), representatives of each team meet to report progress, plans and impediments.
Float
Float (also known as slack) is a project management term that refers to the amount of time a given task can be delayed before it starts to impact a subsequent task or the overall project, allowing you to determine a project’s critical path.
If you’re scheduled to complete the design of a new marketing ad by the end of day Wednesday, but the review isn’t planned until Friday morning, you have one day of float (Thursday). This refers to time that a task can be delayed without blocking other tasks, or in laymen’s terms: “wiggle room.”
The benefit of knowing how to calculate, control, and account for float is that you’re able to keep tabs on how much stuff can slip without it throwing off your entire timeline, and blowing out your critical path.
When someone asks for more time to complete their work you can instantly see whether you can grant the extension without missing your committed delivery date.
Calculating float can get pretty nerdy, especially when you start looking at the three different types of float:
Free float (leeway between two consecutive tasks)
Total float (total extra time built into the project schedule)
Negative float (when there’s less time than you need between two tasks)
Zero Float – zero float is a condition where there is no excess time between activities. An activity with zero float is considered a critical activity. If the duration of any critical activity is increased (the activity slips), the project finish date will slip
Functional Requirements
A Functional Requirement (FR) is a description of the service that the software must offer. It describes a software system or its component. A function is nothing but inputs to the software system, its behavior, and outputs. It can be a calculation, data manipulation, business process, user interaction, or any other specific functionality which defines what function a system is likely to perform. Functional Requirements are also called Functional Specification.
In software engineering and systems engineering, a Functional Requirement can range from the high-level abstract statement of the sender's necessity to detailed mathematical functional requirement specifications. Functional software requirements help you to capture the intended behaviour of the system.
Functional Requirements should include the following things:
Details of operations conducted in every screen
Data handling logic should be entered into the system
It should have descriptions of system reports or other outputs
Complete information about the workflows performed by the system
It should clearly define who will be allowed to create/modify/delete the data in the system
How the system will fulfill applicable regulatory and compliance needs should be captured in the functional document
Benefits of Functional Requirement
Helps you to check whether the application is providing all the functionalities that were mentioned in the functional requirement of that application
A functional requirement document helps you to define the functionality of a system or one of its subsystems.
Functional requirements along with requirement analysis help identify missing requirements. They help clearly define the expected system service and behavior.
Errors caught in the Functional requirement gathering stage are the cheapest to fix.
Support user goals, tasks, or activities
Types of Functional Requirements
Most common functional requirement types
Transaction Handling
Business Rules
Certification Requirements
Reporting Requirements
Administrative functions
Authorization levels
Audit Tracking
External Interfaces
Historical Data management
Legal and Regulatory Requirements
Best practice of Functional Requirement
Do not combine two requirements into one. Keep the requirements granular.
You should make each requirement as complete and accurate as possible.
The document should draft all the technical requirements.
Map all requirements to the objectives and principles which contributes to successful software delivery
Elicit requirements using interviews, workshops and casual communications.
If there is any known, verified constraint which materially affects a requirement then it is a critical state that should be documented.
It is necessary that you document all the assumptions in the document.
Mistakes While Creating a Functional Requirement
Putting in unjustified extra information that may confuse developers
Not putting sufficient detail in the requirement document.
You add rules or examples, scoping statements or objectives anything except the requirement itself.
Left out a piece of important information that is an absolute must to fully, accurately, and definitively state the requirement.
Some professionals start to defend the requirements they have documented when the requirement is modified, instead of finding the correct truth.
Requirements which are not mapped to an objective or principle.
G
Gantt Chart
A Gantt chart is a way of displaying project tasks scheduled over time. Henry Gantt
American mechanical engineer and management consultant developed the Gantt chart in 1910.
Using Gantt charts, project managers can gain a high-level overview of task due dates, assignees, and sub-task timeframes.
This enables leaders to allocate tasks more effectively, make sure deadlines are met, and quickly identify (and address) those who might be dragging the chain.
A key benefit of using a Gantt chart to manage your projects is that it enables you to see percentages of completion, which means you can easily prioritize tasks that are close to being finished, or see at a glance the status of your projects.
Gantt charts focus on how work used to be — a complicated maze of role hierarchies, task dependencies, and subtasks, all combining to overwhelm and hinder your ability to actually get anything done.
Gantt charts are traditionally used in Waterfall project planning, for long-term projects that have many task dependencies. They are the backbone of formal project management software applications, most of which are now fully online and can be used interactively and collaboratively.
H
Hybrid methodology
Refers to the use of two or more separate methodologies on a project, commonly a blend of Agile and Waterfall project management methods, though sometimes incorporating Kanban, Lean or other methodologies of project management.
Employing hybrid methodology enables teams to apply what works best where and when it is most needed, or to suit different teams within an organization. For example, for software development teams, Agile is suitable for the phase of a project near launch to push development in “sprints”, often 2-weeks in duration. This supports how software is often bundled and packaged for release. For longer-term software development projects, however, the beginning phases might be more Waterfall in nature, demonstrating multiple dependencies as different teams need to produce different components prior to the implementation phase.
I
Initiation
This refers to the first phase in the lifecycle of a project, according to traditional project management practices. It is the stage in the process where the project is first conceived and scoped. It also involves the hiring of a team, setting up a project office and reviewing the project, as well as gaining approval for the project.
Iterative and incremental development
This is a method of project development, usually applied in software and IT projects, that evolved in response to weaknesses in the Waterfall model to support rapid deployment. It is commonly employed in Agile and Lean projects, often in response to end-user feedback in product development cycles.
Impediment
An impediment is any obstacle that prevents an individual or team from completing a task or project. Unscheduled meetings, technical issues, lack of knowledge or expertise, a distracting workplace, and office conflict are all examples of impediments.
The team may want to create a list of impediments called an Impediment Backlog and prominently display this list in the area where the team meets for Daily Scrums. Impediments should be listed by how seriously they are hindering team productivity. If the impediments are company-wide, it is the Scrum Master’s responsibility to remove them. If they are occurring at a team level, it is the team’s responsibility to resolve or remove them.
Concerns:
Results in reduced team productivity.
Negatively impacts project timeline and cost.
Needs to be addressed as soon as possible.
Iteration / Sprint / Timebox
An iteration is a fixed or timeboxed period of time, generally spanning two to four weeks, during which an Agile team develops a deliverable, potentially shippable product. A typical Agile project consists of a series of iterations, along with a planning meeting prior to development and a retrospective meeting at the end of the iteration. Iterations are referred to as sprints in Scrum.
At the beginning of an iteration or sprint, the product owner and team decide which requirements to complete during the iteration. The duration of an iteration may vary from project to project.
Benefits:
Enables teams to work effectively with customers.
Encourages feedback throughout the iteration.
Helps prevent feature creep.
Reduces risk of timelines slippage.
Iterative Development or Incremental Development
Iterative development is the process of breaking down projects into more manageable components known as iterations. Iterations are essential in Agile methodologies for producing a potentially shippable deliverable or product.
In iterative development, Agile teams design, develop, and test code in repeated cycles. After each iteration is complete, the team gathers user feedback and then uses those insights to build the next iteration of the product. Iterative development allows teams to assess and adapt their processes, which leads to continuous improvement.
Project Management Benefits:
Improves customer satisfaction.
Adds value to the product.
Enables faster delivery of working software or product.
Leads to continuous improvement.
J
Just in Time
Just-in-time, or JIT, is an inventory management method in which goods are received from suppliers only as they are needed. The main objective of this method is:
Reduce inventory holding costs
Reduces inventory waste
Decreases warehouse holding cost
Gives the manufacturer more control
Smaller investments
Increase inventory turnover.
K
Kanban
Kanban is a highly visual framework that falls under the Agile umbrella. The Kanban process uses continuous work flow rather than fixed iterations to produce shippable deliverables. When applied over an existing process, Kanban encourages small, incremental changes to the current process and does not require a specific set up or procedure. Kanban focuses on completing entire projects rather than sprints.
How it’s Used: Rather than being assigned tasks, team members pull work from the product backlog. The only constraint in Kanban are limits (WIP limits) placed on the amount of work that exists in the pipeline at any given time. Kanban helps teams reduce cycle time, optimize workflow, and increase productivity, leading to continuous improvement.
Kanban is one flavor of Agile methodology. It is used primarily in software development, but can be used in any kind of project in any industry.
Project Management Benefits:
Increases team efficiency.
Allows flexibility and easily accommodates change.
Reduces cycle time.
Improves workflow.
Leads to continuous improvement.
Increases team’s ability to forecast future work.
Kickoff meeting
This refers to the first meeting to formally start a project and usually involves key stakeholders, team members and clients, depending on the nature of the project. There are best practices defined for how to run this type of meeting, which usually includes communicating the overall project vision, plan, processes and expectations.
L
Level of effort (LOE)
A support-type project activity that must be done in order to support other tasks or even the entire project. It often is work that is periodically repeated throughout the lifecycle of the project.
Lean Startup
This method (or movement) for developing businesses and products was first proposed in 2011 by Eric Ries and is based on his experience working on various startups. It says that startups can shorten their product development cycles by adopting a combination of business-hypothesis-driven experimentation, iterative project releases and validated learning.
Lean manufacturing
A theory of expenditure of resources for any means other than the creation of value for the customer is considered wasteful and should be deleted.
Lean Software Development
Definition: Lean Software Development (LSD) is an example of lightweight Agile methodology applied to project development. Lean Software Development combines the Lean manufacturing approach pioneered by Toyota in the 1950s (also known as just-in-time production) and Lean IT principles, and applies them to software. LSD places a strong emphasis on people and effective communication.
LSD is defined by seven principles:
Eliminate waste
Create knowledge
Build quality in
Defer commitment
Optimize the whole
Deliver fast
Respect people
How it’s Used: The key goal of Lean Software Development is to reduce or eliminate waste, and therefore, focuses on streamlining products to include only the most valuable features and delivering them in increments. Prioritization of backlog, short feedback loops, frequent unit testing, and team efficiency are all components of Lean Software Development.
LSD employs the Kanban approach of pulling work from the backlog, and improving workflow speed and efficiency.
Project Management Benefits:
Enables faster delivery of working software.
Increases workflow efficiency and speed.
Reduces overall project costs.
Increases motivation of team due to decision-making empowerment.
M
Milestone
This is a way to mark a specific point along the lifecycle of a project’s timeline to bookmark upcoming major accomplishments, including the start, finish, external review, budget checks, etc. They are points along the project that must be reached according to schedule for the successful completion of the project.
Minimally Viable Product (MVP)
This is a term that refers to releasing a product with the highest return on investment versus risk, and was coined as a term by Frank Robinson and popularized by Steve Blank and Eric Ries. It often refers to the product or project scope pre-launch to avoid unnecessary scope creep; that is, team’s can get stuck trying to build new features into products in an attempt to please stakeholders or end users, rather than releasing the MVP and getting the product released quicker to the market.
Monitoring
This is a phase in the project management lifecycle, specifically the act of continuous awareness of the course of a project plan. Project monitoring involves checking whether a project is proceeding according to schedule and within the proposed budget, as well as checking into the health of your team. Monitoring can be accomplished through reporting, dashboards and active management with a team.
N
Network diagram
A flow chart or graph that shows the sequence in which a project’s terminal elements are to be completed by showing its terminal elements and their dependencies. It is drawn from left to right to reflect the chronology of a project.
Nonlinear management (NLM)
A strategy permitting order to arise by giving organizations space to evolve and adapt, encompasses Agile, Evolutionary and Lean methodologies.
Nonfunctional Requirements
Nonfunctional Requirements specifies the quality attribute of a software system. They judge the software system based on Responsiveness, Usability, Security, Portability and other non-functional standards that are critical to the success of the software system. Example of nonfunctional requirement, “how fast does the website loads?” Failing to meet non-functional requirements can result in systems that fail to satisfy user needs.
NFR describe system attributes such as security, reliability, maintainability, scalability, and usability. They can also be constraints or restrictions on the design of the system.
Nonfunctional Requirements are persistent qualities and constraints, and unlike functional requirements, are typically revisited as part of the "Definition of Done". NFRs exist at Team, Program and Portfolio Backlog levels.
Non-functional Requirements allows you to impose constraints or restrictions on the design of the system across the various agile backlogs. Example, the site should load in 2 seconds when the number of simultaneous users are > 5000. Description of non-functional requirements is just as critical as a functional requirement.
Different Types of Non Functional Requirements:
Usability requirement
Capacity requirement
Serviceability requirement
Recoverability requirement
Manageability requirement
Security requirement
Data Integrity requirement
Availability requirement
Interoperability requirement
Scalability requirement
Reliability requirement
Maintainability requirement
Regulatory requirement
Environmental requirement
Pros:
The nonfunctional requirements ensure the software system follow legal and compliance rules.
They ensure the reliability, availability, and performance of the software system
They ensure good user experience and ease of operating the software.
They help in formulating security policy of the software system.
Cons:
None functional requirement may affect the various high-level software subsystem
They require special consideration during the software architecture/high-level design phase which increases costs.
Their implementation does not usually map to the specific software sub-system,
It is tough to modify non-functional once you pass the architecture phase.
O
Operations management
Area of business responsible for efficient and effective production or execution.
Operations research (OR)
Applying mathematics and science to developing methodologies to improve production.
Organization development (OD)
Planned systematic effort to raise effectiveness of organization.
Position
This is your CV description. Concisely describe your specific position, degree, certification or personal experience. Make sure to include relevant skills, accomplishments and milestones gained. Don’t forget to adjust the timeframe in the subtitle.
Position
This is your CV description. Concisely describe your specific position, degree, certification or personal experience. Make sure to include relevant skills, accomplishments and milestones gained. Don’t forget to adjust the timeframe in the subtitle.
P
Planning
The process of creating and maintaining a plan. In formal project management, this also refers to a phase in the Project Management Lifecycle.
Project Planning Terms
Deliverable: The results of a project, such as a product, service, report, etc.
Stakeholder: Anyone with a vested interest in the project—team members, customers, etc.
Tasks: Small jobs that lead to the final deliverable.
Milestone: The end of one project phase, and the beginning of the next.
Resources: Anything you need to complete the project, such as supplies, materials, tools, people and more.
Budget: Estimate of total cost related to completing a project.
Tracking & Monitoring: Collecting project data, and making sure it reflects the results you planned for.
Product breakdown structure (PBS)
Detailed, hierarchical tree structure of components that make up an item, arranged in relationship to a whole project.
Productivity
A way to measure the efficiency of a project in converting inputs into useful outputs, and is computed by dividing average output per a specific period by the total costs incurred or resources consumed in that period.
Program evaluation and review technique (PERT)
A PERT chart is a statistical tool that analyzes tasks in projects.
Program management
The process of managing multiple and ongoing projects, typically used in larger organizations with formal project management processes in place.
Project
An activity with a defined start and end date. This is versus ongoing operational work in organizations. Projects can be managed differently due to their temporary nature, even if they are multi-year in length.
Project charter
This is a statement of the scope, objectives and participants in a project, the document makes everyone involved in the project aware of its purpose and goals.
Project management
The name for a discipline that involves the planning, organizing, motivating and controlling of resources to achieve a specific goal. It is based on a temporary course of action, usually creating a product or service, and so is constrained by a deadline as well as a budget.
Project Management Body of Knowledge (PMBOK)
A standards of practice guide to professional expertise in project management profession, standardized by ISO.
Project Management Office (PMO)
PMO is the title for the person or business group within an organization that maintains the standards of project process.
Project Management Lifecycle
Refers to the length of a project from conception to completion and all steps in-between, according to distinct phases of delivery.
Project management professional
This can refer to a professional project manager working in any field and typically refers to those certified project managers, which can include Project Management Professional (PMP) and Certified Associate in Project Management (CAPM).
Project manager
The term to describe any professional in charge of leading and managing a project.
PMP (Project Management Professional)
This refers to a valued certification in project management that rigorously tests knowledge and skill in managing all of the triple constraints: time, cost and scope. It is offered by the Project Management Institute.
Project network
A flow chart of project schedule (see Network Diagram).
Project plan
A formal and approved document outlining course of project from start to finish.
Project team
Any group of people engaged in helping a project come to completion.
Pair Programming
Pair programming is a scenario where two programmers share a single workstation and work together to develop a single feature.
Also Known As: Pairing, paired programming, programming in pairs
How it’s Used: One programmer, the driver, writes the code, while the other, the navigator, reviews the code as it’s written and provides strategic direction. The two programmers switch roles periodically throughout the task. One or both programmers keep a running commentary during the development process.
For pairing to be effective, the workstation needs to be able to accommodate both programmers—at the least, the desk should have enough room to easily accommodate two chairs. The room’s noise level should be controlled and should not be any louder than the muted conversation of the individual pair or multiple pairings.
Project Management Benefits:
Results in higher quality code.
Increases skill transfer.
Allows for cross-training among team members.
Encourages communication.
Clarifies problems and speeds up the decision-making process.
Planning Game
Definition: A Planning Game refers to a planning meeting held to decide which user stories to include in the next iteration or release.
How it’s Used: The planning game is attended by project, IT, and business stakeholders. Participants select which user stories will provide the greatest business value to the product or project, given current workload estimates.
Project Management Benefits:
Increases communication between IT and business stakeholders.
Improves likelihood of delivering working software with each release or iteration.
Planning Poker
Definition: Planning Poker is a team building exercise or game used to arrive at a group consensus for estimating workload.
How It’s Used: Players use cards printed with numbers from the Fibonacci sequence to assign story points to user stories in order to estimate workload. The team must reach a group consensus regarding how long user stories or requirements will take to complete. Alternatively, teams can use other forms of relative estimation, such as tee-shirt sizing.
Project Management Benefits:
Provides the benefit of collective team knowledge and experience.
Encourages brainstorming and generation of ideas.
Promotes problem solving.
Stimulates team collaboration.
Increases accuracy of estimates.
Product Backlog
Definition: A product backlog is the list of requirements requested by the customer. The product backlog is not a ‘to-do’ list; rather, it is a list of all the features the customer has requested be included in the project. The Scrum team uses the product backlog to prioritize features and decide which ones to implement in upcoming sprints.
How It’s Used: The product owner is responsible for prioritizing Items in the product backlog, referred to as Product Backlog Items (PBIs). The development team pulls the highest-priority PBIs from the product backlog to complete during each sprint. The product owner changes and re-prioritizes the backlog throughout the project development process as needed.
Also Known As: backlog
Project Management Benefits:
Communicates the priority of Product Backlog Items.
Allows for longer term planning.
Ensures the customer needs are being heard.
Allows team members to pull highest-priority items as needed (in Kanban teams).
Product Backlog Item (PBI)
Definition: A Product Backlog Item (PBI) is a single element of work that exists in the product backlog. PBIs can include user stories, epics, specifications, bugs, or change requirements. The product owner of an Agile team compiles and prioritizes the product backlog, putting the most urgent or important PBIs at the top. PBIs comprise tasks that need to be completed during a Scrum sprint—a PBI must be a small enough increment of work to be completed during a single sprint. As PBIs move up to a higher priority in the product backlog, they are broken down into user stories.
How it’s Used: Developers pull the highest-priority PBIs from the backlog to work on, either by iteration in a Scrum environment or continually in a Kanban environment.
Project Management Benefits:
Allows the team to quantify and schedule individual elements of work to be completed during a single sprint.
Ensures that the customer is getting the right product to meet their needs.
Product Owner
Definition: As a member of the Agile team, the Product Owner represents the customer, and conveys the customer’s requirements and vision to the team. The product owner writes the acceptance criteria, and prioritizes and maintains the product backlog. Product owners should be able to communicate well in both directions: both taking team concerns to the customer and stakeholders, and ensuring that the team stays on track to meet the customer’s vision for the product.
How it’s Used: In a Scrum environment, the product owner assembles and prioritizes the user stories to be completed during a sprint. During the sprint, the product owner remains silent; he or she cannot make changes or offer feedback. Once the sprint is complete, the product owner meets with team members and stakeholders to offer feedback and discuss avenues for improvement. The product owner accepts or rejects the product at the end of the sprint, based on the acceptance criteria decided on during the spring planning meeting.
In a Kanban environment, the Product Owner assembles and prioritizes a backlog of work items to be accomplished. The product owner has the flexibility to change and reprioritize work in the backlog at any time without affecting work already in progress.
Project Management Benefits:
Increased team understanding of customer’s vision and final product.
Increased communication and trust among customer, team, and stakeholders.
Increased support for the team from outside parties.
Q
Quality assurance (QA)
The degree of excellence related to project as well as a process to adhere to quality measures.
Quality control (QC)
The procedure or set of procedures by which one ensures that a product or service is aligned to its defined goals and meets with the client’s or customer’s approval.
Quality, cost, delivery (QCD)
A lean methodology focusing on key performance indicators.
R
Refactoring
Definition: Refactoring code means to improve, clarify, and streamline the internal structure of existing code without affecting its external behavior. Refactoring does not include rewriting code or fixing bugs. The noun “refactoring” refers to specific, finite methods for refactoring code, such as using Extract Method to clarify the purpose of a piece of code.
How it’s Used: Refactoring is used in Agile to maintain code clarity and extensibility between sprint iterations.
Project Management Benefits:
Keeps code clean and easy to read.
Prevents code duplication.
Makes bugs easier identify and fix.
Makes code easier to maintain and extend.
Rational Unified Process
Created by Rational Software (which was later acquired by IBM), the Rational Unified Process (RUP) is an iterative development process that seeks to increase development agility by providing a flexible, best practice based life cycle management framework. RUP prescribes the utilization of nine key disciplines extended across four main project phases. Those phases are:
Inception Phase – During the inception phase you establish the business case, conduct an impact analysis, identify key use cases, and outline the high level scope for the project.
Elaboration Phase – During the elaboration phase you analyze the systems landscape and work to design a well architected foundation for the product, build a project plan, and mitigate as many high risk elements of the project as possible.
Construction Phase – During the construction phase the majority of the development work is completed, all applications components and features are integrated and end-to-end testing is executed.
Transition Phase – During the transition phase you introduce the product to the end-users, evaluate responses, remediate bugs or defects, and finish any incomplete features.
The nine disciplines are:
Model. The goal of this discipline is to understand the business of the organization, the problem domain being addressed by the project, and to identify a viable solution to address the problem domain.
Requirements. The goal of this discipline is to elicit stakeholder feature/function requirements in order to define the scope of the project.
Analysis and Design. The goal of this discipline is to define the requirements into actionable and executable designs and models.
Implementation. The goal of this discipline is to transform your model(s) into executable code and to perform a basic level of testing, in particular unit testing.
Test. The goal of this discipline is to perform an objective evaluation to ensure quality. This includes finding defects, validating that the system works as designed, and verifying that the requirements are met.
Deployment. The goal of this discipline is to plan for the delivery of the system and to execute the plan to make the system available to end users.
Configuration Management. The goal of this discipline is to manage access to your project artifacts. This includes not only tracking artifact versions over time but also controlling and managing changes to them.
Project Management. The goal of this discipline is to direct the activities that takes place on the project. This includes managing risks, directing people (assigning tasks, tracking progress, etc.), and coordinating with people and systems outside the scope of the project to be sure that it is delivered on time and within budget.
Environment. The goal of this discipline is to support the rest of the effort by ensuring that the proper process, guidance (standards and guidelines), and tools (hardware, software, etc.) are available for the team as needed.
Refactoring
Changing existing software code in order to improve the overall design. Refactoring normally doesn’t change the observable behavior of the software; it improves its internal structure. For example, if a programmer wants to add new functionality to a program, she may decide to refactor the program first to simplify the addition of new functionality in order to reduce technical debt. Refactoring is one of the original twelve extreme programming practices and is considered critical for incrementally maintaining technical quality on Agile development projects.
Regression Test
A test completed to validate previously completed and tested code. The regression test is performed in an effort to ensure that subsequent deliveries of code segments have not corrupted previously completed code. These tests are also often performed after defects are remediated to ensure that the fixes have not corrupted any other portion of the software.
Road Map
The road map (or product road map) is a document that further distills the product vision as defined in the product charter into a high level plan. Commonly, the roadmap will attempt to outline project work that spans one or more releases, by grouping requirements into prioritized themes and estimating the execution schedule against said themes. Additionally, roadmap is considered to be the second level in the five-level agile planning process.
Relative Estimation
Definition: Relative estimation is one of several types of estimations Agile teams use to determine the amount of effort needed to complete project tasks. Tasks or user stories are compared against equivalent, previously completed tasks or group of tasks of similar difficulty.
Also Known As: Silent grouping, affinity testing
How it’s Used: Agile teams use relative estimation to assess time and effort needed to complete a task or user story based on how long a similar task took to complete. Teams often use a non-numerical scale to compare tasks, such as tee-shirt sizing, where task effort is assessed as extra-small, small, medium, large, or extra-large.
Project Management Benefits:
Provides accurate estimates for release dates and future forecasting.
Eliminates time wasted on precision estimations.
Eliminates confusion between estimates and commitments.
Leads to increased customer satisfaction.
Release
Definition: An Agile release refers to the final delivery of a software package after the completion of multiple iterations or sprints. A release can be either the initial build of an application or the addition of one or more features to an existing application. A release should take less than a year to complete, and in some cases, may only take three months.
How it’s Used: Agile teams use the amount of time planned for a software release divided by iteration velocity to determine the number of iterations needed to develop the software needed for the release.
Project Management Benefits:
Provides a tangible goal.
Clarifies the customer’s requirements and vision.
Allows for preliminary release of alpha or beta versions after the completion of several iterations.
Release Plan
Definition: A Release Plan outlines the features to be included in an upcoming release and provides an estimated date for the release. The plan should include responsibilities, resources, and activities required to complete the release.
How it’s Used: The release plan is broken down into individual sprints needed to complete the release and what each sprint will accomplish. The release date is estimated based on the number of sprints to be included multiplied by the team’s sprint velocity.
Project Management Benefits:
Provides an accurate estimation of total time and resources needed to complete the release.
Provides teams with a common understanding and vision of what needs to be accomplished.
Guides product owners in prioritizing stories and tasks.
Guides team members in making decisions.
Helps teams avoid going off on a tangent with unplanned work.
Reporting
A processes of creating a document that gathers and delivers to team, sponsor or client a snapshot of results of the project at a specific time in its lifecycle.
Resources
Who or what is required to fulfill a project. This can refer to people or machines or a room rental, etc, that typically bills on an hourly basis.
Resource allocation
The act of assigning tasks to the available resources dedicated to a project, usually within a defined budget.
Resource leveling
A way to manage resources allocation to resolve possible conflicts arising from over-allocation.
Resource management
The process of managing teams and other resources on projects, and often includes managing their time, cost, performance and quality as it relates to defined project goals.
Risk
On projects, risk refers to the precise probability of specific issues and how they may impact the project.
Risk management
In a project context, this refers to project a method of reducing risk related to a project by actively identifying potential risks, plotting them in a risk register document or in your project management tool, and monitoring risks throughout the project.
Risk register
A way to organize and prioritize risks, either on a spreadsheet or through a project management tool, to assess potential impacts.
S
Schedule
Simply a collection of tasks defined by their start and end dates within a project plan.
Six Sigma
A business management strategy, developed by Motorola, which is data-driven and works by eliminating defects in any process with six standard deviations between the mean and the nearest specification limit.
Slack
In project planning, it refers to the amount extra room for time in the plan to accommodate time delays, should they occur. (It is also the name of a software product used for collaborative communications among teams.) Often, project managers want to find the slack they have in their schedule to determine whether they need to re-allocate resources to accommodate schedule variations.
Scope
This refers to the sum total of all tasks, requirements or features in a project. New requests or features or tasks added after a project has been planned are commonly referred to as “out of scope.” Project and product managers have to actively manage scope on projects to make sure projects meet targeted goals and deadlines.
Scope creep
This refers to an uncontrolled change in a project’s scope.
Sponsor
In a project, the sponsor refers to the owner or promoter of a project, and often represents a client’s goals. This role is distinct from the project manager.
Stakeholders
In a project or an organization, stakeholders are people or groups that have an interest or concern regarding the project. It might be a client in a private organization or the public in a government project or it could be end users on a product. Stakeholders often have to be managed or engaged throughout the life of the project, either through regular communications or active participation in the project.
Statement of work (SOW)
A document to capture and define the work activities, deliverables and timeline needed for the specific work required by a client. It’s usually detailed with pricing, regulatory and governance issues, and is the precursor to creating an actual project plan.
Status report
On projects, the status report is an essential document intended to convey to clients, sponsors or team members the state of the project right now. Many online project management tools make this report easy to create and share, as data from the project is already in the software
Scrum
Definition: Scrum is the most widely used framework under the Agile umbrella. Scrum is an iterative software model that follows a set of predefined roles, responsibilities, and meetings.
In Scrum, iterations are called sprints and are assigned a fixed length—sprints typically last one to two weeks, but can last as long a month.
How it’s Used: Scrum methodology designates three specific roles for each Scrum project: the Product Owner, Scrum Master, and Scrum Team. A Scrum project is characterized by product backlog, sprint planning, backlog refinement, daily Scrum meetings, sprint review meeting, and sprint retrospective meeting.
The completion of a Scrum sprint produces an increment of functional and potentially shippable software. Using Scrum, increments of software can be delivered to the customer periodically, rather than waiting for the final software release.
Project Management Benefits:
Increases team accountability.
Easily accommodates changes during the project.
Decreases costs by identifying issues as soon as they arise.
Scrum Team
Definition: A Scrum team typically comprises five to nine members with cross-functional skills. Unlike traditional teams of developers, there are no specific roles. A Scrum team is self-organized and self-contained—the team should have the right amount of members with the appropriate skills needed to complete the sprint.
How it’s Used: A Scrum team works together toward completing sprints and producing a functional and potentially shippable increment of software. At the end of the sprint, the team holds a sprint review with the product owner and stakeholders to demonstrate what the sprint has accomplished, review issues, and obtain feedback. A separate sprint retrospective meeting allows team members to discuss feedback and improvements needed for the next sprint.
Project Management Benefits:
Increases a sense of trust and accountability among team members.
Leads to continuous improvement through feedback and brainstorming.
Fosters leadership on the part of all team members, not just a selected few.
Scrum Master
Definition: The Scrum Master is often viewed as the coach for the team. He or she organizes meetings, resolves roadblocks and issues, and works with the product owner to make sure the product backlog is up to date. The Scrum Master does not have any authority over team members, however, he or she does have authority over the process. A Scrum Master may complete formal training to become a certified Scrum Master but this is not required.
How it’s Used: The Scrum Master facilitates the Daily Scrum meetings, determines the sprint duration for the project, and tracks workflow progress. He or she works with the product owner to make sure product backlog is current and removes any impediments to workflow. The Scrum Master ensures that team members aren’t overloaded and are able to perform to their full potential.
Project Management Benefits:
Ensures team members are following the most efficient Scrum process.
Guards against team complacency.
Guides team toward continuous improvement.
Keeps team members involved both with the project and the Scrum process.
Scrum of Scrums
Definition: A Scrum of Scrums meeting is a scaling mechanism used to manage large projects involving Scrum multiple teams. A Scrum of Scrums is held to facilitate communication between teams that may have dependencies on one another. One member from each team attends the Scrum of Scrums to speak for the team—this could be the Scrum Master but may be any team member who can effectively relay information and handle questions or concerns for the team.
How it’s Used: If a Scrum team is working on a large project that involve dependencies, risks, or issues that could impact another team team’s sprint, a Scrum of Scrums is scheduled as a communication forum for discussing or resolving these issues.
Project Management Benefits:
Facilitates communication and promotes collaboration between teams.
Allows multiple teams to see the ‘bigger picture’ of the project and how one team’s sprint is impacting another.
Reduces risk of one team’s work adversely impacting another’s.
Helps teams address issues and make small course corrections, if needed.
Optimizes project workflow.
Scrumban
Definition: Scrumban is a hybrid of Scrum and Kanban used to accomplish tasks and produce deliverables.
How It’s Used: Scrumban is used when a Scrum team wants to apply some Kanban methodology into their process by focusing in on work-in-progress and continuous improvement. Or, a Kanban team may want to apply some Scrum structure into their process, such as daily standups or roles.
Project Management Benefits:
Combines best practices of both methods to enhance the team’s process.
Provides teams with flexibility to adapt their process in the way that is best for them.
Balances team capacity vs. demand.
Enhances visualization for a Scrum team.
Steers teams toward a long-term evolution of continuous improvement.
Spike
Definition: A Spike refers to a separate timeboxed user story or task that is created in order to research a question or resolve a problem. A spike focuses on gathering information and providing an answer to a question, rather than producing a shippable product.
How it’s Used: A Spike is created when a user story or task cannot be accurately estimated until the Agile team can conduct further research or investigation. The spike produces a specific output—an estimate for the original user story—so that the sprint can move forward.
Project Management Benefits:
Increases the accuracy and reliability of user story estimates.
Increases team understanding of a user story or PBI requirement.
Reduces risk of wasted or ‘stray’ work.
Sprint
Definition: A sprint is a fixed-length iteration during which one user story or product backlog item (PBI) is transformed into a potentially shippable deliverable. Each sprint is assigned a set amount of time to be accomplished (sometimes referred to as Timeboxing), which could be anywhere from one week to one month, but typically lasts two weeks.
How it’s Used: Each sprint begins with a planning meeting between the product owner and Scrum team to decide what amount of work can be realistically accomplished while still meeting the
Product Owner’s or customer’s requirements. The Scrum Master determines the sprint length; sprint lengths should be consistent for the entire project.
At the end of the sprint, the team demonstrates the resulting product or piece of software to the product owner. He or she provides feedback to the team and either accepts or rejects the product, based on the acceptance criteria established in the sprint planning meeting. Once all the sprints for a project are completed, the team should be ready to release a final software package.
Project Management Benefits:
Keeps teams from feeling overwhelmed.
Promotes predictability and reliability for customer deliverables.
Shortens feedback loops.
Keeps work from getting too far into development before problems are found.
Sprint Backlog
Definition: A sprint backlog is a segment of Product Backlog Items (PBIs) that the team selects to complete during a Scrum sprint. These PBIs are typically user stories taken from the product backlog.
How It’s Used: During the sprint planning meeting, the team decides which PBIs or user stories to include in the next sprint, based on the estimated work effort and team capacity needed to complete each one. The team breaks the PBI’s or user stories down into tasks and assigns an estimate in work hours for completing each task.
Also Known As: iteration backlog
Project Management Benefits:
Ensures that the highest-priority PBIs are completed first.
Allows for longer term planning.
Breaks down work into manageable components.
Allows the team to determine the amount of PBIs they can accomplish during the sprint.
Sprint Planning Meeting
Definition: The Sprint Planning Meeting is a working session held before the start of each sprint to reach a mutual consensus between the product owner’s acceptance criteria and the amount of work the development team can realistically accomplish by the end of the sprint. The length of the sprint determines the length of the planning meeting, with two hours being equivalent to one week of the sprint. Using this formula, the planning meeting for a two-week sprint would last about four hours, although this can vary.
How it’s Used: The Sprint Planning Meeting sets the stage for the sprint. The Scrum Master facilitates the meeting while the product owner presents and prioritizes the Product Backlog Items (PBIs) or user stories to be completed by the end of the sprint. The team then breaks down the PBIs or user stories into manageable tasks. Ultimately, the team determines the amount of work they can accomplish during the sprint.
Project Management Benefits:
Establishes a clear goal for the team.
Results in team commitment to completing the number of PBIs and tasks agreed to during the planning meeting.
Prevents team overload during the sprint.
Sprint Plan
Definition: The Sprint plan is the tangible outcome of a Sprint Planning Meeting. The Sprint plan is a written document assembled by the development team and includes 1) the goal for the sprint—a brief description of the product or deliverable to be completed by the end of the sprint, and 2) a detailed list of the Product Backlog Items (PBIs) or user stories the team has committed to completing by the end of the sprint, based on the team’s availability and velocity. Each PBI or user story is broken down into tasks according to the priority set by the product owner and assigned to a team member.
How it’s Used: The Sprint plan is a roadmap for team members to refer to and follow during the sprint. This plan provides the product owner and Scrum team with a written agreement as to what the team has committed to accomplishing during the sprint.
Project Management Benefits:
Establishes a clear goal for the sprint.
Keeps development on track.
Prevents the product owner or other parties from giving the team additional work.
Discourages team members from deviating from completing agreed-upon tasks.
Provides a tangible document for review after the sprint is completed to determine whether workload and sprint times were realistic.
Sprint Retrospective
Definition: A Scrum Retrospective is a meeting held following the completion of a sprint to discuss whether the sprint was successful and to identify improvements to be incorporated into the next sprint.
How it’s Used: The Scrum team holds a retrospective meeting to briefly analyze the sprint, and identify one or two priority items for the team to address during the next sprint. The intent of the retrospective is not to conduct an extensive post-mortem but rather, to focus on specific steps the team can take moving forward toward a goal of continuous improvement. Retrospectives are typically broken down into three parts: data gathering, data analysis, and action items.
Project Management Benefits:
Teams learn from mistakes and collaborate together to arrive at solutions.
Improvements are immediately incorporated into the Agile process.
Energizes team to brainstorm solutions to issues.
Releases frustration and stress.
Process of continuous improvement leads to better value for customer.
Empowers team.
Sprint Review
Definition: The Scrum team holds a Sprint Review meeting immediately following the completion of a sprint to review and demonstrate what the team has accomplished during the sprint. This meeting is attended by the product owner or customer, Scrum Master, Scrum team, and stakeholders. The Sprint Review is an informal meeting (no Powerpoint slides allowed). The length of the sprint determines the length of the review meeting, with one hour being equivalent to one week of the sprint. Using this formula, the planning meeting for a two-week sprint would last two hours, although this can vary.
How it’s Used: The purpose of the Sprint Review is to assess what happened during the sprint and to determine whether the sprint produced a functional, and potentially shippable, deliverable. The team presents or demonstrates the deliverable developed during the sprint. The product owner provides feedback to the team and decides if the deliverable meets the acceptance criteria, and either accepts or rejects the product.
Project Management Benefits:
Determines whether the goal of the sprint was met.
Demonstrates visual result of sprint.
Provides immediate opportunity for feedback from the product owner, customer, and other stakeholders.
Reveals areas where improvement is needed.
Stakeholder
Definition: A stakeholder loosely refers to anyone outside the Scrum team who has an interest in the product that the team is producing. Stakeholders can include but are not limited to direct managers, subject matter experts, account managers, salespeople, and legal officers.
How it’s Used: While Stakeholders do not hold an official role in Agile, the customer is considered to be the most important. The overriding Agile goal is to add value to each product or deliverable produced by the iteration or sprint. Product acceptance depends on whether the Product Owner, acting on behalf of the customer, is satisfied that the customer’s acceptance criteria has been met. Other Stakeholders may have varying roles.
Project Management Benefits:
Ensures that customer’s needs and vision are accurately met.
Increases customer’s trust in team’s ability to deliver a high-quality product.
Alerts account managers of budget required for iterations.
Informs salespeople of products in the pipeline.
Encourages stakeholders to be engaged with the process.
Standup/daily meeting
Definition: Agile teams hold a 15-minute standup meeting each morning in the same location to communicate their current work status during an iteration or sprint. The idea of a standup is that it should be relevant, yet brief enough that team members don’t become uncomfortable with standing.
Also Known As: Daily Scrum, daily standup, daily huddle
How it’s Used: During a standup, Agile team members gather around the team’s physical task board to share progress, report impediments, and make commitments for the current iteration or sprint. Teams typically answer three questions about their work status:
What did I accomplish yesterday?
What will I commit to, or complete, today?
What impediments or obstacles are preventing me from meeting my commitments?
All discussion during the standup should be focused on answering these three questions. Other questions that arise are addressed outside of the standup.
Project Management Benefits:
Keeps workflow on track.
Keeps the meeting short (due to standing).
Helps identify issues sooner than later.
Increases team accountability, communication, and collaboration.
Stimulates team self-organization and personal planning.
Helps team members address issues and make small course corrections, if needed.
Provides face-to-face interaction (if on site).
Story
Definition: A story, or user story, is a brief, non-technical statement of a software system requirement written from the end-user’s point of view. A story is written according to the following structure: as a <type of user>, I want to <perform some task> so I can <achieve some goal.>
How it’s Used: The product owner prioritizes the stories to be included in each sprint during the sprint planning meeting. The team assigns story points to each story to estimate workload effort, and then breaks the stories down into tasks to be completed during the sprint. When the iteration or sprint is completed, the team should have produced a functional product or deliverable that corresponds to the initial requirement specified in the story.
Project Management Benefits:
Increases productivity.
Provides teams with a clear understanding of software requirements and acceptance criteria.
Provides flexibility for the product owner or customer to make small changes before the story is implemented.
Promotes continuous improvement.
Increases product value and quality.
Reduces risk of defects.
Story Points
Definition: Story points are a non-unit measure used to determine the complexity of a user story. Story points are relative, not absolute, and do not relate to actual hours—they can be anything from tee-shirt sizes to the Fibonacci Sequence.
How it’s Used: Story points are used to determine workload effort for a user story. Planning Poker is one example of how teams may use and assign story points to arrive at a workload estimate.
Project Management Benefits:
Provides a common measure of workload for cross-functional team members who work at different speeds.
Prevents teams from spending too much time attempting to make precise estimates.
Story Mapping
Definition: Story mapping refers to a top-down visualization, or roadmap, of product backlog. The story map starts with a goal or specific functionality, which is then broken down into user stories. A story map is created in tree format either physically, using post-its on a wall, or digitally.
How it’s Used: Story mapping provides the team and stakeholders with a visual representation of product backlog and prioritized user stories that need to be completed.
Project Management Benefits:
Provides visual, holistic representation of backlog.
Increases understanding of goals or functionality requirements.
Reveals holes in product backlog.
Increases value to customers.
Swarming
Definition: Swarming is when team members with appropriate skills work together to complete a task that a team member is having trouble completing on his or her own.
How It’s Used: Swarming is used to quickly bring a task or work item to completion before moving on to the next in order to keep workflow and delivery on track. Kanban teams in particular use swarming to ensure continuous workflow and maintain Work-in-Progress (WIP) limits.
Project Management Benefits:
Keeps workflow and delivery on track.
Maintains WIP limits in Kanban.
Encourages team collaboration.
Sustainable Pace
Definition: The Sustainable Pace is the pace that an Agile team can work at indefinitely without resulting in developer burnout (ideally 40 hours per week).
How it’s Used: Sustainable Pace is established to ensure that an Agile team is performing optimally without the need for overtime, evening, or weekend work. Working at a sustainable pace helps expose and remedy scheduling, management, or quality deficiencies that otherwise might be hidden by overtime work.
Project Management Benefits:
Promotes work-life balance.
Promotes optimal performance.
Keeps team members refreshed.
Increases productivity.
System Architect
The System Architect has the responsibility for maintaining a high level understanding of the user’s needs, system requirements and business benefits for a Release Train. System Architects provide guidance on Agile, intentional architecture, system level refactoring and redesign, Nonfunctional Requirements, foster emergent design and architectural flow, assist with understanding interfaces and dependencies, and facilitate interdependent team design decisions.
T
Task
Definition: A task is a single unit of work broken down from a user story. A task is usually completed by just one person.
How it’s Used: Task is used in Scrum to identify a small increment of work to be completed by a team member during a sprint. The team visually identifies a task to be completed by posting a card or post-it note on their task board.
Project Management Benefits:
Breaks user stories down into manageable units.
Empowers team members to complete a task or tasks without feeling overwhelmed.
Easy to identify on Agile taskboards.
Task analysis
This refers to understanding how a task can be best accomplished. On complex projects, individual tasks might be complex, as well.
Task management
This term broadly refers to the project management process of monitoring and evaluating the individual line items, or tasks, within a project. Task management can refer to managing the details of a task, based on current information or impacts on the delivery of that task, or it can involve managing people responsible for that task. Or it can refer to your personal task list.
Task Board
Definition: An Agile task board is a physical or online visual representation of user stories broken down into tasks or work units. A physical task board can be as simple as a whiteboard with three columns labeled To Do, Doing, and Done; colored post-it notes or index cards representing tasks are placed in the column that reflects the task’s current state. A task board can be expanded to hold more columns and can also include horizontal swim lanes.
How it’s Used: The task board serves as the key visual communication tool for both Scrum and Kanban teams and should always be kept up to date. The board serves as the focal point for Daily Scrums and therefore, should be located in an area large enough area for team members to gather around it, and convenient enough for team members to refer to at other times of the day.
As teams progress through a sprint or iteration, they move task cards horizontally across the board to reflect the task’s current work state. The task board can be enhanced with color-coded post-it notes and sticky dots to represent priority, status, assignees, etc. Kanban task boards should always display a numeric value for denoting Work-in-Progress limits.
Project Management Benefits:
Keeps teams on track.
Is easy to use and maintain.
Enhances team communication.
Improves productivity.
Promotes continuous improvement (in Kanban).
Team/Team Member
Definition: In an Agile, Scrum, or Kanban environment, a team is a small, high-functioning group of five to nine people who collaboratively work together to complete an iteration or project. The team has the necessary skills and competencies to work on the project. Scrum teams are cross-functional; Kanban teams can either be cross-functional or specialists.
Team members have no roles assigned—the team does not include the Product Owner or Scrum Master. A team member may be a developer, designer, tester, technical writer, or or any other qualified individual needed to produce a deliverable.
How it’s Used: An Agile team works together to complete a user story or project. Each member works on single task or work unit. All team members are accountable and responsible to helping the team reach its goals.
Project Management Benefits:
Increases productivity.
Leads to continuous improvement and evolution (especially on Kanban teams).
Empowers team members to exercise leadership and build commitment.
Increases sense of ownership for project.
Technical Debt
Definition: Technical debt refers to the obligation a development team incurs when they use a short-term, expedient approach to developing a software package without considering the long-term consequences. Technical debt increases project cost and complexity due to inefficiencies, inaccuracies, and other issues introduced into the software package. Poor management, incompetency, timeline pressure, or inadvertent mistakes can all contribute to technical debt.
How it’s Used: Technical debt is used as a motivation for the team to focus on quality and added value during development. This can translate into diligently and consistently refactoring and reviewing code, running automated unit tests, and integrating code on a consistent basis. Pair programming is often helpful in guarding against technical debt. Creating an environment where team members are encouraged to increase relevant knowledge and experience also helps prevent technical debt.
Project Management Concerns:
Reduces product quality.
Results in high defect rates.
Reduces productivity.
Reduces workflow velocity.
Reduces the quality of code maintenance.
Results in expensive modifications and implementations.
Test Automation
The use of software to control the execution of tests, the comparison of actual outcomes to predicted outcomes, the setting up of test preconditions, and other test control and test reporting functions.” (Wikipedia) In agile development, test automation is frequently used to automate unit tests, integration tests, and functional tests. Since the definition of done for most agile projects requires that code be thoroughly tested by the end of the iteration, test automation is critical if not necessary to obtain acceptable velocity. In addition, for most practical purposes, test automation is necessary to effectively apply continuous integration and remain true to the commitment to not “break the build.
Test-Driven Development (TDD)
Definition: Test-Driven Development is the practice of designing and building tests for functional, working code, and then building code that will pass those tests.
How it’s Used: TDD helps increase the team’s understanding of the code’s purpose and how it should work before beginning development. The team then writes code that meets the test criteria. Teams using TDD create more streamlined and higher quality code that meets test and acceptance criteria.
Project Management Benefits:
Increases work velocity.
Increases code quality.
Reduces re-work.
Reduces debugging time.
Reduces defect rate.
Produces test document for reference.
Simplifies code.
Provides quick feedback loop.
Technical Debt
A term coined by Ward Cunningham to describe the obligation that a software organization incurs when it chooses a design or construction approach that’s expedient in the short term but that increases complexity and is more costly in the long term. Whether or not to incur technical debt is a tradeoff decision that ideally is made in a deliberate manner at the point that work occurs.
Timebox
Definition: A timebox refers to an assigned period of time during which an individual or team works toward an established goal. The team stops work when the time period concludes, rather than when work is completed. The team then assesses how much work was accomplished toward the specified goal.
How it’s Used: Time-boxes are implemented in Agile software development to increase quality and value when producing a deliverable. In particular, timeboxes are applied in Scrum sprints, as well as spikes, where tasks are assigned fixed lengths. Any work not completed within the timebox is either reassigned to another iteration or reprioritized.
Project Management Benefits:
Increases focus on tasks or issues that add the most value.
Ensures that customers needs are met.
Reduces feature creep.
Provides short feedback loop.
Ensures that the most important features are included in the software package.
Template
In the delivery of operations or projects, templates are sample documents that can help save time and prevent the need to re-invent the wheel, so to speak, with commonly used documents or plans.
Time Management
Refers to the process of managing time and schedule of a project, according to the plan. Time management is a broad term in project contexts, and can refer to personal time management skills, as well as managing a team’s efficiency and managing scheduled dates accordingly.
Timesheets
The document or online tool used to track hours worked by teams on projects. Timesheets can be used in a number of ways as a broader measure to track project performance, team performance or individual performance. They can also be used as historical reference documents for estimating future projects or tasks.
Triple Constraint
This is a project management term that refers to three things that impact every project and that every project manager must manage: time, cost & quality.
U
Unit Testing
Definition: A unit test is a short program fragment written for testing and verifying a piece of code once it is completed. A piece of code either passes or fails the unit test. The unit test (or a group of tests, known as a test suite) is the first level of testing a software development product.
How it’s Used: Developers write a unit test for a small piece of code they are developing to document to verify that the code works correctly. Unit tests should also be written for bug fixes. When code is modified, moved, or deleted, the unit test must be edited to reflect that change and then re-run.
Project Management Benefits:
Identifies software bugs early in the development process.
Provides documentation for each piece of code.
Provides short feedback loop.
Helps integration testing run more smoothly.
User Story
Definition: A user story is a brief, non-technical description of a software system requirement written from the customer’s or end-user’s point of view. Either the product owner or the team writes the user stories according to the following structure: as a <type of user>, I want to <perform some task> so I can <achieve some goal.>
How it’s Used: The product owner breaks Product Backlog Items (PBIs) down into user stories. To assess the workload effort needed to complete the story, user stories are assigned story points. Once the product owner prioritizes the user stories, team breaks the highest priority story down into tasks to be completed during the next iteration or sprint. The Agile team uses these stories to create code that will meet the customer’s requirements. When the iteration or sprint is completed, the team should have produced a functional and potentially shippable product or deliverable, corresponding to the requirement specified in the user story.
Project Management Benefits:
Increases productivity.
Provides teams with a clear understanding of software requirements and acceptance criteria.
Provides teams with ongoing or frequent feedback.
Provides flexibility for the product owner or customer to make small changes before the story is implemented.
Promotes continuous improvement.
Increases product value and quality.
Reduces risk of defects.
User Persona
Definition: A User Persona is a detailed hypothetical description or biography of a typical end-user who will be using the product. Personas usually take the form of a written document, complete with stock photo, name, profession, style of living, and other details pertinent to their being categorized as an end-user.
How it’s Used: Agile designers and developers use personas as a guide toward developing a product that fit the needs of a specific type of end-user, or multiple types of end-users. The team may use personas to decide whether to add specific features, interactions, or visual cues to the product.
Project Management Benefits:
Increases team awareness of the type or types of end-users they are targeting.
Increases the value and integrity of the resulting product or deliverable.
Produces a more focused, realistic, and streamlined product or deliverable that doesn’t try to please everybody.
Provides a focal point for developers who need to determine what to include.
User Experience (UX)
While Agile Teams have the full responsibility for implementing the code, including the user interface (UI) elements, the User Experience designer works at the Program Level to provide cross-component and cross-program design guidance so as to provide a consistent user experience across the components and systems of the solution.
User Roles
User roles are used to describe the unique perspectives of the different consumers that will interact with the working software. Much like actors in a use case, user roles should not just be limited to the human consumers of the software and should also include any other relevant external software or service.
V
Velocity
Definition: Velocity is a metric that specifies how much work a team is able to complete within a single, fixed-length iteration or sprint.
How It’s Used: Development teams use velocity as a means to forecast the work effort needed to complete future sprints, as long as the composition of the team and sprint duration remain the same. Velocity is also used as a means to estimate the time it will take to complete the product backlog: the team divides their established velocity by the total number of user stories or the sum of story points to determine the number of iterations needed to complete the backlog.
Project Management Benefits:
Decreases the amount of time needed to estimate future work.
Provides more accurate workload estimations and timeboxing.
Provides flexibility to adjust estimates.
Helps with resource and release planning.
Voice of the Customer (VOC)
“Voice of the Customer (VOC) is a term used in business and Information Technology (through ITIL) to describe the in-depth process of capturing a customer’s expectations, preferences, and aversions. Specifically, the Voice of the Customer is a market research technique that produces a detailed set of customer wants and needs, organized into a hierarchical structure, and then prioritized in terms of relative importance and satisfaction with current alternatives.” (Wikipedia)
Version Control
Version control, or “source control”, refers to the management of changes to the individual source artifacts of a software system. These artifacts typically include program source code and static content like html files. A time stamp and the name of the person who entered the revision is tagged to ensure simple management. A version control system (VCS) allows the people who manage the software to keep track of changes to these source files so that a cohesive “version” of the entire system may be determined easily by the versions of each individual file. For example, “version 3.5” of the system may be comprised of “version 2.3” of file X and “version 4.5” of file Y. Checking new code or other system changes into a version control system is the first step in a Continuous Integration process.
Vanity Metric
A metric that is not actionable, and exists to make us feel better or show off. Suspect any metric that graphs always up and to the right is probably a vanity metric.
W
Work in Progress (WIP) Limits
Definition: Work-in-Progress (WIP) limits refers to work that is currently being developed and not yet ready to be released as a deliverable. For Scrum teams, this would apply to the work being accomplished during a sprint. For Kanban teams, this refers to work that has been pulled from the backlog and is being developed, indicated by cards in the ‘Doing’ or ‘Work-in-Progress’ column of the Kanban task board.
How it’s Used: Work-in-progress (WIP) limits are the only constraint used in Kanban methodology. Kanban teams establish and post a number on the Kanban board that represents the number of stories or work items that can exist in the pipeline at any one time (indicated by cards or post-it notes placed in the Work-in-Progress column of the Kanban board). These limits are referred to as Work-in-Progress or WIP limits, and are designed to keep work flowing smoothly and reveal any bottlenecks.
Applying WIP limits forces the team to focus on a limited number of tasks and drive work to completion—no new work can be entered into the WIP column until the team completes the current work. WIP limits that are exceeded or set too high can jeopardize workflow and delivery. WIP limits can also be applied within Scrum teams to keep work flowing smoothly (see Scrumban).
Project Management Benefits:
Reveal bottlenecks in the workflow.
Indicate when one or more team members may be overloaded.
Keep work flowing smoothly through the pipeline.
Increase productivity.
Promote continuous improvement.
Waterfall
Refers to a traditional project management methodology where the project is defined sequentially and through clear project phases. This is a common approach to large-scale projects where little change is expected to the overall project plan. This is a distinct approach from Agile project planning, which is designed to accommodate rapid changes to the schedule.
Work breakdown structure
This is a formal method for planning a project to identify larger components of a project and all the subsequent tasks or deliverables implied.
Workload management
This term is related to resource management as it is the process of managing assigned tasks on a team in concert with their overall workload. Workload management involves the analysis of individual workload allocation as well as allocation across a team or across all projects, so that overall project goals can be monitored and changed if necessary to reflect the schedule and budget of the project.
Workstream
This refers to tasks or activities that are related to each other, and often interdependent upon each other, so that one activity downstream might require the approval of an upstream task.
Work Package
A group of related tasks that are defined at the same level within a work breakdown structure. (In traditional cost/schedule systems, the criteria for defining work packages is as follows:
Each work package is clearly distinguishable from all other work packages,
Each work package has a scheduled start and finish date,
Each work package has an assigned budget that is time-phased over the duration of the work package,
Each work package either has a relatively short duration, or can be divided into a series of milestones whose status can be objectively measured, or
Each work package has a schedule that is integrated with higher-level schedules).
X
X-BAR CONTROL CHARTS
Earlier we mentioned Gantt charts, and another type of chart you may use as a project manager is an X-bar control chart. This involves two separate charts, which show the average sample ranges of a certain product, for example, temperature and weight, over a certain time frame.
Y
YELLOW
There aren’t many project management terms beginning with Y but we had to pick one to complete our Knowledge base. Yellow is often used on project management reports as a warning indicator when, for instance, the project isn’t on track at the moment but there is a plan to get the project back on track. It is part of a simple traffic light system used as a status indicator.
Z
ZBB
Zero Bug Bounce (ZBB) is that point of defect management technique when developers have fixed all the open bugs raised by the QA team and have succeeded in accessing the test teams’ defect discovery rate. The bounce occurs when the QA team again finds some additional bugs in the next QA cycle and the developer team has to do the detection. After the initial bounce, the rate of discovery of bugs decreases gradually further until the application is stable enough to push into production.
This defect management technique is made popular by Microsoft. The Zero bug bounce is tracked in terms of a graph whereby we chart the number of open defects detected at the end of the day.
It is important to note that ZBB does not equal “ready to ship”. That is a separate decision that has to be made based on the severity of the new bugs being found. If the test team is still finding ship-blocker level bugs during the ZBB phase, then the product is most definitely not ready to ship. But if the trickle of new bugs are little things, then perhaps it is.
Ideally, you know you’ve hit ZBB when the test team agrees that they aren’t finding a lot of bugs anymore and the dev team agrees that they can keep up easily with what the test team is still finding.
Some of the important points for ZBB:
• It is not necessary that bounce always happens at Zero.
• The initial bounce is more pronounced at the end of the test execution cycle
• Using the height and length of the ripple effect, in addition to the timing of initial bounce, it can be determined very easily if the application is stable enough to be pushed into production. Zero bug bounce is very helpful in improving the ability to manage and track a test effort. Utilizing the ZBB graph helps to measure and track test progress and thus ensures the timely and accurate delivery of a high-quality application to the production environment.
Z – ZERO FLOAT
Last but not least, we have zero float, which is a condition along the critical path where activities do not have any buffer time in between them.