XML 59 R83.htm IDEA: XBRL DOCUMENT v2.4.1.9
Restructuring (Summary of Restructuring Activity) (Details) (USD $)
In Thousands, unless otherwise specified
12 Months Ended
Nov. 30, 2014
Nov. 30, 2013
Nov. 30, 2012
Restructuring Reserve [Roll Forward]      
Costs incurred $ 2,266us-gaap_RestructuringCharges $ 11,983us-gaap_RestructuringCharges $ 7,204us-gaap_RestructuringCharges
2012 Restructuring Activities [Member]      
Restructuring Reserve [Roll Forward]      
Beginning Balance 906us-gaap_RestructuringReserve
/ us-gaap_RestructuringPlanAxis
= prgs_A2012RestructuringActivitiesMember
7,032us-gaap_RestructuringReserve
/ us-gaap_RestructuringPlanAxis
= prgs_A2012RestructuringActivitiesMember
 
Costs incurred 234us-gaap_RestructuringCharges
/ us-gaap_RestructuringPlanAxis
= prgs_A2012RestructuringActivitiesMember
4,297us-gaap_RestructuringCharges
/ us-gaap_RestructuringPlanAxis
= prgs_A2012RestructuringActivitiesMember
 
Cash disbursements (926)us-gaap_PaymentsForRestructuring
/ us-gaap_RestructuringPlanAxis
= prgs_A2012RestructuringActivitiesMember
(10,364)us-gaap_PaymentsForRestructuring
/ us-gaap_RestructuringPlanAxis
= prgs_A2012RestructuringActivitiesMember
 
Asset impairment   (111)us-gaap_AssetImpairmentCharges
/ us-gaap_RestructuringPlanAxis
= prgs_A2012RestructuringActivitiesMember
 
Translation adjustments and other (25)us-gaap_RestructuringReserveTranslationAdjustment
/ us-gaap_RestructuringPlanAxis
= prgs_A2012RestructuringActivitiesMember
52us-gaap_RestructuringReserveTranslationAdjustment
/ us-gaap_RestructuringPlanAxis
= prgs_A2012RestructuringActivitiesMember
 
Ending Balance 189us-gaap_RestructuringReserve
/ us-gaap_RestructuringPlanAxis
= prgs_A2012RestructuringActivitiesMember
906us-gaap_RestructuringReserve
/ us-gaap_RestructuringPlanAxis
= prgs_A2012RestructuringActivitiesMember
 
2012 Restructuring Activities [Member] | Excess Facilities and Other Costs [Member]      
Restructuring Reserve [Roll Forward]      
Beginning Balance 615us-gaap_RestructuringReserve
/ us-gaap_RestructuringCostAndReserveAxis
= us-gaap_FacilityClosingMember
/ us-gaap_RestructuringPlanAxis
= prgs_A2012RestructuringActivitiesMember
603us-gaap_RestructuringReserve
/ us-gaap_RestructuringCostAndReserveAxis
= us-gaap_FacilityClosingMember
/ us-gaap_RestructuringPlanAxis
= prgs_A2012RestructuringActivitiesMember
 
Costs incurred 250us-gaap_RestructuringCharges
/ us-gaap_RestructuringCostAndReserveAxis
= us-gaap_FacilityClosingMember
/ us-gaap_RestructuringPlanAxis
= prgs_A2012RestructuringActivitiesMember
1,545us-gaap_RestructuringCharges
/ us-gaap_RestructuringCostAndReserveAxis
= us-gaap_FacilityClosingMember
/ us-gaap_RestructuringPlanAxis
= prgs_A2012RestructuringActivitiesMember
 
Cash disbursements (650)us-gaap_PaymentsForRestructuring
/ us-gaap_RestructuringCostAndReserveAxis
= us-gaap_FacilityClosingMember
/ us-gaap_RestructuringPlanAxis
= prgs_A2012RestructuringActivitiesMember
(1,423)us-gaap_PaymentsForRestructuring
/ us-gaap_RestructuringCostAndReserveAxis
= us-gaap_FacilityClosingMember
/ us-gaap_RestructuringPlanAxis
= prgs_A2012RestructuringActivitiesMember
 
