Total Pageviews

2015/03/12

如何計算 Intrinsic Value (股票內在價值)

The Intelligent Investor的作者,有提到一個公式來計算股票的Intrinsic Value內在價值

Intrinsic Value = Current (Normal) Earnings x (8.5 + (2 x Expected Annual Growth Rate)
  • Current (Normal) Earnings = Trailing Twelve Months Earnings Per Share
  • 8.5 = P/E base for a no-growth company
  • Expected Annual Growth Rate = reasonably expected 7 to 10 year growth rate


以下是1210 大成 為例
以下是從2003到2013年這10年的稅後EPS (Column B) 與 EPS成長 (Column C),如C3 = B3 - B4 = 3.42 - 1.43 = 1.99

EPS成長率 = 每年度成長除以上一年度的稅後EPS,如D3 = C4 / B4 = 1.99 / 1.43 = 1.39 X 100 = 139%,過去10年EPS成長率 (Column D) 如下:

過去十年的平均成長 = SUM(C3 : C12) / 10 = 0.49
 Intrinsic Value (股票內在價值) = 最近一年的EPS X (8.5 + 2 X 平均成長率) = B2 X (8.5 + 2 X D14) = 3.42 X (8.5 + 2 X 0.49 ) = 32.42

但是,Graham還是強調,公式所算出的結果僅供參考,因為還有太多的因素會影響到未來的成長率、EPS與股價,如利率的高低會影響到股價,由於股票市場是不保本的,你的投資有可能會賠錢。當利率提高時,投資人就會開始躊躇,在風險與投資報酬的考量下,最後可能會決定把股票部分或全部賣掉,改放到銀行定存,這時候就會造成股價下跌。

Reference
[1] http://www.grahaminvestor.com/articles/how-to/finding-undervalued-stocks-3-using-intrinsic-value/
[2] http://en.wikipedia.org/wiki/Benjamin_Graham_formula
[3] http://goodinfo.tw/stockinfo/StockBzPerformance.asp?STOCK_ID=1210
[4] https://happyeric1120.wordpress.com/2007/06/12/%E5%88%A9%E7%8E%87%E3%80%81%E5%82%B5%E5%88%B8%E3%80%81%E8%88%87%E8%82%A1%E7%A5%A8%E4%B8%89%E8%80%85%E7%9A%84%E9%97%9C%E4%BF%82/

[AngularJS] How to popup modal dialog as I click row in ng-grid

Requirement
I am using ng-grid to implement data grid.
If user click "利率明細" in each row in ng-grid


it should open a modal dialog.

Solution
The code should be like this:  
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
 $scope.dbm100eFormGrid2 = {
         data : 'dbm100eFormGrid2Data',
         selectedItems: $scope.grid2SelectedRow,
         columnDefs : [
                       { field : 'budgetCode',  displayName : '預算別', 
                         width: 0, cellClass: 'text-left', visible:false},
                       { field : 'diversityAmount',  displayName : '溢(折)價金額', 
                         width: 0, cellClass: 'text-left', visible:false},
                       { field : 'issueCostAmount',  displayName : '發行成本額', 
                         width: 0, cellClass: 'text-left', visible:false},
                       { field : 'budgetName',  displayName : '預算別', 
                         width: 150, cellClass: 'text-left'},
                       { field : 'debtCode',    displayName : '債務別', 
                         width: 0, cellClass: 'text-left'}, 
                       { field : 'debtName',    displayName : '債務別', 
                             width: 150, cellClass: 'text-left'}, 
                       { field : 'issueAmount', displayName : '發行額', 
                         width: 180, cellClass: 'text-right', cellFilter: 'number'}, 
                       { field : 'realAmount',  displayName : '實收額', 
                         width: 180, cellClass: 'text-right', cellFilter: 'number'},
                       { field : 'rateDtl',    displayName : '利率%',  
                         width: 170, cellClass: 'text-left',
                         cellTemplate: '<div class="ngCellText" ng-click="showRateDtl(row);"><a>利率明細</a></div>'}],
         enableColumnResize :true,
         i18n:'zh-tw',
         multiSelect : false,
         afterSelectionChange: function (row, event) {
             if(!angular.isUndefined($scope.grid2SelectedRow[0])){
                //...
             }
         }
 };
 $scope.showRateDtl = function(row){
     openDialogForTab2(row);
 };
 
 var openDialogForTab2 = function(row){
     var options = {
             templateUrl: 'dbm100eTab4.html',
             controller: ModalInstanceCtrl,
             windowClass: 'app-modal-window',
             backdrop: true,
             keyboard: true,
             backdropClick: true,
             resolve: {
                 model: function(){
                     return row.entity;
                 }
             }
     };

     var modalInstance = $modal.open(options);
     
     modalInstance.result.then(function (model) {
         //...
       });
     
 };
 
 var ModalInstanceCtrl = function($scope, $modalInstance, model) {
     $scope.dbm100eTab4FormBean = angular.copy(model);
     
     //...
     
     $scope.dbm100eFormGrid4 = {
             data : 'dbm100eFormGrid4Data',
             selectedItems: $scope.grid4SelectedRow,
             columnDefs : [
                           { field : 'effcDateB', displayName : '實施日期起', width: 283, cellClass: 'text-left'},
                           { field : 'effcDateE', displayName : '實施日期迄', width: 283, cellClass: 'text-left'},
                           { field : 'debtRate',  displayName : '利率%', width: 283, cellClass: 'text-left'}],
             enableColumnResize :true,
             i18n:'zh-tw',
             multiSelect : false
     };
 };
        

Reference
[1] http://stackoverflow.com/questions/28201723/angular-ui-grid-double-click-row-to-open-pop-up-for-editing-a-row

[AngularJS] TypeError: Cannot set property 'gridDim' of undefined

Problem
I have a data grid which implement by ng-grid.
As I click "利率明細", it should popup a modal dialog. 

The popup modal dialog will have a data grid in the modal dialog. But as I popup the modal dialog, the data grid does not show properly.

Chrome console have error message:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
TypeError: Cannot set property 'gridDim' of undefined
    at ngGridDirectives.directive.ngGridDirective.compile.pre (http://localhost:8080/dbm/assets/ng-grid/2.0.11/ng-grid.js?v=14b4202a:3213:37)
    at nodeLinkFn (http://localhost:8080/dbm/assets/angularjs/1.2.16-cht-2/angular.js?v=14b4202a:6559:13)
    at compositeLinkFn (http://localhost:8080/dbm/assets/angularjs/1.2.16-cht-2/angular.js?v=14b4202a:5986:15)
    at compositeLinkFn (http://localhost:8080/dbm/assets/angularjs/1.2.16-cht-2/angular.js?v=14b4202a:5989:13)
    at compositeLinkFn (http://localhost:8080/dbm/assets/angularjs/1.2.16-cht-2/angular.js?v=14b4202a:5989:13)
    at compositeLinkFn (http://localhost:8080/dbm/assets/angularjs/1.2.16-cht-2/angular.js?v=14b4202a:5989:13)
    at nodeLinkFn (http://localhost:8080/dbm/assets/angularjs/1.2.16-cht-2/angular.js?v=14b4202a:6573:24)
    at compositeLinkFn (http://localhost:8080/dbm/assets/angularjs/1.2.16-cht-2/angular.js?v=14b4202a:5986:15)
    at compositeLinkFn (http://localhost:8080/dbm/assets/angularjs/1.2.16-cht-2/angular.js?v=14b4202a:5989:13)
    at publicLinkFn (http://localhost:8080/dbm/assets/angularjs/1.2.16-cht-2/angular.js?v=14b4202a:5891:30) <div class="grid-style ng-scope" data-ng-grid="dbm100eFormGrid4" style="display: inline-block; height: 100px; width: 80%;">

Here is code snippet, ng-grid part, for the modal dialog in HTML:
1
2
3
4
5
6
7
      <div class="row text-center">
        <div class="col-sm-12">
          <div class="grid-style" data-ng-grid="dbm100eFormGrid4"
               style="display: inline-block; height: 100px; width: 80%;">
          </div>
        </div>
      </div>


Here is code snippet in JavaScript (including how to open modal dialog and define ng-grid in modal dialog):
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
 // click "利率明細", it should popup a modal dialog
 $scope.showRateDtl = function(row){
     openDialogForTab2(row);
 };
 
 //open modal dialog
 var openDialogForTab2 = function(row){
     var options = {
             templateUrl: 'dbm100eTab4.html',
             controller: ModalInstanceCtrl,
             windowClass: 'app-modal-window',
             backdrop: true,
             keyboard: true,
             backdropClick: true,
             resolve: {
                 model: function(){
                     return row.entity;
                 }
             }
     };

     var modalInstance = $modal.open(options);
   //...
 };
 
 var ModalInstanceCtrl = function($scope, $modalInstance, model) {
     //.....
 };
 
 //declare ng-grid in modal dialog
 $scope.dbm100eFormGrid4 = {
         data : 'dbm100eFormGrid4Data',
         selectedItems: $scope.grid4SelectedRow,
         columnDefs : [
                       { field : 'effcDateB', displayName : '實施日期起', width: 283, cellClass: 'text-left'},
                       { field : 'effcDateE', displayName : '實施日期迄', width: 283, cellClass: 'text-left'},
                       { field : 'debtRate',  displayName : '利率%', width: 283, cellClass: 'text-left'}],
         enableColumnResize :true,
         i18n:'zh-tw',
         multiSelect : false
 };


Solution
The modal has it's own scope not inheriting from the scope where you defined the gridOptions, this error occurs if it can't find the gridOptions to set the gridDim on it.

Hence, you need to move line31~41 in to ModalInstanceCtrl as bellows:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
var ModalInstanceCtrl = function($scope, $modalInstance, model) {
    //...
    $scope.dbm100eFormGrid4 = {
            data : 'dbm100eFormGrid4Data',
            selectedItems: $scope.grid4SelectedRow,
            columnDefs : [
                          { field : 'effcDateB', displayName : '實施日期起', width: 283, cellClass: 'text-left'},
                          { field : 'effcDateE', displayName : '實施日期迄', width: 283, cellClass: 'text-left'},
                          { field : 'debtRate',  displayName : '利率%', width: 283, cellClass: 'text-left'}],
            enableColumnResize :true,
            i18n:'zh-tw',
            multiSelect : false
    };
};

After updated, the data grid can show properly in modal dialog


Reference
[1] http://stackoverflow.com/questions/22802986/combining-ng-grid-and-ui-bootstrap-modal

2015/03/11

[AngularJS] How to set 1000 separator in ng-grid

Problem
I am using AngularJS to implement data grid as bellows:

Here has the code snippet:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
$scope.dbm100eFormGrid2 = {
        data : 'dbm100eFormGrid2Data',
        selectedItems: $scope.grid2SelectedRow,
        columnDefs : [
                      { field : 'budgetCode',  displayName : '預算別', 
                        width: 150, cellClass: 'text-left'},
                      { field : 'debtCode',    displayName : '債務別', 
                        width: 150, cellClass: 'text-left'}, 
                      { field : 'issueAmount', displayName : '發行額', 
                        width: 170, cellClass: 'text-right'}, 
                      { field : 'realAmount',  displayName : '實收額', 
                        width: 170, cellClass: 'text-right'},
                      { field : 'debtName',    displayName : '利率%',  
                        width: 170, cellClass: 'text-left'}],
        enableColumnResize :true,
        i18n:'zh-tw',
        multiSelect : false
};

If I would like to add 1000 separator to issueAmount(發行額) and realAmount(實收額) column, how to do it?


Solution
Just add cellFilter:'number' to issueAmount(發行額) and realAmount(實收額) column definition.
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
 $scope.dbm100eFormGrid2 = {
         data : 'dbm100eFormGrid2Data',
         selectedItems: $scope.grid2SelectedRow,
         columnDefs : [
                       { field : 'budgetCode',  displayName : '預算別', 
                         width: 170, cellClass: 'text-left'},
                       { field : 'debtCode',    displayName : '債務別', 
                         width: 170, cellClass: 'text-left'}, 
                       { field : 'issueAmount', displayName : '發行額', 
                         width: 170, cellClass: 'text-right', cellFilter: 'number'}, 
                       { field : 'realAmount',  displayName : '實收額', 
                         width: 170, cellClass: 'text-right', cellFilter: 'number'},
                       { field : 'debtName',    displayName : '利率%',  
                         width: 170, cellClass: 'text-left'}],
         enableColumnResize :true,
         i18n:'zh-tw',
         multiSelect : false
 };
  
  

Check the result :


Reference
[1] https://github.com/angular-ui/ng-grid/wiki/Defining-columns

2015/03/06

基金賣出法則

The intelligent investor有提到幾個可以把此檔基金賣出的信號:
  • 投資策略大改變 (如價值型基金突然買進科技股、成長型基金突然買進保險股)
  • 突然增加基金費用
  • 基金公司突然頻繁的交易
  • 突然的不穩定的收益(如突然的巨額收益或損失)
但是其實有些資訊,一般投資大眾並不是很容易取得,只能自己去搜尋

例如如果要看該筆資金的投資策略的話,有幾個步驟 (但是還是不知道如何判斷此家基金公司是否有頻繁的交易)
  1. 境外基金觀測站 尋找 ISIN CODE
  2. 根據所查詢到的ISIN CODE 貼到 http://funds.ft.com/uk/ 查詢 
  3. 找出該筆基金後,scroll down到下方查詢Top 10 holdings,就可以看到Top 10 holdings近一年來的持股增減

如果是定期定額買進基金的話,觀察交易費用則相對簡單,只要看每個月被扣的手續費即可


基金收益的部分,各家銀行或者是一些理財網站都有提供各檔基金淨值的走勢圖

如果覺得收集以上資訊很麻煩的話,可以採納Graham的觀點:
  • 如果你的投資週期可以持續至少25或30年,唯一的投資方式是:每個月定期定額買進。投資標的最好的選擇就是買入指數型基金(total stock-market index fund),只有在你需要現金的時候才賣出
  • 每月定期定額買進index funds,經過二十年,你會發現你的績效打敗大部分的理財專家。
  • 不要想預測未來股市,你應該做的是定期定額投資,讓你的投資變成autopilot mode,你該專注的是你的long-term financial goals,而不是預測未來股市。

2015/03/04

基金挑選法則

The intelligent investor此本書有提到幾個挑選基金的概念

  • 根據研究證明,基金收取的費用越高,其未來的收益會越低。High returns只會是暫時的,但是high expenses卻是固定的
  • 在挑選基金的時候,記得把fund expenses當作第一優先的過濾條件。未來的收益無法預測,但是fund expenses則是唯一可以預測的,故若兩個表現差不多的基金,挑選fund expenses較低的那檔基金 
  • 不要只單看過去的績效來預測未來的績效,過去的贏家常常是未來的輸家,但是過去的輸家未必會是未來的贏家。所以,挑選基金時,避免挑選績效一直表現不好,且fund expenses高於平均的基金

基金的費用可以到晨星網站查詢。舉個例子來說,假設這是一份基金的排名,且我對安本環球 - 世界股票基金A2天達環球策略基金 - 環球策略股票基金 A 累積股份這兩檔基金有興趣

我們可以點選進去這兩檔基金的費用,檢視其費用的差異,圖中總開支比率就是這檔基金一整年會收取的費用,包含 與基金管理及運作相關的支出相對基金資產總值的總開支比例,一般計入管理費及其他所有開支包括交易費、法例相關費用及其他運作及行政費用。



按照Graham的挑選基金的原則,就會挑選安本環球 - 世界股票基金A2此檔基金,因為其fund expenses較低

Reference
[1] http://www.amazon.com/The-Intelligent-Investor-Definitive-Investing/dp/0060555661
[2] http://tw.morningstar.com/ap/main/default.aspx

How to read characters in a string in java

Requirement
If I have a String "(預)     16,276.22"
I would like to parse this String and get "(預)     " and "16,276.22" separately.

How to do
Here is the sample code:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
String str2 = "(預)     16,276.22";
String numericString = "";
String nonNumericString = "";

char[] str2Array = str2.toCharArray();
for (char c : str2Array) {
    // print each character
    System.out.println("character = " + c);
    if (StringUtils.isNumeric("" + c) || ",".equals("" + c) || ".".equals("" + c)) {
        numericString += "" + c;
    } else {
        nonNumericString += "" + c;
    }
}
// print numberic part
System.out.println("numericString = " + numericString);
// print non-numeric part
System.out.println("nonNumericString = " + nonNumericString);

debug message:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
character = (
character = 
character = )
character =  
character =  
character =  
character =  
character =  
character = 1
character = 6
character = ,
character = 2
character = 7
character = 6
character = .
character = 2
character = 2
numericString = 16,276.22
nonNumericString = ()     



How to convert a char to a string in Java

Problem
I have a char and I need a String.
1
2
char c = 'a';
String s = c;

But eclipse complain it has compile error : Type mismatch: cannot convert from char to String

Solution
String concatenation can fix this type mismatch error:

1
2
char c = 'a';
String s = "" + c;


Reference
[1] http://stackoverflow.com/questions/8172420/how-to-convert-a-char-to-a-string-in-java

2015/03/01

[閱讀筆記] 最困難的事別交給最有能力的人 - Part 1


  1. 達成共同的目標就像膠水,可以迅速把團隊成員凝聚在一起。
  2. 一團和氣,一敗塗地。
  3. 一般人討厭被管,但喜歡有人帶。
  4. 只有管理沒有領導,只能激發出稱職的表現,主管雖然可以掌控團隊,團隊還是沒有全力以赴的動力。
  5. 加上領導,就能激勵員工加倍努力,表現也會更上一層樓。因為替卓越的領袖工作,員工會受到適當的鼓勵、支持與信任,也因此願意貢獻所長,覺得未來充滿希望,也能自由發揮。
  6. 計畫人人都會訂,重點是如何去執行。
  7. 如果需要無法掌握的人的合作才能完成,就不要設deadline,而是設定績效目標和策略目標。
  8. 明確地說『不』能讓你的團隊更獨立,也更有生產力。拒絕也許是最好的回應,你說『不』的次數夠多嗎?
  9. 老子曾說:『人待我以不智,仍應明智以對。』
  10. 讓員工自己訂目標,更容易成功
  11. 要確保團隊成員都能清楚看到目標,主管必須採取更明確的行動,一定要讓員工知道什麼人、什麼時候需要達到什麼目標、標準為何,以及可能要付出什麼代價。
  12. 一個人能達成目標,很大的原因是因為目標一開始是他們設定的,而且他們會不時審視目標、想像自己時間目標的模樣。所以,你要協助員工定下自己的目標,這麼做可以引導行動,幫助他們更容易實現目標。
  13. 主管要經常談論目標,描繪出令人難忘的成功畫面,以確保大家沒有隨著日常工作的忙碌而淡忘。團隊成員都必須了解自己在整體目標裡扮演什麼角色,明白自己的貢獻加上團隊其他成員的貢獻,如何一起促成團隊的功能。
  14. 如果不知道自己要去哪裡,最後很可能走到別的地方。
  15. 根據研究顯示,女性同時處理七件工作時,會達到臨界點,男人則是五件。
  16. 如果讓員工專注於少量的工作或目標,他們就能很有效率。不過,數量如果太少,有些人會覺得工作內容重複、枯燥,熱情就會漸漸消失,生產力也會隨之下降;如果太多,就會開始出錯,球就會掉到地上。
  17. 替團隊成員設定目標和任務時,要避免列出一堆包羅萬象的責任,相反的,你要替團隊成員寫下明確的目標,最多不能超過七個,實際數量是五個,三個以內又更好。這樣你更可以看到符合期望的結果。
  18. 只有聰明絕頂的人,才能同時抱持兩種相互矛盾的想法而無礙思考。
  19. 一艘船不能有兩位船長。如果一名員工得聽兩個老闆下指令,三個人都會變得很沒效率。
  20. 所有主管都有不受歡迎的時候,主管的工作就是這樣。不過,雖然你不能遠永受員工喜愛,你還是可以永遠受尊重,這是遠比受歡迎更為重要的事。
  21. 想避免批評,就什麼都不要做、什麼都不要說、當個沒價值的人。
  22. 把遠慮轉化為先見之明和周詳的規劃。
  23. 讚美別人的行為,等於鼓勵更多好的行為,也滿足人想好好做事、得到更多讚美的心願。
  24. 稱讚任何好表現,等於掌握了讓人奮力而為的力量,也能強化這些力量,使其超越我們所認知的範圍。
  25. 找出團隊中吃苦耐勞的員工,仔細觀察他有沒有疲憊的跡象,你要幫他控制步調。這種人不會承認自己負荷不了,這是他們的特質。但無論對方如何抗拒,你都要在必要時讓他們休息充電、恢復精力。
  26. 吃苦耐勞的馬,身上總是套上最多馬鞍。
  27. 今天的問題往往是昨天工作品質不佳的後果,要想辦法避免相同的問題再次發生。
  28. 團隊中如有喜歡引人注意的人,過沒多久,團隊其他成員會覺得自己沒有得到足夠的關注。更糟的是,你發現大家都不再把心思放在目標上,而是爭奪注意力。
  29. 需要大量關注的人,不會改變一生的習慣。你可以交付他更多的工作,讓他沒有時間鬧事。如果這個方法還不奏效,只能請他離開。
  30. 行動助長信心,讓信心更堅定;任何形式的不行動都會助長恐懼。想打擊恐懼,就要行動;想讓恐懼增加,就等待、拖延、待會再做。
  31. 一個人為了逃避思考,一定會想盡各種辦法。
  32. 釋放天生的生產力,我們需要
    • 知道目標是什麼,也看得到成功的模樣、明白成功的感覺
    • 相信自己正朝著目標前進
    • 專注於實現目標,拋開對實現目標沒有幫助或幫助不大的事務
  33. 想提高生產力,就要確定員工知道目標、了解目標,並在達成目標時,鼓勵他們享受成功的滋味。過去的事就不要追究,鼓勵員工再剩下的時間從事有生產力的工作,不要在乎過去浪費了多少時間,明智的投資時間,從現在開始。
  34. 不要忘記獎勵有生產力,每天都有工作進展的員工,很多主管都忽略了這點,只注意到要獎勵重大醒目的成就。平日的生產力同樣值得表揚,因為生產力一定會帶來成就。
  35. 生產力是與生俱來的特質,不是後天學得的技能。
  36. 在職場上,緊急和重要往往南轅北轍,不斷爭奪你的注意力,把你往相反的方向拉。
  37. 急著想幫助同事的心態是『緊急』對上『重要』的陷阱之一。到頭來員工可能發現自己一直在做別人的事,自己的工作卻進展有限。
  38. 有些事你就是做不完。時間永遠不夠,本來就不可能做完所有的事,因此你要一重要性安排工作,才能優先處理最重要的事物。
  39. 緊急的事情,不等於重要的事情
  40. 最重要的事絕不能任憑最不重要的事擺佈。
  41. 一項比較困難的工作,並不代表他在完成後一定能創造出更大的成果、更多的利潤、或更大的成就。根據經驗顯示,結果通常剛好相反,那些難搞的工作往往在時間和精神的投資報酬率表現最差。
  42. 讓最優秀的人才專注在能夠帶來最大報酬的任務上,就可以成就更多,而團隊整體成果也可能會一飛沖天。想要創造出最佳的成果,就要讓最好的人才去執行機會最大的任務。
  43. 為了要向北走,有時候可能必須先往南走一段路。
  44. 在工作上,推理能力除了用來作決策,也包括隨後所採取的行動。
  45. 比較不聰明卻又野心勃勃、充滿自信的人,往往會在擁有決策權時造成危害。
  46. 每當有困難的工作必須完成的時候,我就會把它交給一個懶人;他還真能找到簡單的方法完成它。
  47. 你要灌輸員工一個道德觀念,即使他們需要告訴你的是個壞消息,你也期望得到坦率、誠實而真誠的回答。
  48. 一旦團隊學會安排工作的先後順序,你就可以放心讓他們在不求助你的狀況下做出更多的決定,這樣一來,團位的整體生產力還能變得更好。
  49. 你必須狠心地對瑣事視而不見,才有時間解決最重一的問題,同時,你也應該盡可能把工作分配出去。你該做的是讓你的團隊在最少的督導範圍內,做出他們自己該做的決定。因為如果你不讓他們為己的工作成果負責時,他們就會開始忙著做其他的事。
  50. 當一個人被剝奪做出重要決策的機會,它就會開始把所有能做的決定,都當成是重要決策。他會開始挑剔歸檔的方式,強烈希望每支鉛筆都被削的很尖,渴望確定窗戶事打開(或關上)的,並且傾向使用兩到三種不同顏色的筆。