Getting Started
Slack has come a long way since it was officially launched 2014.Today, the messaging app is used by many companies as a way for co-workers to instantly reach each other via online and chat.
SPA provides a library of built-in criteria that you can use to analyze and score project schedules. This reference guide explains how each criterion is calculated.
Simplex algorithm with initial negative slack variables. Ask Question Asked 5 years, 8 months ago. Active 5 years, 8 months ago. Viewed 3k times 1. 1 $ begingroup$ I. Slack is calculated as ‘required time – arrival time’. WNS shows the spare time we have after meeting the timing requirements. So WNS=6.44nsmeans it takes only 3.56ns (10ns-6.44ns, where 10ns is the time period for 1 clock cycle for a frequency of 100MHz which we were provided in the constraints file) to complete the execution and hence.
For each criterion, the following information is included:
- criteria name
- rationale (why does SPA check for the condition?)
- calculation formula
Utility Formulas
The following utility formulas are used in other formulas.
Actual Finish Before Actual Start Tasks
Task.Summary is No
and
Task.Milestone is No
and
Task.ActualFinish is set
and
Task.ActualStart is set
and
Task.ActualFinish is before Task.ActualStart
and
Task.Milestone is No
and
Task.ActualFinish is set
and
Task.ActualStart is set
and
Task.ActualFinish is before Task.ActualStart
Constrained Tasks
Task.Summary is No
and
Task.ConstraintType is Not ASAP
and
Task.ActualFinish is not set
and
Task.ConstraintType is Not ASAP
and
Task.ActualFinish is not set
Effort Tasks
not a Summary Task
and
Task.Duration > 0
and
Task.Duration > 0
Incomplete Critical Tasks
Task.Critical is Yes
and
Task.ActualFinish is not set
and
Task.Summary is No
and
Task.Milestone is No
and
Task.ActualFinish is not set
and
Task.Summary is No
and
Task.Milestone is No
Incomplete Tasks
Task.Summary is No
and
Task.Milestone is No
and
Task.ActualFinish is not set
and
Task.Milestone is No
and
Task.ActualFinish is not set
Missing Baseline Tasks
Task.Summary is No
and
Task.ActualFinish is not set
and
Task.BaselineFinish is not set
or
Task.BaselineStart is not set
and
Task.ActualFinish is not set
and
Task.BaselineFinish is not set
or
Task.BaselineStart is not set
Milestone Tasks
not a Summary Task
and
Task.Duration Is 0
and
Task.Duration Is 0
Missing Predecessor Tasks
Task.Predecessors is not set
and
Task.ActualFinish is not set
and
Task.Summary is No
and
Task.ActualFinish is not set
and
Task.Summary is No
Missing Successor Tasks
Task.Successors is not set
and
Task.ActualFinish is not set
and
Task.Summary is No
and
Task.ActualFinish is not set
and
Task.Summary is No
Missing WBS Tasks
Task.Summary is No
and
Task.WBS is not set
and
Task.WBS is not set
No Assigned Resource Tasks
Task.Summary is No
and
Task.Milestone is No
and
Task.Resources is not set
and
Task.ActualFinish is not set
and
Task.Milestone is No
and
Task.Resources is not set
and
Task.ActualFinish is not set
Non FS Predecessor Tasks
Task.Predecessors Has FF
or
Task.Predecessors Has SS
or
Task.Predecessors Has SF
or
Task.Predecessors Has SS
or
Task.Predecessors Has SF
Summary Tasks
task.Summary is Yes.
Summary With Predecessor Tasks
Task.Predecessors is set
and
Task.Summary is Yes
and
Task.Summary is Yes
Summary With Successor Tasks
Negative Slack
Task.Successors is set
and
Task.Summary is Yes
and
Task.Summary is Yes
Summary With Resource Tasks
Task.Summary is Yes
and
Task.Resources is set
and
Task.ActualFinish is not set
and
Task.Resources is set
and
Task.ActualFinish is not set
Criteria Library Formulas
The following formulas show how the Criteria scores are calculated.
Effort Tasks
Rationale
The schedule should be primarily made up of discrete tasks that have work associated with them. Summaries and Milestones are needed for reporting and program tracking but should not be the majority of the line items.
Calculation
Total Effort Tasks / Total Tasks
Summary Tasks
Rationale
The schedule should be primarily made up of discrete tasks that have work associated with them. Summaries are needed for reporting and program tracking but should not be the majority of the line items.
Calculation
Total Summary Tasks / Total Tasks
Milestones
Rationale
The schedule should be primarily made up of discrete tasks that have work associated with them. Summaries and Milestones are needed for reporting and program tracking but should not be the majority of the line items.
Calculation
Total Milestone Tasks / Total Tasks
Incomplete Tasks
Rationale
The closer a project is to completion, the less we are able to influence its final financial and schedule outcome without a significant intervention.
Calculation
Total Incomplete Tasks / Total Effort Tasks
Incomplete Critical Tasks
Rationale
The Critical Path is one of the most important areas of the program schedule. It is usually the most difficult, time-consuming, and technically challenging portion of the schedule. It should represent a small portion of the overall program schedule.
This score measures the percent of all incomplete tasks that are critical.
Calculation
Total Incomplete Critical Tasks / Total Incomplete Tasks
Missing Successors
Rationale
Almost every task should have a successor, with a few exceptions like the end of project milestone.
The question to ask is: 'If the output of the task’s effort does not go to anyone else, why are we doing the work?'
Calculation
Total Missing Successor Tasks / Total non-Summary Tasks tasks without an Actual Finish
Missing Predecessors
Rationale
All tasks should have a predecessor, with a few exceptions like starting milestones.
Calculation
Total Missing Predecessor Tasks / Total non-Summary Tasks tasks without an Actual Finish
Summary Tasks With Successors
Rationale
Summary tasks should not have predecessors or successors. Many scheduling software applications have difficulty calculating dates and critical paths when summary tasks and detail tasks are linked.
Calculation
Total Summary With Successor Tasks / Total Summary Tasks
Summary Tasks With Predecessors
Rationale
Summary tasks should not have predecessors or successors. Many scheduling software applications have difficulty calculating dates and critical paths when summary tasks and detail tasks are linked.
Calculation
Total Summary With Predecessor Tasks / Total Tasks
Duration < 5d
Rationale
Task durations should generally be between 5 and 20 working days.
Too much detail can make the schedule unreadable, unmaintainable, and ultimately unusable as a management tool. Too little detail can make the schedule little more than window dressing. Sufficient detail must exist to clearly identify all the key deliverables and must contain enough information to know what state the project is in at any given point in time.
Industry consensus is that near term tasks should be a week to a month in length. When less than a week, you will spend more time maintaining and updating the schedule than is practical. When more than a month, you will not be able to get an accurate estimate of progress and forecasted completion dates. Since already completed tasks cannot be addressed, they are not counted.
Calculation
D5d Task = Task.Duration < 5d and Task.Milestone is No and Task.Summary is No and Task.ActualFinish Is Not Set
Total D5d Tasks / Total Incomplete Tasks
Total D5d Tasks / Total Incomplete Tasks
Duration > 20d
Rationale
Task durations should generally be between 5 and 20 working days.
Too much detail can make the schedule unreadable, unmaintainable, and ultimately unusable as a management tool. Too little detail can make the schedule little more than window dressing. Sufficient detail must exist to clearly identify all the key deliverables and must contain enough information to know what state the project is in at any given point in time.
Industry consensus is that near term tasks should be a week to a month in length. When less than a week, you will spend more time maintaining and updating the schedule than is practical. When more than a month, you will not be able to get an accurate estimate of progress and forecasted completion dates. Since already completed tasks cannot be addressed, they are not counted.
Calculation
D20d Task = Task.Duration > 20d and Task.Milestone is No and Task.Summary is No and Task.ActualFinish Is Not Set
Total D20d Tasks / Total Incomplete Tasks
Total D20d Tasks / Total Incomplete Tasks
Predecessors Complete, Task Not Started
Rationale
Schedule progress should drive the end dates of the program. Not scheduling forward or leaving incomplete work in the past does not allow for a true picture of the project status and projected end date.
Calculation
Task Not Started Tasks =
Task contains predecessor which are complete, but the task has not started.
Total ShouldStart Tasks / Total Non Summary Tasks
Total ShouldStart Tasks / Total Non Summary Tasks
Tasks with Constrained Dates
Rationale
Tasks should rarely be artificially tied to dates. Durations and/or Resources combined with schedule logic and work day calendars should determine schedule dates. If a significant number of constrained dates are used, the schedule may not calculate the critical path and near critical paths correctly.
Calculation
Total Constrained Tasks / Total Non Summary Tasks Tasks without an Actual Finish
Tasks without Baseline Finish
Rationale
Baseline dates for tasks and milestones should be established in the project schedule early in the program. For large projects involving a customer, the contract may require this to be done in 60 to 90 days after the start date and prior to a formal review.
Calculation
Total Missing Baseline Tasks / Total Non Summary Tasks Tasks without an Actual Finish
Tasks without Assigned Resources
Rationale
A resource loaded project schedule should have resources assigned to all discrete tasks and should not have resources assigned to summary tasks. Resource planning requires that all discrete tasks be resource loaded in order to analyze and identify resource constraints or overloaded resources.
Calculation
Total No Assigned Resource Tasks / Total Incomplete Tasks
Tasks with Total Slack < -20d
Rationale
All schedules should have a reasonably small amount of slack or float. Large positive or negative slack values may indicate a poorly constructed schedule. Large negative slack indicates a logic error or a program that is no longer on track to meet its commitment dates. Large positive slack may indicate poor or missing logic.
Calculation
TS-20 Task =
Task.Summary = No
and
Task.Milestone = No
and
Task.ActualFinish is not set
and
Task.TotalSlack < -20d
Task.Summary = No
and
Task.Milestone = No
and
Task.ActualFinish is not set
and
Task.TotalSlack < -20d
Total TS-20 Tasks / Total Incomplete Tasks
Tasks with Total Slack < 30d
Rationale
All schedules should have a reasonably small amount of slack or float. Large positive or negative slack values may indicate a poorly constructed schedule. Large negative slack indicates a logic error or a program that is no longer on track to meet its commitment dates. Large positive slack may indicate poor or missing logic.
Calculation
TS30 Task =
Task.Summary = No
and
Task.Milestone = No
and
Task.ActualFinish is not set
and
Task.TotalSlack < 30d
Task.Summary = No
and
Task.Milestone = No
and
Task.ActualFinish is not set
and
Task.TotalSlack < 30d
Total TS30 Tasks / Total Incomplete Tasks
Tasks with Total Slack > 200d
Rationale
All schedules should have a reasonably small amount of slack or float. Large positive or negative slack values may indicate a poorly constructed schedule. Large negative slack indicates a logic error or a program that is no longer on track to meet its commitment dates. Large positive slack may indicate poor or missing logic.
Jun 07, 2020 Also, my software manager recognizes Edge as a 32-bit application, which is the same as Microsoft's official browser settings in the The 'version 85.0.531.1 (official internal version) dev (64-bit)' in the details page. They contradict each other. Microsoft Edge is the best browser for shopping. Microsoft Edge is the only browser with built-in tools to help you save time and money when shopping online. Apr 15, 2021 Microsoft Edge 89.0.774.77 on 32-bit and 64-bit PCs. This download is licensed as freeware for the Windows (32-bit and 64-bit) operating system on a laptop or desktop PC from web browsers without restrictions. Microsoft Edge 89.0.774.77 is available to all software users as a free download for Windows. Aug 28, 2020 Introducing the Benefits of Microsoft Edge 85.0.564.41 (32-Bit) Its resemblance to Google Chrome is quite large, with the exception of the more marked targets of the interface and the less pronounced rounded edges. ![Microsoft edge 32 bit browser Microsoft edge 32 bit browser](/uploads/1/1/9/8/119876134/709109866.jpg)
![Microsoft edge 32 bit browser Microsoft edge 32 bit browser](/uploads/1/1/9/8/119876134/709109866.jpg)
Calculation
TS200 Task =
Task.Summary = No
and
Task.Milestone = No
and
Task.ActualFinish is not set
and
Task.TotalSlack > 200d
Total TS200 Tasks / Total Incomplete Tasks
Task.Summary = No
and
Task.Milestone = No
and
Task.ActualFinish is not set
and
Task.TotalSlack > 200d
Total TS200 Tasks / Total Incomplete Tasks
Tasks with Total Slack < -200d
Rationale
Most projects fall behind schedule during their normal execution. However, a project should not operate for a significant period of time with large negative slack. Recovery plans or workarounds should be identified and implemented. If none are feasible, a new plan should be drafted to an agreed-upon completion date.
Calculation
TS-200 Task =
Task.Summary = No
and
Task.Milestone = No
and
Task.ActualFinish is not set
and
Task.TotalSlack < -200d
Total TS-200 Tasks / Total Incomplete Tasks
Task.Summary = No
and
Task.Milestone = No
and
Task.ActualFinish is not set
and
Task.TotalSlack < -200d
Total TS-200 Tasks / Total Incomplete Tasks
Tasks Without Finish-to-Start Predecessors
Rationale
The majority of the task dependencies should be Finish-to-Start. Since most of the tasks represent work that will have a start and an end date resulting in some product or document that is needed by someone else, the work is performed in some sequence most of the time. If the majority of the tasks require parallel linkages the tasks may be at too high a level.
Calculation
Total Non FS Predecessor Tasks / Incomplete Effort Tasks Tasks
Tasks with Missing WBS
Rationale
All tasks should have a Work Breakdown Structure (WBS) identifier assigned. The WBS is the key to cost schedule integration. A missing WBS identifier gives the appearance of work being done that is not within the budget or scope of the program.
Calculation
Total Missing WBS Tasks / Total Tasks
Actual Start/Finish Dates in the Future
![Slack Slack](/uploads/1/1/9/8/119876134/947973983.png)
Rationale
Actual dates must reflect when a task started and or completed. They should not be auto-generated and should not exist in the future. An actual finish date cannot be earlier than the actual start date for a task.
Calculation
CurrentDate = Status Date (or, if no status date) Today
FutureTask =
Task.Summary is No
AND
Task.ActualFinish > CurrentDate
or
Task.ActualStart > CurrentDate
Total FutureTasks / Non Summary Tasks
Task.Summary is No
AND
Task.ActualFinish > CurrentDate
or
Task.ActualStart > CurrentDate
Total FutureTasks / Non Summary Tasks
Actual Finish Before Actual Start
Rationale
An actual finish date should never be before an actual start date.
Calculation
Total Actual Finish Before Actual Start Tasks / Total Effort Tasks
Summaries With Resources
Rationale
As a general rule, summary tasks should not have resources assigned to them. They are strictly an outlining or rolling up feature and should not drive schedule dates or resource loading.
There may be instances when it is acceptable to assign resources to summary tasks instead of detail tasks. This is acceptable as long as resources are not loaded at both levels where they would be double counted.
Calculation
Total Summary With Resource Tasks / Total Effort Tasks
Baseline Execution Index
Rationale
A measurement used to indicate the efficiency of actual work that has been completed measured against the baseline.
Calculation
By the status date (or if no status date than by today): Tasks that have actually finished: Actual finish date is not 'NA' (or % complete = 100) Tasks that should have finished: Actual finish date on or before the status date. Tasks that have actually finished / Tasks that should have finished 1.0 is perfectly on track. < 1.0 worse > 1.0 better Above .95: green .90 to .85: yellow Under .85: red
Performance Index
Rationale
This criteria can be used to calculate both the schedule performance index or the cost performance index based on the fields selected as inputs. For the schedule performance index, this measures the target efficiency ratio. For example, if the deliverable is scheduled to cost $50,000 and $25,000 of work has been accomplished, the SPI would be 0.50.
Calculation
Budgeted Cost for Work Performed (BCWP) / Budgeted Cost for Work for Scheduled (BCWS)
Greater than 1.0 is favorable. Less than 1.0 is unfavorable.
Cost Performance Index
Calculation
Budgeted Cost for Work Performed (BCWP) / Actual Cost for Work for Performed (ACWP)
Greater than 1.0 is favorable. Less than 1.0 is unfavorable.
Schedule Performance Index
Calculation
Budgeted Cost for Work Performed (BCWP) / Budgeted Cost for Work for Scheduled (BCWS)
Greater than 1.0 is favorable. Less than 1.0 is unfavorable.
Baseline Vertical Schedule Integration Error
Rationale
This criteria looks at each summary tasks and makes sure that the next level tasks all roll up. It compares the baseline start and finish dates of the summary tasks to those of the lower level details tasks.
At least one of the lower level detail tasks must have a start date that equals the start of the summary task and that at least one of the lower level detail tasks must have a finish date that equals the end date shown on the summary task. The Summary task start date should always be the earliest date represented and the summary task end date should always be the latest date represented.
Calculation
Each child task is analyzed. All children must start in or after the parent task and must end on or before the parent's baseline.
Delinquent Tasks
Rationale
Used to identify tasks that should have started but have not.
Calculation
Evaluates all non-summary tasks for the following:
- Start Date <= Project Status Date AND Actual Start Date is not set.
- OR
- Finish <= Project Status Date AND Actual Finish Date is not set.
Out of Sequence Tasks
Rationale
Used to identify tasks that have begun when their predecessors or successors are not 100% complete.
Negative Float
Calculation
Each task's dependency is analyzed. The Actual start and finish dates are read. The first step is to determine whether or not the predecessors and successors are complete and also if they have started. The determination is made depending on the task's relationship:
Relationship | Out of Sequence Determination |
Finish-to-Finish | Successor Complete and predecessor not complete |
Finish-to-Start | Predecessor not complete and successor started |
Start-to-Finish | Successor complete and predecessor not started |
Start-to-Start | Successor started and predecessor not started |
Dangling Activities
Rationale
Discovers tasks that are missing links to its start or finish points. These tasks can change duration without a detectable impact to the schedule.
Calculation
Should Start Tasks
Rationale
This criteria (actually a statistic) looks at each non-summary task to determine if the start date has passed.
Calculation
Looks for non-summary tasks with a start date before the status date (or current date if there is no status date). For split tasks, it looks for a resume date in the past.
Project Has Status Date
Rationale
This criteria determines whether the project has a status date. When a project doesn't have a status date, you cannot know whether the status fields are current.
Calculation
If the project status date exists, a score of compliant is the result. Otherwise, a score of non-compliant is the result.
How to determine the maximum operating frequency of the design? It is not straight forward in Vivado compared to ISE. Here is a step by step guide to do this.
Step 1: After finishing the code, run synthesis/implementation. Once it is completed, click on the ‘Constraints Wizard’ link on the SYNTHESIS tab of flow navigator.
A ‘No Constraints File’ window will pop up asking to define the target first. Click on ‘Define Target’.
‘Define Constraints and Target window will be opened and click on ‘Create File’ if you don’t already have a constraints file.
Name the file and click OK
Select the created file and click OK
Step 2: Once the file is created, click again on the ‘Constraints Wizard’ option on the SYNTHESIS tab. A window will pop up asking for reloading the design. Click on ‘Reload’.
After reloading, click on the ‘Constraints Wizard’ option again. This time the following ‘Timing Constraints Wizard’ window will open. Click on next.
Next, the clock frequency needs to be defined. Provide the required frequency and click ‘Next’.
The other constraints can be defined if input delays need to be considered. Otherwise, uncheck all the other constraints and click ‘Finish’ at the end.
Before clicking ‘Finish’, make sure you have checked the boxes for the reports you are needed.
Negative Slack In Ms Project
Step 3: After finishing, run implementation and that will show the WNS (Worst Negative Slack) in the project summary.
Slack is calculated as ‘required time – arrival time’. WNS shows the spare time we have after meeting the timing requirements. So WNS=6.44nsmeans it takes only 3.56ns (10ns-6.44ns, where 10ns is the time period for 1 clock cycle for a frequency of 100MHz which we were provided in the constraints file) to complete the execution and hence the maximum possible frequency is (1/3.56ns) = 280.89MHz.
If you need to see an elaborated timing report, just type the tcl command ‘report_timing_summary’ on tcl console and press ‘Enter’.
Negative Slack In Vlsi
This will give you an elaborated timing summary with all the clock details.