Asset impairment   (111)us-gaap_AssetImpairmentCharges
/ us-gaap_RestructuringCostAndReserveAxis
= us-gaap_FacilityClosingMember
/ us-gaap_RestructuringPlanAxis
= prgs_A2012RestructuringActivitiesMember
 
Translation adjustments and other (26)us-gaap_RestructuringReserveTranslationAdjustment
/ us-gaap_RestructuringCostAndReserveAxis
= us-gaap_FacilityClosingMember
/ us-gaap_RestructuringPlanAxis
= prgs_A2012RestructuringActivitiesMember
1us-gaap_RestructuringReserveTranslationAdjustment
/ us-gaap_RestructuringCostAndReserveAxis
= us-gaap_FacilityClosingMember
/ us-gaap_RestructuringPlanAxis
= prgs_A2012RestructuringActivitiesMember
 
Ending Balance 189us-gaap_RestructuringReserve
/ us-gaap_RestructuringCostAndReserveAxis
= us-gaap_FacilityClosingMember
/ us-gaap_RestructuringPlanAxis
= prgs_A2012RestructuringActivitiesMember
615us-gaap_RestructuringReserve
/ us-gaap_RestructuringCostAndReserveAxis
= us-gaap_FacilityClosingMember
/ us-gaap_RestructuringPlanAxis
= prgs_A2012RestructuringActivitiesMember
 
2012 Restructuring Activities [Member] | Employee Severance and Related Benefits [Member]      
Restructuring Reserve [Roll Forward]      
Beginning Balance 291us-gaap_RestructuringReserve
/ us-gaap_RestructuringCostAndReserveAxis
= us-gaap_EmployeeSeveranceMember
/ us-gaap_RestructuringPlanAxis
= prgs_A2012RestructuringActivitiesMember
6,429us-gaap_RestructuringReserve
/ us-gaap_RestructuringCostAndReserveAxis
= us-gaap_EmployeeSeveranceMember
/ us-gaap_RestructuringPlanAxis
= prgs_A2012RestructuringActivitiesMember
 
Costs incurred (16)us-gaap_RestructuringCharges
/ us-gaap_RestructuringCostAndReserveAxis
= us-gaap_EmployeeSeveranceMember
/ us-gaap_RestructuringPlanAxis
= prgs_A2012RestructuringActivitiesMember
2,752us-gaap_RestructuringCharges
/ us-gaap_RestructuringCostAndReserveAxis
= us-gaap_EmployeeSeveranceMember
/ us-gaap_RestructuringPlanAxis
= prgs_A2012RestructuringActivitiesMember
 
Cash disbursements (276)us-gaap_PaymentsForRestructuring
/ us-gaap_RestructuringCostAndReserveAxis
= us-gaap_EmployeeSeveranceMember
/ us-gaap_RestructuringPlanAxis
= prgs_A2012RestructuringActivitiesMember
(8,941)us-gaap_PaymentsForRestructuring
/ us-gaap_RestructuringCostAndReserveAxis
= us-gaap_EmployeeSeveranceMember
/ us-gaap_RestructuringPlanAxis
= prgs_A2012RestructuringActivitiesMember
 
Asset impairment   0us-gaap_AssetImpairmentCharges
/ us-gaap_RestructuringCostAndReserveAxis
= us-gaap_EmployeeSeveranceMember
/ us-gaap_RestructuringPlanAxis
= prgs_A2012RestructuringActivitiesMember
 
Translation adjustments and other 1us-gaap_RestructuringReserveTranslationAdjustment
/ us-gaap_RestructuringCostAndReserveAxis
= us-gaap_EmployeeSeveranceMember
/ us-gaap_RestructuringPlanAxis
= prgs_A2012RestructuringActivitiesMember
51us-gaap_RestructuringReserveTranslationAdjustment
/ us-gaap_RestructuringCostAndReserveAxis
= us-gaap_EmployeeSeveranceMember
/ us-gaap_RestructuringPlanAxis
= prgs_A2012RestructuringActivitiesMember
 
Ending Balance 0us-gaap_RestructuringReserve
/ us-gaap_RestructuringCostAndReserveAxis
= us-gaap_EmployeeSeveranceMember
/ us-gaap_RestructuringPlanAxis
= prgs_A2012RestructuringActivitiesMember
291us-gaap_RestructuringReserve
/ us-gaap_RestructuringCostAndReserveAxis
= us-gaap_EmployeeSeveranceMember
/ us-gaap_RestructuringPlanAxis
= prgs_A2012RestructuringActivitiesMember
 
2013 Restructuring Activities [Member]      
Restructuring Reserve [Roll Forward]      
Beginning Balance 1,646us-gaap_RestructuringReserve
/ us-gaap_RestructuringPlanAxis
= prgs_A2013RestructuringActivitiesMember
0us-gaap_RestructuringReserve
/ us-gaap_RestructuringPlanAxis
= prgs_A2013RestructuringActivitiesMember
 
Costs incurred 396us-gaap_RestructuringCharges
/ us-gaap_RestructuringPlanAxis
= prgs_A2013RestructuringActivitiesMember
8,720us-gaap_RestructuringCharges
/ us-gaap_RestructuringPlanAxis
= prgs_A2013RestructuringActivitiesMember
 
Cash disbursements (1,812)us-gaap_PaymentsForRestructuring
/ us-gaap_RestructuringPlanAxis
= prgs_A2013RestructuringActivitiesMember
(7,087)us-gaap_PaymentsForRestructuring
/ us-gaap_RestructuringPlanAxis
= prgs_A2013RestructuringActivitiesMember
 
Translation adjustments and other (3)us-gaap_RestructuringReserveTranslationAdjustment
/ us-gaap_RestructuringPlanAxis
= prgs_A2013RestructuringActivitiesMember
13us-gaap_RestructuringReserveTranslationAdjustment
/ us-gaap_RestructuringPlanAxis
= prgs_A2013RestructuringActivitiesMember
 
Ending Balance 227us-gaap_RestructuringReserve
/ us-gaap_RestructuringPlanAxis
= prgs_A2013RestructuringActivitiesMember
1,646us-gaap_RestructuringReserve
/ us-gaap_RestructuringPlanAxis
= prgs_A2013RestructuringActivitiesMember
 
2013 Restructuring Activities [Member] | Excess Facilities and Other Costs [Member]      
Restructuring Reserve [Roll Forward]      
Beginning Balance 569us-gaap_RestructuringReserve
/ us-gaap_RestructuringCostAndReserveAxis
= us-gaap_FacilityClosingMember
/ us-gaap_RestructuringPlanAxis
= prgs_A2013RestructuringActivitiesMember
0us-gaap_RestructuringReserve
/ us-gaap_RestructuringCostAndReserveAxis
= us-gaap_FacilityClosingMember
/ us-gaap_RestructuringPlanAxis
= prgs_A2013RestructuringActivitiesMember
 
Costs incurred 329us-gaap_RestructuringCharges
/ us-gaap_RestructuringCostAndReserveAxis
= us-gaap_FacilityClosingMember
/ us-gaap_RestructuringPlanAxis
= prgs_A2013RestructuringActivitiesMember
1,126us-gaap_RestructuringCharges
/ us-gaap_RestructuringCostAndReserveAxis
= us-gaap_FacilityClosingMember
/ us-gaap_RestructuringPlanAxis
= prgs_A2013RestructuringActivitiesMember
 
Cash disbursements (666)us-gaap_PaymentsForRestructuring
/ us-gaap_RestructuringCostAndReserveAxis
= us-gaap_FacilityClosingMember
/ us-gaap_RestructuringPlanAxis
= prgs_A2013RestructuringActivitiesMember
(510)us-gaap_PaymentsForRestructuring
/ us-gaap_RestructuringCostAndReserveAxis
= us-gaap_FacilityClosingMember
/ us-gaap_RestructuringPlanAxis
= prgs_A2013RestructuringActivitiesMember
 
Translation adjustments and other (5)us-gaap_RestructuringReserveTranslationAdjustment
/ us-gaap_RestructuringCostAndReserveAxis
= us-gaap_FacilityClosingMember
/ us-gaap_RestructuringPlanAxis
= prgs_A2013RestructuringActivitiesMember
(47)us-gaap_RestructuringReserveTranslationAdjustment
/ us-gaap_RestructuringCostAndReserveAxis
= us-gaap_FacilityClosingMember
/ us-gaap_RestructuringPlanAxis
= prgs_A2013RestructuringActivitiesMember
 
Ending Balance 227us-gaap_RestructuringReserve
/ us-gaap_RestructuringCostAndReserveAxis
= us-gaap_FacilityClosingMember
/ us-gaap_RestructuringPlanAxis
= prgs_A2013RestructuringActivitiesMember
569us-gaap_RestructuringReserve
/ us-gaap_RestructuringCostAndReserveAxis
= us-gaap_FacilityClosingMember
/ us-gaap_RestructuringPlanAxis
= prgs_A2013RestructuringActivitiesMember
 
2013 Restructuring Activities [Member] | Employee Severance and Related Benefits [Member]      
Restructuring Reserve [Roll Forward]      
Beginning Balance 1,077us-gaap_RestructuringReserve
/ us-gaap_RestructuringCostAndReserveAxis
= us-gaap_EmployeeSeveranceMember
/ us-gaap_RestructuringPlanAxis
= prgs_A2013RestructuringActivitiesMember
0us-gaap_RestructuringReserve
/ us-gaap_RestructuringCostAndReserveAxis
= us-gaap_EmployeeSeveranceMember
/ us-gaap_RestructuringPlanAxis
= prgs_A2013RestructuringActivitiesMember
 
Costs incurred 67us-gaap_RestructuringCharges
/ us-gaap_RestructuringCostAndReserveAxis
= us-gaap_EmployeeSeveranceMember
/ us-gaap_RestructuringPlanAxis
= prgs_A2013RestructuringActivitiesMember
7,594us-gaap_RestructuringCharges
/ us-gaap_RestructuringCostAndReserveAxis
= us-gaap_EmployeeSeveranceMember
/ us-gaap_RestructuringPlanAxis
= prgs_A2013RestructuringActivitiesMember
 
Cash disbursements (1,146)us-gaap_PaymentsForRestructuring
/ us-gaap_RestructuringCostAndReserveAxis
= us-gaap_EmployeeSeveranceMember
/ us-gaap_RestructuringPlanAxis
= prgs_A2013RestructuringActivitiesMember
(6,577)us-gaap_PaymentsForRestructuring
/ us-gaap_RestructuringCostAndReserveAxis
= us-gaap_EmployeeSeveranceMember
/ us-gaap_RestructuringPlanAxis
= prgs_A2013RestructuringActivitiesMember
 
Translation adjustments and other 2us-gaap_RestructuringReserveTranslationAdjustment
/ us-gaap_RestructuringCostAndReserveAxis
= us-gaap_EmployeeSeveranceMember
/ us-gaap_RestructuringPlanAxis
= prgs_A2013RestructuringActivitiesMember
60us-gaap_RestructuringReserveTranslationAdjustment
/ us-gaap_RestructuringCostAndReserveAxis
= us-gaap_EmployeeSeveranceMember
/ us-gaap_RestructuringPlanAxis
= prgs_A2013RestructuringActivitiesMember
 
Ending Balance 0us-gaap_RestructuringReserve
/ us-gaap_RestructuringCostAndReserveAxis
= us-gaap_EmployeeSeveranceMember
/ us-gaap_RestructuringPlanAxis
= prgs_A2013RestructuringActivitiesMember
1,077us-gaap_RestructuringReserve
/ us-gaap_RestructuringCostAndReserveAxis
= us-gaap_EmployeeSeveranceMember
/ us-gaap_RestructuringPlanAxis
= prgs_A2013RestructuringActivitiesMember
 
2014 Restructuring Activities [Member]      
Restructuring Reserve [Roll Forward]      
Beginning Balance 0us-gaap_RestructuringReserve
/ us-gaap_RestructuringPlanAxis
= prgs_A2014RestructuringActivitiesMember
   
Costs incurred 1,664us-gaap_RestructuringCharges
/ us-gaap_RestructuringPlanAxis
= prgs_A2014RestructuringActivitiesMember
   
Cash disbursements (437)us-gaap_PaymentsForRestructuring
/ us-gaap_RestructuringPlanAxis
= prgs_A2014RestructuringActivitiesMember
   
Ending Balance 1,227us-gaap_RestructuringReserve
/ us-gaap_RestructuringPlanAxis
= prgs_A2014RestructuringActivitiesMember
   
2014 Restructuring Activities [Member] | Excess Facilities and Other Costs [Member]      
Restructuring Reserve [Roll Forward]      
Beginning Balance 0us-gaap_RestructuringReserve
/ us-gaap_RestructuringCostAndReserveAxis
= us-gaap_FacilityClosingMember
/ us-gaap_RestructuringPlanAxis
= prgs_A2014RestructuringActivitiesMember
   
Costs incurred 0us-gaap_RestructuringCharges
/ us-gaap_RestructuringCostAndReserveAxis
= us-gaap_FacilityClosingMember
/ us-gaap_RestructuringPlanAxis
= prgs_A2014RestructuringActivitiesMember
   
Cash disbursements 0us-gaap_PaymentsForRestructuring
/ us-gaap_RestructuringCostAndReserveAxis
= us-gaap_FacilityClosingMember
/ us-gaap_RestructuringPlanAxis
= prgs_A2014RestructuringActivitiesMember
   
Ending Balance 0us-gaap_RestructuringReserve
/ us-gaap_RestructuringCostAndReserveAxis
= us-gaap_FacilityClosingMember
/ us-gaap_RestructuringPlanAxis
= prgs_A2014RestructuringActivitiesMember
   
2014 Restructuring Activities [Member] | Employee Severance and Related Benefits [Member]      
Restructuring Reserve [Roll Forward]      
Beginning Balance 0us-gaap_RestructuringReserve
/ us-gaap_RestructuringCostAndReserveAxis
= us-gaap_EmployeeSeveranceMember
/ us-gaap_RestructuringPlanAxis
= prgs_A2014RestructuringActivitiesMember
   
Costs incurred 1,664us-gaap_RestructuringCharges
/ us-gaap_RestructuringCostAndReserveAxis
= us-gaap_EmployeeSeveranceMember
/ us-gaap_RestructuringPlanAxis
= prgs_A2014RestructuringActivitiesMember
   
Cash disbursements (437)us-gaap_PaymentsForRestructuring
/ us-gaap_RestructuringCostAndReserveAxis
= us-gaap_EmployeeSeveranceMember
/ us-gaap_RestructuringPlanAxis
= prgs_A2014RestructuringActivitiesMember
   
Ending Balance $ 1,227us-gaap_RestructuringReserve
/ us-gaap_RestructuringCostAndReserveAxis
= us-gaap_EmployeeSeveranceMember
/ us-gaap_RestructuringPlanAxis
= prgs_A2014RestructuringActivitiesMember