<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>同人的生活派對</title>
	
	<link>http://www.lifeparty.idv.tw/blog</link>
	<description>君子學以聚之,問以辨之,寬以居之,仁以行之</description>
	<lastBuildDate>Sun, 08 Nov 2009 01:26:42 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/lifeparty" type="application/rss+xml" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item>
		<title>敏捷開發實戰經驗分享會後感</title>
		<link>http://feedproxy.google.com/~r/lifeparty/~3/5etYlJyS2Ms/2114</link>
		<comments>http://www.lifeparty.idv.tw/blog/archives/2114#comments</comments>
		<pubDate>Sun, 08 Nov 2009 00:02:52 +0000</pubDate>
		<dc:creator>jim yeh</dc:creator>
				<category><![CDATA[問題解決]]></category>
		<category><![CDATA[學習]]></category>
		<category><![CDATA[專案團隊]]></category>
		<category><![CDATA[專案規劃]]></category>
		<category><![CDATA[專案風險]]></category>
		<category><![CDATA[溝通]]></category>
		<category><![CDATA[生活感觸]]></category>
		<category><![CDATA[職場]]></category>
		<category><![CDATA[開發流程]]></category>

		<guid isPermaLink="false">http://www.lifeparty.idv.tw/blog/?p=2114</guid>
		<description><![CDATA[分享會在台北市電腦公會舉行，看到現場互動氣氛的熱絡，以及會後學員們給予不少正面的評價，感覺大家收穫都不少。其實包括我自己在分享會結束之後也產生了一些想法，倒是想藉由此文章分享我的分享會後心得。]]></description>
			<content:encoded><![CDATA[<p>上個月 24 日應 <a href="http://scmteamwork.blogspot.com/2009/10/agile-development.html" target="_blank">MaoYang 兄之邀</a>，分享我在敏捷開發的實戰經驗。這場分享會還找來了 <a href="http://www.wretch.cc/blog/kojenchieh" target="_blank">David Ko</a> 兄分享他在公司導入 <a href="http://en.wikipedia.org/wiki/Scrum_(development)" target="_blank">scrum</a> 開發管理方法的經驗，同人則負責分享我之前在專案中推行 <a href="http://en.wikipedia.org/wiki/Extreme_Programming" target="_blank">extreme programming</a> 工程實務的經驗。分享會在台北市電腦公會舉行，看到現場互動氣氛的熱絡，以及會後學員們給予不少正面的評價，感覺大家收穫都不少。其實包括我自己在分享會結束之後也產生了一些想法，倒是想藉由此文章分享我的分享會後心得。</p>
<p>同人很喜歡 David Ko 兄提到愛因斯坦為 <a href="http://www.brainyquote.com/quotes/quotes/a/alberteins133991.html" target="_blank">Insanity</a> 這個字所下的定義：「Doing the same thing over and over again and expecting different results」我認為這個定義很貼切地描寫許多人在軟體開發過程所展現的心態；過去做過行不通的做法，卻認為在今天可以行得通，結果讓人一直瘋狂或是不斷地精神錯亂。</p>
<p>但為什麼人們要盲目地做些行不通的事呢？其實以同人這麼多年軟體開發的經驗來看，他們不見得是意識不到這些做法行不通，而是可能因為害怕與恐懼，讓他們不敢嘗試新的方法來解決問題。</p>
<p>縱使無法解決問題的挫折是令人沮喪的，但如果要放棄過去習慣的做法來開發系統，他們更會茫然不知所措，擔心因此對現況失去掌控能力。於是明知過去的做法有問題，但更害怕失去它就會一無所有，於是只好將它緊緊地捉在手上，並期待這一次會有奇蹟出現，改寫過去失敗的命運。</p>
<p>不過如果人們理性一點，都會意識到要改變命運不應該期待奇蹟，而是需要「勇氣」讓我們改變心智模式，然後採用有效的方法來解決問題。在這方面，同人覺得比較幸運的是我常碰到好主管，能夠支持我想要把事情做好的想法。</p>
<p>記得過去的主管 Y.L. Liu 曾經告訴過我的話：「如果過去這樣做行不通，那今天就應該嘗試不一樣的做法」即使改變必然會遭遇到阻礙，然而當我們勇於面對阻礙而因應問題時，才能促使我們打破過去的習慣來進行有紀律地思考與行動，進而更有效地解決問題。</p>
<p>紀律，也就是 discipline 這個字。它的意義並不是做我們過去熟悉的事，而是熟悉了解問題是什麼，並加以解決問題的過程。如同我<a href="http://www.lifeparty.idv.tw/blog/archives/175" target="_blank">過去的文章</a>所強調的，軟體開發不只是工程，或是工藝，而是解決問題的過程。敏捷開發其實並非依賴制式的軟體開發流程或方法，而是基於重要價值觀與原則發展出來的實務，而最重要的價值觀就是為了思考如何「解決問題」，至於使用流程方法都只是手段而不是目的。</p>
<p>然而，根據同人的經驗，想要軟體開發過程運用以上的觀念，我認為最困難的是對專案目標的混淆。在這次的分享會之中，同人也發現有些 PMP 背景的朋友，他們很關心如何準確預估專案的範圍、時程與資源，因此希望了解敏捷開發如何來解決這樣的問題。但其實敏捷開發方法根本不需要做精確的預估，因為改變是無法預估的。所以它強調的是反應變化的能力，而不去為預期或抑制變化做太多的努力。</p>
<p>或許有人會把精確的專案預估，看成是專案成功的重要目標之一。但以同人這位 PMP 對專案管理的認知來看，精確預估並非專案的目標，而是達成降低專案風險目標的手段之一。或許用這種手段來蓋房子，或生產看得到、摸得著，可以明確度量的產品可以做得很好，但用它來開發軟體卻不見得可以行得通。</p>
<p>我們應該改變對軟體開發專案的傳統思維；假如軟體開發的本質，就是難以精確預估，那麼我們就不該將力氣浪費在預測上，而是應該用來進行對專案更有效益的事情上。但這不代表敏捷開發方式不做規劃，而是規劃的重點不在精確地預測未來，而是用來定義專案的基準線；利用每一次的反覆過程的回饋，用來改善或調整後續的計劃，以增進我們回應變化的能力。</p>
<p>因此，使用敏捷開發我們不需要具細彌遺地預測未來的改變，只需集中心力面對今天所發生的問題。換句話說，開發者也不需要一份不會變更的功能需求清單，而是了解專案目前所要解決的實際問題，進而<strong>運用</strong>(adopt)思考及創意、<strong>調適</strong>(adapt)方法然後再<strong>熟練</strong>(adept)所需要的技能來解決問題。</p>
<p>那麼，以上敏捷開發的思維是否打破專案管理的基本觀念？同人從不認為如此。依照 <a href="http://en.wikipedia.org/wiki/A_Guide_to_the_Project_Management_Body_of_Knowledge">PMBOK</a> 的專案管理知識領域與流程本來就支援管理改變的做法，問題只在於管理者是否掌握住變更管理的重要原則並熟練它們：</p>
<blockquote><p>首先、必須確認改變對專案有正面效益；</p>
<p>其次、必須確認影響變更的因素已發生；</p>
<p>最後、最重要的是管理變更。（PMI，2000）</p></blockquote>
<p>我們看到這些原則不但並不違背敏捷開發的思維，同時兩者是相通並且相輔相成的。的確，對於軟體專案而言，改變意味著增加軟體開發的風險，但害怕專案風險的心態，也代表你的團隊面對風險只能迴避它們以確保安全，但你所獲取的利潤也相對變得較低（<a title="More about Peopleware" href="http://www.anobii.com/books/Peopleware/9789867889645/01dc7d45cbe3e8fadc/" target="_blank">DeMarco &amp; Lister，2007</a>）。於是你必須辛苦地在市場上試圖降低軟體價格來與對手競爭，除非你能夠勇敢地面對挑戰，選擇快速回應變化才會創造機會，為專案產生更大的正面效益。</p>
<p>那麼對於環境或需求的變化，軟體開發團隊要如何快速回應呢？依據同人的經驗，大規模的事先設計（BDUF，Big Design Up-Front）通常無法立即迅速地反應變化，而且常常會造成過度的工程化（over engineering）的問題。而依賴開發組織導入某些流程、工具或方法論其實也並非成功的關鍵。我認為只有增進團隊溝通與合作，讓團隊能為面對問題而共同努力，才能夠快速地回應變化。</p>
<p>或許有人會認為詳盡的文件可以增進溝通，但實際上它的成效不高而且常常要人們花費很多的心力，除非你發現它真的有幫助，否則你應該只需要<a href="http://www.lifeparty.idv.tw/blog/archives/1113" target="_blank">寫必要的文件</a>。雖然工具或方法論可以增進開發的效率，但它們也會讓工作變得艱難。因為無法被替除的工作，它們是更具備知識密集的特性，需要更有才幹的人來完成任務（DeMarco &amp; Lister，2007）。所以在導入任何工具或方法論之前，你應該提醒自己，<strong>敏捷開發是以人為基礎，面對的是現實而非理想</strong>。</p>
<p>誠如 David Ko 在分享會中說得好，任何方法的導入如果最後變成政令宣導時，那就非常不妙了。同人則以為快速回應的關鍵不在於遵循方法論的做法，而在於面對專案的現實問題，讓團隊共同因應問題而改變。David Ko 提出了很多他的專案所導入的做法，同時分享他感受到團隊成員自動自發的喜悅，也讓同人希望能夠見賢思齊。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lifeparty.idv.tw/blog/archives/2114/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.lifeparty.idv.tw/blog/archives/2114</feedburner:origLink></item>
		<item>
		<title>有關「好人從政」的理由</title>
		<link>http://feedproxy.google.com/~r/lifeparty/~3/RjMiyvahlVg/2038</link>
		<comments>http://www.lifeparty.idv.tw/blog/archives/2038#comments</comments>
		<pubDate>Fri, 30 Oct 2009 10:21:34 +0000</pubDate>
		<dc:creator>jim yeh</dc:creator>
				<category><![CDATA[學習]]></category>
		<category><![CDATA[思考]]></category>
		<category><![CDATA[新時代]]></category>
		<category><![CDATA[易經思維]]></category>
		<category><![CDATA[生活感觸]]></category>
		<category><![CDATA[閱讀]]></category>
		<category><![CDATA[領導]]></category>

		<guid isPermaLink="false">http://www.lifeparty.idv.tw/blog/?p=2038</guid>
		<description><![CDATA[同人在最近幾年來隱隱覺得，現今在政治上握有權力的人，總是認為自己具有「好人」的形象，所以應該治理別人來糾正別人的錯誤。但慢慢地，人們發現所謂的「好人」並沒有足夠的領導能力來治理人民，而當他們在面對質疑時，卻表現出態度上的傲慢，讓我們不禁開始懷疑讓好人從政的理由，是否真的足夠充份呢？]]></description>
			<content:encoded><![CDATA[<p>前一陣子在河道上，看到 <a href="http://www.plurk.com/Zulu_Chang">Zulu</a> 分享〈<a href="http://yichungchang.spaces.live.com/blog/cns!7297795018C876FA!456.entry" target="_blank">好人從政的理由</a>〉，引起同人的興趣，就<a href="http://www.plurk.com/p/2bx0uh">和他討論了這個話題</a>。</p>
<p>Zulu 的文章提到蘇格拉底和格勞孔的對話。蘇格拉底說，沒有人願意甘願當統治者去糾正別人的惡，因為在統治發布命令的時候，並不是為了統治者，而是為了被治理的對象。所以我們想要讓有人願意擔任這種工作時，必須給予他名或利，如果他不願意，就給予懲罰。</p>
<p>格勞孔不大明白蘇格拉底提到用懲罰來當做報酬的道理何在。蘇格拉底說，懲罰可以使最優秀的人來領導人民，他們視貪圖名利為可恥。因此，好人不肯為了名利當官。他們不肯因擔任治理工作公開領取報酬，而被當成佣人，更不肯假公濟私，暗中舞弊，被人當作小偷。名譽也打動不了他們，因為他們並沒有野心。於是要他們同意當官，就只能用懲罰來強制了。</p>
<p>蘇格拉底提到大家看不起那些沒有受到強迫，就自己想要當官的人。但最大的懲罰莫過於，自己不去管人，卻被更壞的人管了。他認為好人最怕這種懲罰，所以勉強出來。他們不是為了自己的榮華富貴，而是迫不得已，實在找不到比他們更好，或同樣好的人來擔當這個責任。</p>
<p>蘇格拉底以為，假如全國都是好人，大家會爭著不當官，就像現在大家爭著當官一樣熱烈。這樣就可以清楚看到，一個真正的統治者追求的不是他自己的利益，而是被統治者的利益。所以聰明人寧可服從他人，也不願要他人服從自己。</p>
<p>以上有關「好人從政」的觀點，同人一開始沒有看得很清楚，以為與中國人的傳統觀念是相違背的。我想到〈論語述而篇〉的一段對話：</p>
<blockquote><p>子謂顏淵曰：「用之則行，舍之則藏，惟我與爾有是夫。」子路曰：「子行三軍，則誰與？」子曰：「暴虎馮河，死而不悔者，吾不與也。必也臨事而懼，好謀而成者也。」</p></blockquote>
<p>Zulu 也提到論語也說「邦有道則現，無道則隱，又說，危邦不入、亂邦不居。」他指出孔子對自己的家鄉沒有民族主義式的情感。</p>
<p>因此，從中國的傳統觀念看來，在世道混亂之際，具有德性與才能的君子不該淌政治的渾水，似乎與蘇格拉底認為應該用懲罰來迫使好人從政的觀點是相違背的。不過，同人後來仔細地看這篇文章，終於看懂這篇文章所要表達的觀念。</p>
<p>同人發現其中的關鍵就在於好人如果不從政，那被壞人治理，反而會讓人們受到更大的危害，這樣對好人算是難以接受的懲罰，而迫使他們出來從政。不過，觀察台灣的政治圈，好像大多的政治人物都說自己從政不是為了名利，而是為了服務大眾。然而在政治上，鮮少看到有人爭著不要做官，而表面上說自己不慕名利的人，卻還是常常看到他處處在算計自己的政治利益。</p>
<p>同人在最近幾年來隱隱覺得，現今在政治上握有權力的人，總是認為自己具有「好人」的形象，所以應該治理別人來糾正別人的錯誤。但慢慢地，人們發現所謂的「好人」並沒有足夠的領導能力來治理人民，而當他們在面對質疑時，卻表現出態度上的傲慢，讓我們不禁開始懷疑讓好人從政的理由，是否真的足夠充份呢？</p>
<p>就像當年胡自強先生戲稱「拋磚引玉」，引出馬英九先生出馬競選台北市長的場景一樣，這正是「人們看不起<span>那些沒有受到強迫，就自己想要當官的人」的有力寫照。馬英九說他不忍心好友擔負起那麼大的壓力與責任，於是趕在前面宣布參選。或許也是因為這種不得不從政的形象，而讓他獲得當票當選台北市長。但同人今天已經不再相信馬英九當年選台北市長是迫不得已的，而我們看到的可能只是一場政治操作的策略而已。</span></p>
<p>Zulu 問我那是不是代表馬英九很奸詐？對這個問題同人沒有確定的答案，因為我不知道他從政的動機是為了自己還是為了別人好。但據説五百年才會出現一個聖人，而身為凡人能夠為不為自己好而為別人好的人實在太少了，因此我們不該期待政治人物不為私利而只為公眾利益。Zulu 說得好，我們都被馬基維利騙了，以為政治人物應該人格崇高。其實他們只是演員，負責讓劇情發展到人民期望的樣子。</p>
<p>因此，討論到這裡，同人認為還是讓正常人來領導人民吧！Zulu 則認為正常人享有太大的權力，就會變得不正常。但如果正常人享有太大的權力就會變得不正常，那麼過去未經過個人利害關係試煉的「好人」，會不會也開始追求榮華富貴更甚於人民的福址呢？</p>
<p>Zulu 說在蘇格拉底的年代，當時的希臘公民一般來說並不工作維生，大家都過得很逍遙。這樣看來古時候做好人比較容易，不像今天要「在亂世中做人」實屬不易。從荀子的性惡觀點，我們可以看到「人之生固小人」的觀念，認為人原初即是鄙陋的，即是「小人」：</p>
<blockquote><p>人之生固小人，無師無法則唯利之見耳！人之生固小人，又以遇亂世得亂俗，是以小重小也，以亂得亂也。君子非得勢以臨之，則無由得開內焉。－－《荀子‧榮辱》</p></blockquote>
<p><a title="More about 在亂世中做人" href="http://www.anobii.com/books/在亂世中做人/9789576221989/01ff64d87389d5382e/"><img style="padding: 5px;" title="More about 在亂世中做人" src="http://image.anobii.com/anobi/image_book.php?type=4&amp;item_id=01ff64d87389d5382e&amp;time=1256883364" alt="More about 在亂世中做人" align="right" /></a>如同同人閱讀《<a title="More about 在亂世中做人" href="http://www.anobii.com/books/在亂世中做人/9789576221989/01ff64d87389d5382e/">在亂世中做人</a>》的這本書，作者蕭政邦先生所提到的觀點。他提到《荀子》並無貶損人存價值或尊嚴之意。一方面這種見解是為肯定人文教養與人性陶冶的重要性而設，代表重視「教育師法」的功用和價值。另一方面，這種見解肯定人文化成的絕對意義；當人們稟持人文教化與一己的修養，而成為發揚善道的君子時，正顯示人足以透過自身努力以彰顯人存的價值與尊嚴。</p>
<p>蕭政邦認為《荀子》的看法使我們有機會領會「理想的人」其實是「發展性」的個體；不論人性原初具備了什麼特質，「善」總得以在人存的發展過程中逐步實現，甚至即便從一個鄙陋的基點出發，人還是有可能成就完善的人格，這是《荀子》相當特殊而值得重視的地方。</p>
<p>從以上的觀點看來，讓好人來領導國家，未必會為人民帶來福址。因為他可能還沒經過環境無情的考驗，還沒有學會該如何帶領人民迎向幸福，也或者是心態並未調整準備好接受領導人必須面對的挑戰。</p>
<p>畢竟當好人與好的領導者是兩回事的，好人還是必須要學習才會成為好的領導者，而在這之前，君子應沉潛自己來培養君德。《易經文言》九二曰：「君子學以聚之，問以辨之，居以寬之，仁以行之。易曰：見龍在田，利見大人，君德也。」而人民也必須學習認清「好人」的形象也只是政治人物眾多光環效應之一呀。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lifeparty.idv.tw/blog/archives/2038/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.lifeparty.idv.tw/blog/archives/2038</feedburner:origLink></item>
		<item>
		<title>如何在系統失敗前發現錯誤</title>
		<link>http://feedproxy.google.com/~r/lifeparty/~3/vxq9M3bXN9s/2063</link>
		<comments>http://www.lifeparty.idv.tw/blog/archives/2063#comments</comments>
		<pubDate>Mon, 26 Oct 2009 05:40:37 +0000</pubDate>
		<dc:creator>jim yeh</dc:creator>
				<category><![CDATA[CNet/ZDNet]]></category>
		<category><![CDATA[利害關係人]]></category>
		<category><![CDATA[問題解決]]></category>
		<category><![CDATA[寫作]]></category>
		<category><![CDATA[專案團隊]]></category>
		<category><![CDATA[專案風險]]></category>
		<category><![CDATA[新聞]]></category>
		<category><![CDATA[組織]]></category>
		<category><![CDATA[職場]]></category>
		<category><![CDATA[軟體審查]]></category>
		<category><![CDATA[開發流程]]></category>
		<category><![CDATA[閱讀]]></category>

		<guid isPermaLink="false">http://www.lifeparty.idv.tw/blog/?p=2063</guid>
		<description><![CDATA[這篇文章是投稿 ZDNet Taiwan 的文章原稿，由 ZDNet Taiwan 以〈如何在系統異常前發現錯誤？〉、〈如何在系統異常前發現錯誤？（下）〉兩篇文章刊登。文章原稿未經 ZDNet Taiwan 編輯，內容可能與 ZDNet Taiwan 約略有所不同。
前一陣子有兩個與資訊系統失常有關，而且眾所矚目的新聞事件，也就是戴爾電腦網路購物系統與台北捷運內湖線的系統異常。相信很多人都認為這兩個系統會發生系統異常相當離譜，在系統上線之後才發現系統無法正常運作，造成系統使用者的困擾，同時也會讓人對系統可靠度與穩定度失去信心，而增加系統的失敗成本。
雖然平心而論，想要事前預料系統可能發生的問題，並加以預防或因應其實並不容易，因為開發系統，尤其是軟體開發常會碰到事先難以預料的問題。但如果能在錯誤造成危害之前，就能夠發現問題並採取適當的行動來解決它，應該就能減少系統的失敗成本。因此，看到戴爾與台北捷運內湖線的重大系統異常，讓筆者想探討如何在系統失敗前發現錯誤，以避免系統失敗的巨大損失。
設計不夠好？
戴爾是世界知名的電腦直銷公司，擁有 13 年的網路直銷經驗。對於這種有豐富網路直銷經驗的公司來說，系統連續發生產品標價錯誤的問題，實在是一件令人感到不可思議的事情。在戴爾發生第二次標價錯誤事件之後，筆者聽到有一位工程師出身的朋友指出，戴爾筆記型電腦的標價錯誤，是因為他們的系統設計不良。他依據新聞的報導，對比自己的網站開發經驗，認為可以確定這絕對是設計的問題。研判是促銷資料沒有正確關連產品資料，才會發生這種錯誤。
從戴爾回應外界連續標價錯誤事件的說法，第一次錯誤定位為人為作業疏失，第二次錯誤是因為系統異常。這麼看來朋友的說法似乎有些道理，但從系統開發流程的角度來看，卻讓筆者產生一個疑問。如果是因為設計有問題，應該是可以在系統正式運行前被測試出來，但為什麼要直到錯誤釀成災禍才被使用者發現？朋友表示要做到完整測試系統是很困難的，還不如把系統設計做好，這樣系統自然不會出錯。
在觀念上，我同意朋友的說法，因為好的設計的確可以減少系統發生錯誤的機會。但問題是朋友的想法在實務上卻有操作上的困難。因為設計夠好是很難被清楚定義，尤其是在專案時程及資源有限的情況下，想要設計出可以在各種情況下適用的系統是非常困難的。面對系統運作環境與需求變化無常的情況下，設計通常只是一種權衡與取捨之道；沒有可以解決所有問題的最佳設計，只有針對解決重要問題的最適當設計。
如果我們不能定義出具體明確的系統問題，所謂的較好的設計也只不過對未來可能變化的假設所做的設計，但實際上未來的變化可能會出乎我們的意料之外。當我們對系統的假設不再成立時，就會產生系統可能發生異常的風險。因此，戴爾出現系統異常的原因，問題的關鍵可能並不在設計的好壞，而是沒有掌握好問題的複雜度；今天系統碰上比過去更複雜的問題，是當初設計系統之時所沒有想到的情境。
造成錯誤的原因
從筆者過去系統開發的經驗顯示，過去長期運作正常的系統，經常會因為運作環境發生變化，而使系統在現今發生功能失常。我想戴爾的情況應該也是類似的狀況，否則如果是設計有問題，就很難解釋為什麼過去運作正常的系統，會在今天出問題。如同商業周刊的評論「戴爾烏龍 在於沒換腦袋」所提到的：
戴爾系統無法偵錯的關鍵——戴爾仍以經營企業顧客的思維在做消費者生意，否則怎會沒把消費者異常下單行為納入管理流程？
戴爾成立以來都是以企業市場為重，占營收比重超過八成。直到二○○七年才進入消費市場，這是很大的突破，因為經營企業市場，客戶數量少，強調服務與產品穩定度，但經營消費市場，客戶數倍增，就必須靈活彈性。
但此次事件讓我們看到，即使經歷兩年，戴爾網路系統的「腦袋」還沒轉過來，管理階層也是一般。
從戴爾大中華區中小企業處許肇元的說法，我們也可以了解戴爾系統異常的問題。網路上有一篇 jeremy 寫的專訪中提到許肇元對短短 10 多天連續出了兩次錯誤的解釋：
「因為我們成長的速度太快，而系統並沒有配合我們的成長。像是我們的訂購流程，每個零組件都可以客製化，訂一台筆電的流程換算下來就幾十個關卡，每個關卡都跟價錢有關，牽一髮而動全身。這次事件中，我們真的學到很多，也重新檢視了我們的系統。」
這更讓人相信，問題的關鍵並非單純的系統單一功能失常，而是戴爾忽略了商業模式改變會對系統產生影響，而沒有做好事先預防與事後可以及時因應的準備。
由此可知，造成戴爾系統發生錯誤看起來並非出在各部分功能的問題，而是系統整體整合出現問題而造成系統異常。那麼台北捷運內湖線的系統異常是不是也是相同的問題？從相關新聞報導我們發現，系統發生錯誤的原因也是因為系統沒有整合好，內湖線無法順利整合木柵線舊有系統。這大概從決策當局決定採用規格無法統一的中運量的系統，以及冒險採用無線通訊新技術時就已經註定了這樣的結果。再加上測試時間不足，自然會使品質問題更加雪上加霜而惡化。
造成系統失敗的條件
如果戴爾電腦和台北捷運內湖線的系統異常，種種跡象都顯示是整合出現問題，那麼我們不禁要問：為什麼它們的整合都會出現問題呢？從筆者系統開發的經驗來看，我相信是因為系統整合牽涉的問題太多或是太複雜，使得開發者難以掌握。再加上人們在尚未意識到系統的複雜度之前，常會認為自己有能力解決所有的問題，但實際上他們想要這樣做卻做不到。一言以敝之，系統失敗的根源其實是來自於人性的弱點，雖然這個真相往往被硬體、作業系統或平台的功能失常所掩蔽。
如同著名的軟體工程顧問溫伯格在《第一級評量》提到，造成軟體系統失敗的條件有八個 F，它是分別是弱點（Frailty）、愚蠢（Folly）、執迷不悟（Fatuousness）、好玩（Fun）、欺騙（Fraud）、狂熱（Fanaticism）、硬體功能失常（Failure）與運氣（Fate）。筆者發現這些造成失敗的條件，其實正是表現人性弱點的不同面向。
弱點
弱點是做想做的事卻做不到，它是軟體失敗的終極源頭。因為人不是完美的，他們做不到設計所要求的，不論那是一個程式設計，或是一個過程設計。溫伯格認為管理階層的責任是設計出一個程序以規範程式如何修改，承認自然界的事實，與確保程序本身被執行。而且他認為人們傾向在發生錯誤後懲罰嫌疑犯其實很不好，因為他會讓人隱藏錯誤、浪費時間在找嫌疑犯、以及分散注意力忽略管理階層的責任；建立並執行能及早找出失敗，並預防悲慘後果的程序。
愚蠢
愚蠢是做到想要做的事，但它卻是錯的事。愚蠢的基礎是無知，雖然它在當下沒有發生錯誤，卻會在以後造成錯誤。不過透過學習可以改善無知，進而將愚蠢矯正過來。溫伯格認為建立完整訓練師徒制、技術審查計劃、提供落實計劃的支援，是管理階層可以用來矯正愚蠢的職責。
執迷不悟
執迷不悟是指不肯學習，一直做出蠢事，一次又一次的做。此外，想要管理好一個愚蠢的人，卻不提供他根除愚蠢所需的訓練和經驗，這也算是一種執迷不悟的行為。溫伯格認為在軟體工程機構中，除了把執迷不悟的人送到其它行業去，否則沒有什麼防護措施可以抵擋執迷不悟的人。
好玩
好玩是程式設計師會寫一些奇怪的程式來為自己找樂子，溫伯格認為沒有人能夠預測別人認為好玩的事是什麼，因此好玩的心理是所有失敗的源頭中最危險的一個，因為它防不勝防。但管理者應該提供預防之道：一是開放透明的系統，另一個則是讓單單工作本身具有足夠的趣味。
欺騙
欺騙是用非法的方式從一個系統中獲取個人利益。溫伯格認為好玩是在失敗的源頭中，帶來的最小的損失。因為一個系統找樂子的方法有千百種，但值得一偷的東西卻沒多少。他認為軟體工程經理要好好閱讀以資訊系統詐騙為主題的文章，並採取一切可能的預防措施來防堵它。
狂熱
狂熱是試圖摧毀或瓦解一個系統，而原因不是為了個人利益，而是為了報復。溫伯格認為防範弱點而採取的行動中，多數也可以減少恐怖份子所造成的威脅與影響。
硬體功能失常
溫伯格提到硬體若不能造著當初設計的目的而執行工作，就會造成功能失常的現象，這類問題多半可以用軟體來克服。他認為當人們抱怨硬體造成他所寫的軟體出問題時，我們應該找出它表達的意思，以免遺漏這句話所帶來的重要資訊：

硬體沒什麼大不了的功能失常，但程式設計師需要找藉口來隱瞞一些事實。
 硬體功能失常問題都在一般的預期範圍內，可能程式設計師沒有採取正確的防護措施。例如將程式碼或測試腳本做備份。
硬體功能失常，但沒做妳硬體供應商關係的管理工作。
硬體功能失常是由人為錯誤所造成的，如使用者做出出乎意料的動作。

運氣
溫伯格指出運氣不好是多數表現不佳的經理愛用藉口，這不是事實。他建議當我們聽到一個經理老愛說運氣不好時，我們應該把運氣兩字換成經理，因為沒有不好的士兵，只有不好的軍官。
系統異常與人性弱點
從以上造成系統失敗的條件我們可以知道，系統發生異常的原因可能是系統的設計不夠好、硬體設備或作業系統出錯或是系統運作的環境太複雜了，但發生問題的真相卻都大部份是因為人性的弱點。因此，要在失敗前發現錯誤，進而採取行動防止系統失敗，重點管理好人性弱點，而非不承認它的存在，卻只在事後責備人們沒有盡到責任，但事實上最大的責任是管理階層沒有盡到管理的責任。
例如在台北捷運內湖線在 7/10 發生系統大當機的事件後，當外界質疑為什麼發生這麼嚴重的當機事件時，筆者注意到有一篇新聞報導提到市府官員有人表示「這個問題，80 % 是因為電腦中毒」言下之意系統異常多半是因為硬體的功能失常所致，而比較不可能是軟體的瑕疵或人為的錯誤。
溫伯格說過「對錯誤的直接觀察，本身並無意義，但是對『人們作何準備來面對錯誤的發生』的統合觀察就很有意義」那位市府官員的說辭，筆者相信只是為了隱瞞了一些事實，以免公布實情而讓損失更加擴大，然而這卻表現反應他們對面對系統錯誤發生的準備並不夠充分。
筆者再舉一位朋友的經驗為例，以前他們公司採用 .Net 開發平台開發新產品。由於他偏好 Java 的程式寫作慣例，加上當時微軟聲稱與 C# 整合不成問題，讓他很想用 J# 程式語言來開發系統。雖然他的同事擔心系統的整合會出現變數而反對，但由於他的堅持，管理階層還是照他的意思，讓他用 J# 開發他的程式，與其他同事以 C# 的程式來進行整合。
後來在整合時，他們發現碰到很多平台上及程式語言本身的問題。為了解決這些問題，他只好修改他的程式以處理這些問題，但也讓系統愈變愈複雜，結果使軟體問題層出不窮。但朋友仍然還是堅持要用他喜歡的方式開發系統，最後在管理階層無法忍受他的執迷不悟，並且在彼此無法達成共識的情況下，要求他離開了那家公司。
從這位朋友的故事中，我們看到他的弱點、愚蠢以及他和管理階層的執迷不悟。他的弱點是想實現他的設計理念並完成不同語言的整合，但後來卻發現這是個艱鉅的任務。在發現了專案時程及市場上的壓力並不允許他實現他的設計理想時，卻一再地堅持做自己想做的事而非應該做的事，這是愚蠢。而與管理階層之間一次又一次想要對方同意自己的觀點，卻又不去理性客觀地評估現實，而只是一廂情願地以為讓對方發現此路不通就會懸崖勒馬，這是他與管理階層的執迷不悟。
朋友的經歷並不是特例，在實際的系統開發專案中，筆者總是看到相同的故事正在持續上演。就像戴爾電腦、台北捷運內湖線發生系統異常的事件一樣，應該發揮效果的程序、流程與方法，在關鍵時刻竟然沒有發揮作用。筆者認為問題的關鍵是在於人性的弱點，我想只有在適當地管理好人性弱點之後，程序、流程與方法才能真正地落實，並且發揮出應有的效果吧。
管理的重要性
如果導致系統異常的關鍵是在於人性的弱點。那麼管理階層就應該負起管理人性弱點的責任，以避免專案因為人性弱點而造成系統異常的意外事件而慘遭失敗。從去年跨年夜發生的台灣大哥大行動電話用戶大當機的事件，又再一次地讓我們看到管理對避免系統異常而造成失敗的重要性。
去年跨年夜，台灣大哥大發生行動電話用戶大當機，經檢調查出是台灣諾基亞西門子公司離職工程師，涉嫌以女友名義登入台灣大資料庫並刪除資料造成大當機，檢方昨天將陳依妨害電腦使用罪嫌起訴。
筆者看到新聞提到那位工程師，否認是遭開除而挾怨報復，只說會這麼做是因為「好玩」。讓我想到溫伯格說的，好玩的心理是所有失敗源頭最危險的一個，因為沒有人可以預測到別人認為好玩的事是什麼。
當然，我想事件的真相應該不是因為那位工程師基於好玩的心理，而是被公司開除而心生報復。造成台灣大哥大系統當機的原因，固然是難以預料到的惡意破壞，但這並不代表這種系統失敗是無法防止的。筆者認為問題在管理上，因為管理階層忽視人性弱點，而沒有盡到管理者應盡的責任。
或許有人會認為筆者這樣說對管理者要求太多了，但如果系統開發團隊沒有紀律來把事情做好，這的確是管理者的問題。管理者設計或制定流程，目的是為了幫工程師把事做好，但如果流程不能落實，那是必然代表管理出現了問題，所以管理者必然難辭其咎。
好比說，為什麼離職員工可以用他離職前的帳號密碼來登入系統，然後做出一些危害系統的行為？又或者，為什麼會讓人興起想要破壞系統的動機，而身為負責系統成敗的高階管理者，為什麼會不去防範可能破壞系統的行為？
因此，即使可能是因為好玩，管理者也要思考如何降低人們為了找樂子而影響系統的動機。如前面所提到過的，讓員工的工作更有趣，同時讓流程更透明。此外，避免員工試圖摧毀或瓦解一個系統，不是為個人利益而是為了報復。管理者應加強防範弱點而採取的行動，因為它們多數也可以減少這種攻擊。
以上這些都是管理者的職責，以避免系統因為人為的疏忽而失敗。總而言之，預防系統失敗，管理最重要的工作就是認清「人的不完美」，才能知道如何管理人性，進而避免發生人為錯誤而造成意外，產生系統的重大損失。
]]></description>
			<content:encoded><![CDATA[<p>這篇文章是投稿 <a href="http://www.zdnet.com.tw/" target="_blank">ZDNet Taiwan</a> 的文章原稿，由 ZDNet Taiwan 以〈<a href="http://www.zdnet.com.tw/enterprise/column/softwaredev/0,2000087962,20141804,00.htm" target="_blank">如何在系統異常前發現錯誤？</a>〉、〈<a href="http://www.zdnet.com.tw/enterprise/column/softwaredev/0,2000087962,20142211,00.htm" target="_blank">如何在系統異常前發現錯誤？（下）</a>〉兩篇文章刊登。文章原稿未經 ZDNet Taiwan 編輯，內容可能與 ZDNet Taiwan 約略有所不同。</p>
<p>前一陣子有兩個與資訊系統失常有關，而且眾所矚目的新聞事件，也就是戴爾電腦網路購物系統與台北捷運內湖線的系統異常。相信很多人都認為這兩個系統會發生系統異常相當離譜，在系統上線之後才發現系統無法正常運作，造成系統使用者的困擾，同時也會讓人對系統可靠度與穩定度失去信心，而增加系統的失敗成本。</p>
<p>雖然平心而論，想要事前預料系統可能發生的問題，並加以預防或因應其實並不容易，因為開發系統，尤其是軟體開發常會碰到事先難以預料的問題。但如果能在錯誤造成危害之前，就能夠發現問題並採取適當的行動來解決它，應該就能減少系統的失敗成本。因此，看到戴爾與台北捷運內湖線的重大系統異常，讓筆者想探討如何在系統失敗前發現錯誤，以避免系統失敗的巨大損失。</p>
<h4>設計不夠好？</h4>
<p>戴爾是世界知名的電腦直銷公司，擁有 13 年的網路直銷經驗。對於這種有豐富網路直銷經驗的公司來說，系統連續發生產品標價錯誤的問題，實在是一件令人感到不可思議的事情。在戴爾發生第二次標價錯誤事件之後，筆者聽到有一位工程師出身的朋友指出，戴爾筆記型電腦的標價錯誤，是因為他們的系統設計不良。他依據新聞的報導，對比自己的網站開發經驗，認為可以確定這絕對是設計的問題。研判是促銷資料沒有正確關連產品資料，才會發生這種錯誤。</p>
<p>從戴爾回應外界連續標價錯誤事件的說法，第一次錯誤定位為人為作業疏失，第二次錯誤是因為系統異常。這麼看來朋友的說法似乎有些道理，但從系統開發流程的角度來看，卻讓筆者產生一個疑問。如果是因為設計有問題，應該是可以在系統正式運行前被測試出來，但為什麼要直到錯誤釀成災禍才被使用者發現？朋友表示要做到完整測試系統是很困難的，還不如把系統設計做好，這樣系統自然不會出錯。</p>
<p>在觀念上，我同意朋友的說法，因為好的設計的確可以減少系統發生錯誤的機會。但問題是朋友的想法在實務上卻有操作上的困難。因為設計夠好是很難被清楚定義，尤其是在專案時程及資源有限的情況下，想要設計出可以在各種情況下適用的系統是非常困難的。面對系統運作環境與需求變化無常的情況下，設計通常只是一種權衡與取捨之道；沒有可以解決所有問題的最佳設計，只有針對解決重要問題的最適當設計。</p>
<p>如果我們不能定義出具體明確的系統問題，所謂的較好的設計也只不過對未來可能變化的假設所做的設計，但實際上未來的變化可能會出乎我們的意料之外。當我們對系統的假設不再成立時，就會產生系統可能發生異常的風險。因此，戴爾出現系統異常的原因，問題的關鍵可能並不在設計的好壞，而是沒有掌握好問題的複雜度；今天系統碰上比過去更複雜的問題，是當初設計系統之時所沒有想到的情境。</p>
<h4>造成錯誤的原因</h4>
<p>從筆者過去系統開發的經驗顯示，過去長期運作正常的系統，經常會因為運作環境發生變化，而使系統在現今發生功能失常。我想戴爾的情況應該也是類似的狀況，否則如果是設計有問題，就很難解釋為什麼過去運作正常的系統，會在今天出問題。如同商業周刊的評論「<a href="http://www.businessweekly.com.tw/webarticle.php?id=37222" target="_blank">戴爾烏龍 在於沒換腦袋</a>」所提到的：</p>
<blockquote><p>戴爾系統無法偵錯的關鍵——戴爾仍以經營企業顧客的思維在做消費者生意，否則怎會沒把消費者異常下單行為納入管理流程？</p>
<p>戴爾成立以來都是以企業市場為重，占營收比重超過八成。直到二○○七年才進入消費市場，這是很大的突破，因為經營企業市場，客戶數量少，強調服務與產品穩定度，但經營消費市場，客戶數倍增，就必須靈活彈性。</p>
<p>但此次事件讓我們看到，即使經歷兩年，戴爾網路系統的「腦袋」還沒轉過來，管理階層也是一般。</p></blockquote>
<p>從戴爾大中華區中小企業處許肇元的說法，我們也可以了解戴爾系統異常的問題。網路上有一篇 <a href="http://tw.myblog.yahoo.com/jeremy-3c/article?mid=33331" target="_blank">jeremy 寫的專訪</a>中提到許肇元對短短 10 多天連續出了兩次錯誤的解釋：</p>
<blockquote><p>「因為我們成長的速度太快，而系統並沒有配合我們的成長。像是我們的訂購流程，每個零組件都可以客製化，訂一台筆電的流程換算下來就幾十個關卡，每個關卡都跟價錢有關，牽一髮而動全身。這次事件中，我們真的學到很多，也重新檢視了我們的系統。」</p></blockquote>
<p>這更讓人相信，問題的關鍵並非單純的系統單一功能失常，而是戴爾忽略了商業模式改變會對系統產生影響，而沒有做好事先預防與事後可以及時因應的準備。</p>
<p>由此可知，造成戴爾系統發生錯誤看起來並非出在各部分功能的問題，而是系統整體整合出現問題而造成系統異常。那麼台北捷運內湖線的系統異常是不是也是相同的問題？從相關新聞報導我們發現，系統發生錯誤的原因也是因為系統沒有整合好，內湖線無法順利整合木柵線舊有系統。這大概從決策當局決定採用規格無法統一的中運量的系統，以及冒險採用無線通訊新技術時就已經註定了這樣的結果。再加上測試時間不足，自然會使品質問題更加雪上加霜而惡化。</p>
<h4>造成系統失敗的條件</h4>
<p>如果戴爾電腦和台北捷運內湖線的系統異常，種種跡象都顯示是整合出現問題，那麼我們不禁要問：為什麼它們的整合都會出現問題呢？從筆者系統開發的經驗來看，我相信是因為系統整合牽涉的問題太多或是太複雜，使得開發者難以掌握。再加上人們在尚未意識到系統的複雜度之前，常會認為自己有能力解決所有的問題，但實際上他們想要這樣做卻做不到。一言以敝之，系統失敗的根源其實是來自於人性的弱點，雖然這個真相往往被硬體、作業系統或平台的功能失常所掩蔽。</p>
<p><a title="More about 溫伯格的軟體管理學" href="http://www.anobii.com/books/溫伯格的軟體管理學/9789867889720/01c7ec64f7e4bf0927/"><img style="padding: 5px;" title="More about 溫伯格的軟體管理學" src="http://image.anobii.com/anobi/image_book.php?type=4&amp;item_id=01c7ec64f7e4bf0927&amp;time=1217763761" alt="More about 溫伯格的軟體管理學" align="right" /></a>如同著名的軟體工程顧問溫伯格在《<a title="More about 溫伯格的軟體管理學" href="http://www.anobii.com/books/溫伯格的軟體管理學/9789867889720/01c7ec64f7e4bf0927/">第一級評量</a>》提到，造成軟體系統失敗的條件有八個 F，它是分別是弱點（Frailty）、愚蠢（Folly）、執迷不悟（Fatuousness）、好玩（Fun）、欺騙（Fraud）、狂熱（Fanaticism）、硬體功能失常（Failure）與運氣（Fate）。筆者發現這些造成失敗的條件，其實正是表現人性弱點的不同面向。</p>
<p><span style="text-decoration: underline;">弱點</span></p>
<p>弱點是做想做的事卻做不到，它是軟體失敗的終極源頭。因為人不是完美的，他們做不到設計所要求的，不論那是一個程式設計，或是一個過程設計。溫伯格認為管理階層的責任是設計出一個程序以規範程式如何修改，承認自然界的事實，與確保程序本身被執行。而且他認為人們傾向在發生錯誤後懲罰嫌疑犯其實很不好，因為他會讓人隱藏錯誤、浪費時間在找嫌疑犯、以及分散注意力忽略管理階層的責任；建立並執行能及早找出失敗，並預防悲慘後果的程序。</p>
<p><span style="text-decoration: underline;">愚蠢</span></p>
<p>愚蠢是做到想要做的事，但它卻是錯的事。愚蠢的基礎是無知，雖然它在當下沒有發生錯誤，卻會在以後造成錯誤。不過透過學習可以改善無知，進而將愚蠢矯正過來。溫伯格認為建立完整訓練師徒制、技術審查計劃、提供落實計劃的支援，是管理階層可以用來矯正愚蠢的職責。</p>
<p><span style="text-decoration: underline;">執迷不悟</span></p>
<p>執迷不悟是指不肯學習，一直做出蠢事，一次又一次的做。此外，想要管理好一個愚蠢的人，卻不提供他根除愚蠢所需的訓練和經驗，這也算是一種執迷不悟的行為。溫伯格認為在軟體工程機構中，除了把執迷不悟的人送到其它行業去，否則沒有什麼防護措施可以抵擋執迷不悟的人。</p>
<p><span style="text-decoration: underline;">好玩</span></p>
<p>好玩是程式設計師會寫一些奇怪的程式來為自己找樂子，溫伯格認為沒有人能夠預測別人認為好玩的事是什麼，因此好玩的心理是所有失敗的源頭中最危險的一個，因為它防不勝防。但管理者應該提供預防之道：一是開放透明的系統，另一個則是讓單單工作本身具有足夠的趣味。</p>
<p><span style="text-decoration: underline;">欺騙</span></p>
<p>欺騙是用非法的方式從一個系統中獲取個人利益。溫伯格認為好玩是在失敗的源頭中，帶來的最小的損失。因為一個系統找樂子的方法有千百種，但值得一偷的東西卻沒多少。他認為軟體工程經理要好好閱讀以資訊系統詐騙為主題的文章，並採取一切可能的預防措施來防堵它。</p>
<p><span style="text-decoration: underline;">狂熱</span></p>
<p>狂熱是試圖摧毀或瓦解一個系統，而原因不是為了個人利益，而是為了報復。溫伯格認為防範弱點而採取的行動中，多數也可以減少恐怖份子所造成的威脅與影響。</p>
<p><span style="text-decoration: underline;">硬體功能失常</span></p>
<p>溫伯格提到硬體若不能造著當初設計的目的而執行工作，就會造成功能失常的現象，這類問題多半可以用軟體來克服。他認為當人們抱怨硬體造成他所寫的軟體出問題時，我們應該找出它表達的意思，以免遺漏這句話所帶來的重要資訊：</p>
<ol>
<li>硬體沒什麼大不了的功能失常，但程式設計師需要找藉口來隱瞞一些事實。</li>
<li> 硬體功能失常問題都在一般的預期範圍內，可能程式設計師沒有採取正確的防護措施。例如將程式碼或測試腳本做備份。</li>
<li>硬體功能失常，但沒做妳硬體供應商關係的管理工作。</li>
<li>硬體功能失常是由人為錯誤所造成的，如使用者做出出乎意料的動作。</li>
</ol>
<p><span style="text-decoration: underline;">運氣</span></p>
<p>溫伯格指出運氣不好是多數表現不佳的經理愛用藉口，這不是事實。他建議當我們聽到一個經理老愛說運氣不好時，我們應該把運氣兩字換成經理，因為沒有不好的士兵，只有不好的軍官。</p>
<h4>系統異常與人性弱點</h4>
<p>從以上造成系統失敗的條件我們可以知道，系統發生異常的原因可能是系統的設計不夠好、硬體設備或作業系統出錯或是系統運作的環境太複雜了，但發生問題的真相卻都大部份是因為人性的弱點。因此，要在失敗前發現錯誤，進而採取行動防止系統失敗，重點管理好人性弱點，而非不承認它的存在，卻只在事後責備人們沒有盡到責任，但事實上最大的責任是管理階層沒有盡到管理的責任。</p>
<p>例如在台北捷運內湖線在 7/10 發生系統大當機的事件後，當外界質疑為什麼發生這麼嚴重的當機事件時，筆者注意到有一篇新聞報導提到市府官員有人表示「這個問題，80 % 是因為電腦中毒」言下之意系統異常多半是因為硬體的功能失常所致，而比較不可能是軟體的瑕疵或人為的錯誤。</p>
<p>溫伯格說過「對錯誤的直接觀察，本身並無意義，但是對『人們作何準備來面對錯誤的發生』的統合觀察就很有意義」那位市府官員的說辭，筆者相信只是為了隱瞞了一些事實，以免公布實情而讓損失更加擴大，然而這卻表現反應他們對面對系統錯誤發生的準備並不夠充分。</p>
<p>筆者再舉一位朋友的經驗為例，以前他們公司採用 .Net 開發平台開發新產品。由於他偏好 Java 的程式寫作慣例，加上當時微軟聲稱與 C# 整合不成問題，讓他很想用 J# 程式語言來開發系統。雖然他的同事擔心系統的整合會出現變數而反對，但由於他的堅持，管理階層還是照他的意思，讓他用 J# 開發他的程式，與其他同事以 C# 的程式來進行整合。</p>
<p>後來在整合時，他們發現碰到很多平台上及程式語言本身的問題。為了解決這些問題，他只好修改他的程式以處理這些問題，但也讓系統愈變愈複雜，結果使軟體問題層出不窮。但朋友仍然還是堅持要用他喜歡的方式開發系統，最後在管理階層無法忍受他的執迷不悟，並且在彼此無法達成共識的情況下，要求他離開了那家公司。</p>
<p>從這位朋友的故事中，我們看到他的弱點、愚蠢以及他和管理階層的執迷不悟。他的弱點是想實現他的設計理念並完成不同語言的整合，但後來卻發現這是個艱鉅的任務。在發現了專案時程及市場上的壓力並不允許他實現他的設計理想時，卻一再地堅持做自己想做的事而非應該做的事，這是愚蠢。而與管理階層之間一次又一次想要對方同意自己的觀點，卻又不去理性客觀地評估現實，而只是一廂情願地以為讓對方發現此路不通就會懸崖勒馬，這是他與管理階層的執迷不悟。</p>
<p>朋友的經歷並不是特例，在實際的系統開發專案中，筆者總是看到相同的故事正在持續上演。就像戴爾電腦、台北捷運內湖線發生系統異常的事件一樣，應該發揮效果的程序、流程與方法，在關鍵時刻竟然沒有發揮作用。筆者認為問題的關鍵是在於人性的弱點，我想只有在適當地管理好人性弱點之後，程序、流程與方法才能真正地落實，並且發揮出應有的效果吧。</p>
<h4>管理的重要性</h4>
<p>如果導致系統異常的關鍵是在於人性的弱點。那麼管理階層就應該負起管理人性弱點的責任，以避免專案因為人性弱點而造成系統異常的意外事件而慘遭失敗。從去年跨年夜發生的台灣大哥大行動電話用戶大當機的<a href="http://udn.com/NEWS/SOCIETY/SOC7/5110638.shtml" target="_blank">事件</a>，又再一次地讓我們看到管理對避免系統異常而造成失敗的重要性。</p>
<p>去年跨年夜，台灣大哥大發生行動電話用戶大當機，經檢調查出是台灣諾基亞西門子公司離職工程師，涉嫌以女友名義登入台灣大資料庫並刪除資料造成大當機，檢方昨天將陳依妨害電腦使用罪嫌起訴。</p>
<p>筆者看到新聞提到那位工程師，否認是遭開除而挾怨報復，只說會這麼做是因為「好玩」。讓我想到溫伯格說的，好玩的心理是所有失敗源頭最危險的一個，因為沒有人可以預測到別人認為好玩的事是什麼。</p>
<p>當然，我想事件的真相應該不是因為那位工程師基於好玩的心理，而是被公司開除而心生報復。造成台灣大哥大系統當機的原因，固然是難以預料到的惡意破壞，但這並不代表這種系統失敗是無法防止的。筆者認為問題在管理上，因為管理階層忽視人性弱點，而沒有盡到管理者應盡的責任。</p>
<p>或許有人會認為筆者這樣說對管理者要求太多了，但如果系統開發團隊沒有紀律來把事情做好，這的確是管理者的問題。管理者設計或制定流程，目的是為了幫工程師把事做好，但如果流程不能落實，那是必然代表管理出現了問題，所以管理者必然難辭其咎。</p>
<p>好比說，為什麼離職員工可以用他離職前的帳號密碼來登入系統，然後做出一些危害系統的行為？又或者，為什麼會讓人興起想要破壞系統的動機，而身為負責系統成敗的高階管理者，為什麼會不去防範可能破壞系統的行為？</p>
<p>因此，即使可能是因為好玩，管理者也要思考如何降低人們為了找樂子而影響系統的動機。如前面所提到過的，讓員工的工作更有趣，同時讓流程更透明。此外，避免員工試圖摧毀或瓦解一個系統，不是為個人利益而是為了報復。管理者應加強防範弱點而採取的行動，因為它們多數也可以減少這種攻擊。</p>
<p>以上這些都是管理者的職責，以避免系統因為人為的疏忽而失敗。總而言之，預防系統失敗，管理最重要的工作就是認清「人的不完美」，才能知道如何管理人性，進而避免發生人為錯誤而造成意外，產生系統的重大損失。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lifeparty.idv.tw/blog/archives/2063/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://www.lifeparty.idv.tw/blog/archives/2063</feedburner:origLink></item>
		<item>
		<title>老師的情緒</title>
		<link>http://feedproxy.google.com/~r/lifeparty/~3/0G6ZcQFWaSQ/1976</link>
		<comments>http://www.lifeparty.idv.tw/blog/archives/1976#comments</comments>
		<pubDate>Tue, 13 Oct 2009 11:14:20 +0000</pubDate>
		<dc:creator>jim yeh</dc:creator>
				<category><![CDATA[佛法]]></category>
		<category><![CDATA[問題解決]]></category>
		<category><![CDATA[學習]]></category>
		<category><![CDATA[心理]]></category>
		<category><![CDATA[生活感觸]]></category>
		<category><![CDATA[職場]]></category>

		<guid isPermaLink="false">http://www.lifeparty.idv.tw/blog/?p=1976</guid>
		<description><![CDATA[同人覺得對老師而言，情緒的控制實在很重要。否則老師的情緒失控很容易對孩子的成長，造成難以磨滅的陰影是難以事後彌補的。就像新聞中提到小孩當初被打，怕得不敢掉眼淚，而且也開始出現打人的偏差行為，可知老師情緒失控的行為對小孩影響有多大。]]></description>
			<content:encoded><![CDATA[<p>5 日有一則「<a href="http://www.nownews.com/2009/10/05/138-2515338.htm" target="_blank">女老師失控狂呼巴掌　3歲童雙頰瘀血腫脹</a>」的新聞，提到幼兒在強調早期療育的幼稚園遭到女老師甩巴掌致兩頰紅腫瘀青，園長帶著女老師登門道歉並跪求原諒，而女老師也表示辭職，家長心軟暫不提告，但孩童幼小心靈所造成的傷害，似乎再多道歉也難以撫平。</p>
<p>同人看到這則新聞，覺得對老師而言，情緒的控制實在很重要。否則老師的情緒失控很容易對孩子的成長，造成難以磨滅的陰影是難以事後彌補的。就像新聞中提到小孩當初被打，怕得不敢掉眼淚，而且也開始出現打人的偏差行為，可知老師情緒失控的行為對小孩影響有多大。</p>
<p>「師者，所以傳道、授業、解惑者也」但如果在教導學生過程中，沒有將自己的情緒處理好，所傳的道或授的業是否會造成更大的偏差，使得學生產生更大的困惑呢？我想這恐怕是必然的結果，老師負面情緒的言教、身教、乃至於境教，也只會提供情緒的負面示範而使學生行為造成偏差。</p>
<p>前幾天老婆告訴我友人的小孩正在唸國小，受到班上導師的情緒化的困擾。學生們受到情緒化的對待，學校方面又無法給予合理的解釋與具體解決問題的承諾，就讓朋友非常地擔憂。<img title="繼續閱讀…" src="../wp-includes/js/tinymce/plugins/wordpress/img/trans.gif" alt="" /></p>
<p>據說這位老師正在攻讀博士學位，或許正因為如此，他並沒有花很多的時間照顧他班上的學生。有一次，他強迫幾位比較調皮的學生在家庭聯絡簿寫上「轉學」兩個字，讓家長覺得莫明其妙，卻又提不出為什麼要他們轉學的原因。此外，為了處罰班上另一位學生，卻要讓朋友的孩子帶著他到訓導處，不顧他需要上課的權利。</p>
<p>這些事讓朋友很生氣，找校方理論得到的答案卻只是他們已請那位老師進行心理輔導，希望狀況能夠改善，卻沒辦法保證問題不再發生，以及承諾具體的問題改善後續措施。</p>
<p>老婆建議朋友應該向家長會長反映這個問題，並向學校施壓，以免更多的學生受到影響。但友人三心二意無法下定決心採取行動，想看看學校狀況有沒有改善再說。</p>
<p>同人覺得友人孩子所遇到老師的情緒，應該沒有那麼容易解決。但當事人採息事寧人的態度，她不面對處理，旁觀者也不能說什麼，只能讓她自己去面對自己的問題。</p>
<p>當然，面對不聽話的學生，老師的壓力確實很大。因此造成老師的情緒反應，這也是一般人能夠理解的現象。只是身為老師，應該學習健康地發洩情緒，才能有效處理學生違反規定的問題，表現出老師的專業。否則，<strong>帶著情緒來處罰學生，到底目的是為了發洩自己的情緒，還是真的想幫助學生，我想可能當下老師自己都失去理智而搞不清楚了吧！</strong></p>
<p>這正是「<a href="http://www.lifeparty.idv.tw/blog/archives/483" target="_blank">以憤怒對抗不滿，只會創造憤怒的人生</a>」的道理，如果老師是這樣，我們如何能期望他可以教出具有正確人生觀的學生呢？寫到這邊讓同人想到幾年前在白毫禪寺看到「白亳的情境，是生命的美學」的理念，並且有緣與心禪法師話家常聽到師父提到創立這個學園的初衷，以「情境教育，生命美學」徹底改變許多學生的不良行為及觀念。</p>
<p>白亳禪寺改變了許多學生的生命，讓一般人心目中的問題學生變成懂事的好孩子，這是怎麼做到的呢？同人記得當時聽到慈悲的心禪師父說：<strong>沒有所謂的問題學生，只有問題老師。</strong></p>
<p>當老師生活中充滿了工作壓力與煩躁不安時，他們是沒有能力教好孩子的。因此，遇到這種情況，老師應該要好好的休息與放鬆，只有好好地沉澱心情，並且讓自己充電，才能讓自己有更多的能量與動力，回到校園才能真正的幫助學生。</p>
<p>心禪法師說，白亳禪寺的環境是為了想要沉澱心靈的人所設。這邊可以讓人忘卻世俗雜事的紛擾，讓人們的身心在莊嚴、寧靜和美麗的景致之下可以得到放鬆與覺察到自己內在的智慧。同人那幾天在白亳禪寺的親身感受很不錯，那幾天使我可以遠離煩憂而獲得心境的提昇。</p>
<p>我想那些老師或許未必要到白亳禪寺去沉潛身心，但我相信如果他們學會正視並處理好自己的情緒，那麼這些負面事件應該就不會發生，使得學生不用生活在老師情緒爆發的風險與陰影下。這樣就可以在問題發生的時候，讓老師意識到自己的情緒，進而用健康的態度來處理，除了可以有效地解決問題之外，還表現出足以讓學生效法的言教、身教與境教，也才會是學生之福呀。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lifeparty.idv.tw/blog/archives/1976/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		<feedburner:origLink>http://www.lifeparty.idv.tw/blog/archives/1976</feedburner:origLink></item>
		<item>
		<title>是誰理盲又濫情？</title>
		<link>http://feedproxy.google.com/~r/lifeparty/~3/iVlnU-Y3wAE/2001</link>
		<comments>http://www.lifeparty.idv.tw/blog/archives/2001#comments</comments>
		<pubDate>Thu, 08 Oct 2009 10:15:29 +0000</pubDate>
		<dc:creator>jim yeh</dc:creator>
				<category><![CDATA[利害關係人]]></category>
		<category><![CDATA[專案團隊]]></category>
		<category><![CDATA[思考]]></category>
		<category><![CDATA[新聞]]></category>
		<category><![CDATA[生活感觸]]></category>
		<category><![CDATA[閱讀]]></category>

		<guid isPermaLink="false">http://www.lifeparty.idv.tw/blog/?p=2001</guid>
		<description><![CDATA[早上在 News 98 聽到陳鳳馨評論吳德榮提前退休的新聞事件，她提到吳德榮說：「人們理盲又濫情，說也沒用」對此，她表示人們理盲又濫情她同意，但吳德榮自己何嘗不是理盲又濫情呢？然而，聽完陳鳳馨的評論反而讓人更困惑，或許同人應該好好思考一下，弄清楚到底是誰理盲又濫情。
陳鳳馨說許多媒體很奇怪，先前颱風災情嚴重就大肆批評氣象局預報不準，而今天氣象預報的第一把交椅要離開，又一直報導他的好話。這就是理盲又濫情，不像她在這次的莫拉克風災都是幫氣象局說好話，去年的卡玫基颱風，氣象預報不準到離譜本來就應該批評。
她還說這次有人說 CNN 比中央氣象局還要準是搞錯了，中央氣象局的預測比較接近實際的兩量，只是不懂得像 CNN 使用「Huge! Huge!」來表示超大豪雨。她說，把氣象預測的結果說得讓一般人都能了解，也是非常重要的專業，她都很想幫氣象局的人員上課。雖然把專業讓一般人能夠了解是很困難的，她不苛責氣象局，但如果能做到那不是更好嗎？
同人聽來聽去，實在搞不清楚說吳德榮理盲又濫情的道理在那裡？如果社會真的存在理盲又濫情的現象，吳德榮也只是對這樣的社會現象，選擇不再燃燒他的熱情奉獻生命，而是退休專心好好地過自己的生活，如果這樣是理盲又濫情的話，那麼要怎樣才不是理盲又濫情呢？
經過這一番思辨後，同人發現真正理盲又濫情的人不是別人，而是好像什麼都懂，什麼都會的名嘴們呀！從他們的口中，專業好像變得好簡單，只有他們懂得教別人怎麼做事，因為所謂的專家都不夠聰明，一旦不符合他們的價值判斷，就是「理盲又濫情」。這種不重視專業、自以為是的專業實在令人不敢領教！
同人看吳德榮提前退休的新聞，我認為問題不在於中央氣象局的預報有沒有疏失，而在社會上彌漫著一種碰到問題責怪做事的人的風氣。結果只會使得以後再也沒有人願意做事了。反正不做不錯，事情做好又沒有人會獎勵你，所以只要能夠不攬事在身上就不要多事。
這就好像專案失敗時，人們把責任推到執行專案的人身上的道理一樣，不做事的人反而有話說。但專案中最有價值的教訓與經驗，不會有人去關心。慢慢地想藉此磨鍊能力的人愈來愈少，因為做事的人都不會有好下場，手下也只有奴才而沒有人才。
對名嘴的這種批評，Zulu 在河道上提到問題在於惡意的講假話都完全不用負責任。他並提到張大春的文章引用了王夫之的議論，已經點出「批評專業化」是批評虛假的根源。
看了張大春的文章，同人很慶辛為了小孩的成長，我們家沒有接電視。不過，對於廣播節目出現名嘴的這種「批評專業化」，恐怕只會加深我的反感而不去理會那些名嘴到底說什麼了吧！
]]></description>
			<content:encoded><![CDATA[<p>早上在 News 98 聽到陳鳳馨評論<a href="http://news.google.com.tw/news/story?hl=zh-TW&amp;q=%E6%B0%A3%E8%B1%A1%E7%8E%8B%E5%AD%90&amp;sourceid=navclient-ff&amp;rlz=1B3GGGL_zh-TWTW286TW287&amp;um=1&amp;ie=UTF-8&amp;ncl=dghO1bSLMXJNJIM&amp;ei=s3TNSsz1A8zakAXd6v31Aw&amp;sa=X&amp;oi=news_result&amp;ct=more-results&amp;resnum=1" target="_blank">吳德榮提前退休的新聞事件</a>，她提到吳德榮說：「人們理盲又濫情，說也沒用」對此，她表示人們理盲又濫情她同意，但吳德榮自己何嘗不是理盲又濫情呢？然而，聽完陳鳳馨的評論反而讓人更困惑，或許同人應該好好思考一下，弄清楚到底是誰理盲又濫情。</p>
<p>陳鳳馨說許多媒體很奇怪，先前颱風災情嚴重就大肆批評氣象局預報不準，而今天氣象預報的第一把交椅要離開，又一直報導他的好話。這就是理盲又濫情，不像她在這次的莫拉克風災都是幫氣象局說好話，去年的卡玫基颱風，氣象預報不準到離譜本來就應該批評。</p>
<p>她還說這次有人說 CNN 比中央氣象局還要準是搞錯了，中央氣象局的預測比較接近實際的兩量，只是不懂得像 CNN 使用「Huge! Huge!」來表示超大豪雨。她說，把氣象預測的結果說得讓一般人都能了解，也是非常重要的專業，她都很想幫氣象局的人員上課。雖然把專業讓一般人能夠了解是很困難的，她不苛責氣象局，但如果能做到那不是更好嗎？</p>
<p>同人聽來聽去，實在搞不清楚說吳德榮理盲又濫情的道理在那裡？如果社會真的存在理盲又濫情的現象，吳德榮也只是對這樣的社會現象，選擇不再燃燒他的熱情奉獻生命，而是退休專心好好地過自己的生活，如果這樣是理盲又濫情的話，那麼要怎樣才不是理盲又濫情呢？</p>
<p>經過這一番思辨後，同人發現真正理盲又濫情的人不是別人，而是好像什麼都懂，什麼都會的名嘴們呀！從他們的口中，專業好像變得好簡單，只有他們懂得教別人怎麼做事，因為所謂的專家都不夠聰明，一旦不符合他們的價值判斷，就是「理盲又濫情」。這種不重視專業、自以為是的專業實在令人不敢領教！</p>
<p>同人看吳德榮提前退休的新聞，我認為問題不在於中央氣象局的預報有沒有疏失，而在社會上彌漫著一種碰到問題責怪做事的人的風氣。結果只會使得以後再也沒有人願意做事了。反正不做不錯，事情做好又沒有人會獎勵你，所以只要能夠不攬事在身上就不要多事。</p>
<p>這就好像專案失敗時，人們把責任推到執行專案的人身上的道理一樣，不做事的人反而有話說。但專案中最有價值的教訓與經驗，不會有人去關心。慢慢地想藉此磨鍊能力的人愈來愈少，因為做事的人都不會有好下場，手下也只有奴才而沒有人才。</p>
<p>對名嘴的這種批評，<a href="http://www.plurk.com/p/26zbsn" target="_blank">Zulu 在河道上提到</a>問題在於惡意的講假話都完全不用負責任。他並提到張大春的<a rel="nofollow" href="http://tw.nextmedia.com/applenews/article/art_id/31835579/IssueID/20090804" target="_blank">文章</a>引用了王夫之的議論，已經點出「批評專業化」是批評虛假的根源。</p>
<p>看了張大春的文章，同人很慶辛為了小孩的成長，我們家沒有接電視。不過，對於廣播節目出現名嘴的這種「批評專業化」，恐怕只會加深我的反感而不去理會那些名嘴到底說什麼了吧！</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lifeparty.idv.tw/blog/archives/2001/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://www.lifeparty.idv.tw/blog/archives/2001</feedburner:origLink></item>
		<item>
		<title>以字元串列常數當索引鍵值</title>
		<link>http://feedproxy.google.com/~r/lifeparty/~3/u1oOP6_POLs/1950</link>
		<comments>http://www.lifeparty.idv.tw/blog/archives/1950#comments</comments>
		<pubDate>Sun, 04 Oct 2009 07:02:32 +0000</pubDate>
		<dc:creator>jim yeh</dc:creator>
				<category><![CDATA[問題解決]]></category>
		<category><![CDATA[編程技巧]]></category>
		<category><![CDATA[職場]]></category>

		<guid isPermaLink="false">http://www.lifeparty.idv.tw/blog/?p=1950</guid>
		<description><![CDATA[最近同人在開發資料剖析的程式時，碰到一個很奇怪的現象。我使用 map 容器來存放剖析資料的結果，然而卻發現以原先新增資料所用的相同鍵值，竟然會找不到該筆資料。但我的測試程式顯示容器中所存放的鍵值與資料，其內容是正確的，但為什麼用相同鍵值去找，結果竟然回傳查無資料呢？原來問題就出在以字元串列常數當索引鍵值。
由於我所開發的這個程式，它接受許多不同格式的資料，各種格式所使用的欄位名稱也都不同。為了設計的簡單化，同人把拆解格式與對映的工作分開來處理，並且把拆解與對映的資料都存放在 map 容器中，而不去設計存放資料物件的類別，以免日後受到欄位規格變動的影響而大動程式碼。
考慮資料處理的效率與易讀性，同人將容器的鍵值設為字元串列常數（const char*）。程式剖析資料的結果，以測試程式確認容器內容無誤，但等到實際呼叫此程式卻發現，無法以容器內含相同鍵值來取得所需要的資料。
怎麼會這樣呢？用走訪 map 容器的方式傾印容器內含資料沒問題，但直接用 find () 取得資料卻得到的是 map::end ()。同人不信邪，用走訪所使用的迭代器所指向的鍵值來 find ()，結果可以正確無誤找到資料。這顯示著直接 find () 和用迭代器指向的鍵值兩者並不一樣，但同樣是 const char*，內容值又一模一樣，兩者應該是相同的才對呀！
而且，如果是用 const char* 當索引鍵值有問題，那麼為什麼以同樣的容器操作模式，在拆解格式的處理沒有問題，而卻會在欄位對映時出現錯誤呢？比較兩者的差異，我想我知道問題出在什麼地方了。我試著以整數來取代字元串列常數來當索引鍵值，反正雖然各種格式欄位互異，但最後對應到的欄位都是相同的。果然，找不到資料的問題就不再出現了。
其實字元串列鍵值的比較是基於資料存放位址而非資料內含值，只是常數變數編譯器會幫我們把相同內容的字元串列放在一起。但由於同人並不是用宣告 const 常數而是用 #define 的方式來定義常數，對於不同程式碼的相同字元串列常數，可能編譯器並不會將他們視會相同的變數，結果就會造成比對不同而無法找到資料了。
因此，用整數來取代字元串列常數當索引鍵值就可以避免以上的問題，而且也省下用來存放字元串列常數的空間，但卻有數值代碼代表意義不明而造成維護的問題。針對這個問題我們可以宣告 enum 變數來解決，但其索引鍵值還是應該用 unsigned int 而不能使用 enum 型態。為什麼呢？因為 enum 是 equality comparable 而不是 less than comparable，而 map 是 associative container，其鍵值必須是 less than comparable 呀。
]]></description>
			<content:encoded><![CDATA[<p>最近同人在開發資料剖析的程式時，碰到一個很奇怪的現象。我使用 <a href="http://www.cplusplus.com/reference/stl/map/" target="_blank"><code>map</code> 容器</a>來存放剖析資料的結果，然而卻發現以原先新增資料所用的相同鍵值，竟然會找不到該筆資料。但我的測試程式顯示容器中所存放的鍵值與資料，其內容是正確的，但為什麼用相同鍵值去找，結果竟然回傳查無資料呢？原來問題就出在以字元串列常數當索引鍵值。</p>
<p>由於我所開發的這個程式，它接受許多不同格式的資料，各種格式所使用的欄位名稱也都不同。為了設計的簡單化，同人把拆解格式與對映的工作分開來處理，並且把拆解與對映的資料都存放在 <code>map</code> 容器中，而不去設計存放資料物件的類別，以免日後受到欄位規格變動的影響而大動程式碼。</p>
<p>考慮資料處理的效率與易讀性，同人將容器的鍵值設為字元串列常數（<code>const char*</code>）。程式剖析資料的結果，以測試程式確認容器內容無誤，但等到實際呼叫此程式卻發現，無法以容器內含相同鍵值來取得所需要的資料。</p>
<p>怎麼會這樣呢？用走訪 map 容器的方式傾印容器內含資料沒問題，但直接用 <code>find ()</code> 取得資料卻得到的是 <code>map::end ()</code>。同人不信邪，用走訪所使用的<a href="http://www.sgi.com/tech/stl/Iterators.html" target="_blank">迭代器</a>所指向的鍵值來 <code>find ()</code>，結果可以正確無誤找到資料。這顯示著直接 <code>find ()</code> 和用迭代器指向的鍵值兩者並不一樣，但同樣是 <code>const char*</code>，內容值又一模一樣，兩者應該是相同的才對呀！</p>
<p>而且，如果是用 <code>const char*</code> 當索引鍵值有問題，那麼為什麼以同樣的容器操作模式，在拆解格式的處理沒有問題，而卻會在欄位對映時出現錯誤呢？比較兩者的差異，我想我知道問題出在什麼地方了。我試著以整數來取代字元串列常數來當索引鍵值，反正雖然各種格式欄位互異，但最後對應到的欄位都是相同的。果然，找不到資料的問題就不再出現了。</p>
<p>其實字元串列鍵值的比較是基於資料存放位址而非資料內含值，只是常數變數編譯器會幫我們把相同內容的字元串列放在一起。但由於同人並不是用宣告 <code>const</code> 常數而是用 <code>#define</code> 的方式來定義常數，對於不同程式碼的相同字元串列常數，可能編譯器並不會將他們視會相同的變數，結果就會造成比對不同而無法找到資料了。</p>
<p>因此，用整數來取代字元串列常數當索引鍵值就可以避免以上的問題，而且也省下用來存放字元串列常數的空間，但卻有數值代碼代表意義不明而造成維護的問題。針對這個問題我們可以宣告 <code>enum</code> 變數來解決，但其索引鍵值還是應該用 <code>unsigned int</code> 而不能使用 <code>enum</code> 型態。為什麼呢？因為 <code>enum</code> 是 <a href="http://www.sgi.com/tech/stl/EqualityComparable.html" target="_blank">equality comparable</a> 而不是 <a href="http://www.sgi.com/tech/stl/LessThanComparable.html" target="_blank">less than comparable</a>，而 <code>map</code> 是 <a href="http://www.sgi.com/tech/stl/AssociativeContainer.html" target="_blank">associative container</a>，其鍵值必須是 less than comparable 呀。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lifeparty.idv.tw/blog/archives/1950/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.lifeparty.idv.tw/blog/archives/1950</feedburner:origLink></item>
		<item>
		<title>領導者應該如何面對批評</title>
		<link>http://feedproxy.google.com/~r/lifeparty/~3/EoSLHE0Zoy0/1883</link>
		<comments>http://www.lifeparty.idv.tw/blog/archives/1883#comments</comments>
		<pubDate>Wed, 30 Sep 2009 10:17:58 +0000</pubDate>
		<dc:creator>jim yeh</dc:creator>
				<category><![CDATA[問題解決]]></category>
		<category><![CDATA[學習]]></category>
		<category><![CDATA[新聞]]></category>
		<category><![CDATA[溝通]]></category>
		<category><![CDATA[生活感觸]]></category>
		<category><![CDATA[組織]]></category>
		<category><![CDATA[職場]]></category>
		<category><![CDATA[閱讀]]></category>
		<category><![CDATA[領導]]></category>

		<guid isPermaLink="false">http://www.lifeparty.idv.tw/blog/?p=1883</guid>
		<description><![CDATA[認為這則新聞更重要的意義是，讓我們看到領導者應該如何面對批評。在現實上，領導者所碰到的難處是，不管領導者碰到問題怎麼做，他都很難做到沒有人批評。因此想要成為優秀的領導者，其實無須太在意外界的批評，而是應該將這些批評轉化成更積極正向的領導作為。]]></description>
			<content:encoded><![CDATA[<p>上個禮拜在<a href="http://www.plurk.com/p/219nrv">噗浪河道</a>上看到<a href="http://news.chinatimes.com/2007Cti/2007Cti-News/2007Cti-News-Content/0,4521,50201652+112009092400082,00.html">馬總統抱怨「好人沒好報」的新聞</a>，提到馬以南爆料說馬英九在寫給她的 email 提到「做了好多好多事，卻還要被罵！」的心路歷程，最後一句話是「哼！好人沒好報」，她看了以後回信給馬英九「放心啦，好人一定有好報，只是時候未到」。</p>
<p>同人看到這則新聞的第一個反應是，總統在救災過程中受到批評，心裡面會產生一些情緒是人之常情。因此透過 email 中將這些情緒發洩出來，跟家人訴訴苦以免情緒積壓而損害身心健康，我認為是很自然的一件事。只不過，馬大姐把這些用來宣洩情緒的對話，在公開場合中公開，似乎只會為她的弟弟帶來麻煩，顯然她又失言了！</p>
<p>不過，除了馬以南的失言之外，同人認為這則新聞更重要的意義是，讓我們看到領導者應該如何面對批評。在現實上，領導者所碰到的難處是，不管領導者碰到問題怎麼做，他都很難做到沒有人批評。因此想要成為優秀的領導者，其實無須太在意外界的批評，而是應該將這些批評轉化成更積極正向的領導作為。</p>
<p>就像在《<a href="http://www.anobii.com/books/領導的黃金法則/9789862161449/01c5cb35dd10e906be/" title="More about 領導的黃金法則">領導的黃金法則</a>》中，作者約翰‧麥斯威爾提到「<span id="comment_person_more_0183b6230e91cf886e_7">當你後面被踢一腳，你知道你已超越在前」。身為領導者，我們應該要有面對批評的準備。那麼領導者應該如何面對批評呢？麥斯威爾認為下面四個步驟可以幫助領導者處理批評：<a href="http://www.anobii.com/books/領導的黃金法則/9789862161449/01c5cb35dd10e906be/" title="More about 領導的黃金法則"><img src="http://image.anobii.com/anobi/image_book.php?type=4&#038;item_id=01c5cb35dd10e906be&#038;time=1213758234" title="More about 領導的黃金法則" align=right alt="More about 領導的黃金法則" style="padding: 5px;" /></a></p>
<blockquote><p><span>第一，認識你自己，這是真相問題；</span></p>
<p><span>第二，改變你自己，這是責任感問題；</span></p>
<p><span>第三，接納你自己，這是成熟度問題；</span></p>
<p><span>第四，忘掉你自己，這是安全感問題。</span></p></blockquote>
<p><span>麥斯威爾認為領導者無須理會對領導者職位的批評，但對</span><span>個人缺點的批評</span><span>，卻必須要設法改正。</span><span>要認清人們是基於領導者的職位，或是領導者個人本身，唯一的方法就是認識自己。</span><span>其次，改進自己的缺點是領導者的職責，但也必須能夠分辨善意批評或是惡意批評，可以問自己下列三個問題：</span></p>
<blockquote><p><span>誰在批評？</span>智者的忠言逆耳勝過愚者的熱情贊助。批評的人是誰很重要！</p>
<p><span>如何批評？</span>試著分辨對方武斷還是提出疑問、好言相勸。</p>
<p><span>為何批評？</span>是出自傷害我的動機或是為了我好？會傷害他人的人不會手軟，他們猛烈抨擊他人是想讓自己好過，而非幫助對方。</p></blockquote>
<p>對於領導者的言行，在一開始人們通常會說你錯了，但後來卻又會說你是對的，而且重點不是你做什麼，而是他們知道你做的事情很重要。面對旁人這種多變的反應，麥斯威爾說領導者應該學會接納自己，並且指出為了做我們理想中最好的人和領導者，我們需要做好我們自己。</p>
<p>可是那並不代表我們不用改變或成長，而是表示必須努力做到最好的自己。真實做自己是邁向更好的自己的第一步，而接納自我是成熟的象徵。如果我們擔心別人怎麼看我們，那是因為我們對他們的意見比對自己更有信心。</p>
<p>有效處理批評的最後一步就是不再把焦點放在自己身上，麥斯威爾認為領導者不需要花太多時間擔心別人怎麼看自己，其實別人並沒有那麼在意我們。</p>
<p>麥斯威爾說有安全感的人忘記自己，所以他們可以把焦點放在別人身上，以面對任何批評，甚至為批評他們的人來服務。他說一個有安全感的領導者永遠不需要為自己辯護。做為領導者應當看重責任，但卻不應該把自己看得太重。</p>
<p>從麥斯威爾的觀點來看總統府對這次風波的回應，同人覺得有信心的領導者實在不應該花時間來為自己辯駁。如果埋怨「好人（心）沒好報」只是為了一時情緒的宣洩，就算不小心被馬大姐把在家裡面說的話公開出來，但只要承認自己的情緒及壓力確實存在，並表示自己會想辦法好好處理它們，讓自己能夠把事情做好。這樣就足以代表領導者在行為上是接納自己與放下自己，也就表現出足夠的成熟度與安全感。</p>
<p>可惜馬總統似乎是太在意旁人對他的觀感，因而太維護自己「被曲解」的形象。其實同人過去在〈<a href="http://www.lifeparty.idv.tw/blog/archives/368" target="_blank">新官上任三把火</a>〉及〈<a href="http://www.lifeparty.idv.tw/blog/archives/433" target="_blank">當專案一再出現相同錯誤時</a>〉這兩篇文章中，就曾經探討過馬團隊在管理或領導上的問題，從這些文章中似乎可以歸納出來馬總統領導的問題在「完美」兩字上。</p>
<p>或許在理念上，馬總統認為按照他的理想去做，就能夠讓事情達到完美的結果。但事實上，理想上的完美是不存在的，真正的完美是要你認識自己，並接納自己是不完美的，然後你才能改變自己而成就真實的完美。</p>
<p>因此，對外界的批評，如果馬總統一直把焦點放在自己身上，他就很難理解別人為什麼看不到他的辛苦與努力，也就無法體恤別人受到的痛苦。在缺乏安全感及成熟度的反應背後，我們看到根本的原因是領導者不能認識自己並加以改變。例如在報導中看到：</p>
<blockquote><p>杜勇明則指出，他說「馬總統您來晚了！」這句話是針對馬政府團隊救災一團亂有感而發，總統原本就該承擔政府所有責任，但把這件事拉到個人問題是不對的。</p></blockquote>
<p>會發生這樣的誤解，顯然馬總統不夠認識自己，才會分不清批評是針對個人或是職務而來。不過，同人這篇文章並不是期望改變，只是藉由對他人領導行為現象的觀察，帶來有助於自我成長的學習。<span>因為生命的學習與成長是無止境的，所以即使在位的領導者未能改變</span><span>，但或許只是時間還沒到。多點耐心給別人，也希望能讓我們從</span>別人的錯誤中學習成長。</p>
<p><strong>相關文章：</strong></p>
<ul>
<li><a href="http://www.wretch.cc/blog/tayuanw/20805610" target="_blank">領導者的黃金法則~處理批評-領導者需要學習的功課</a></li>
</ul>
<p><strong>延伸閱讀：</strong>（其它有關領導的文章）</p>
<ul>
<li><a href="http://www.lifeparty.idv.tw/blog/archives/417" target="_blank">領導是信任關係</a></li>
<li><a href="http://www.lifeparty.idv.tw/blog/archives/375" target="_blank">結構性無作為</a></li>
<li><a href="../archives/433" target="_blank">當專案一再出現相同錯誤時</a></li>
<li><a href="../archives/368" target="_blank">新官上任三把火</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.lifeparty.idv.tw/blog/archives/1883/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.lifeparty.idv.tw/blog/archives/1883</feedburner:origLink></item>
		<item>
		<title>學習當一分鐘爸爸</title>
		<link>http://feedproxy.google.com/~r/lifeparty/~3/6kPR739PgwA/1830</link>
		<comments>http://www.lifeparty.idv.tw/blog/archives/1830#comments</comments>
		<pubDate>Wed, 23 Sep 2009 11:06:45 +0000</pubDate>
		<dc:creator>jim yeh</dc:creator>
				<category><![CDATA[問題解決]]></category>
		<category><![CDATA[學習]]></category>
		<category><![CDATA[新時代]]></category>
		<category><![CDATA[溝通]]></category>
		<category><![CDATA[生活感觸]]></category>
		<category><![CDATA[親子關係]]></category>
		<category><![CDATA[閱讀]]></category>
		<category><![CDATA[領導]]></category>

		<guid isPermaLink="false">http://www.lifeparty.idv.tw/blog/?p=1830</guid>
		<description><![CDATA[同人覺得一分鐘教養法是相當不錯的教養法。它的方法看起來很簡單，而且能讓子女感受到父母的愛、以及對他們自我的肯定，以產生優良行為的動機。這樣的教養方式可以將子女的行為與父母對他們的觀感分開來；讓子女清楚父母認為他們要比他們的行為還要來得好，管教代表父母不喜歡他們的行為但卻愛著他們，讓孩子先相信自己是好孩子，然後才會做出好孩子應有的行為。]]></description>
			<content:encoded><![CDATA[<p>在當上父親之後，同人才能體會到教養孩子不比想像中的容易。在教育理念上，受到新時代思維的影響，讓我希望以愛的教育來代替以懲罰來控制孩子的行為。但當真的碰到孩子做出不好的行為之時，又找不到比懲罰他們更有效率的管教方式。</p>
<p>尤其是女兒又是那種聰明又調皮的小孩子；她總是會想辦法來破壞你所設立的規矩，用理性來溝通又似乎並不適用在她這個年紀。不過打罵的懲罰看起來雖然可以達到喝阻的效果，以控制她的行為，但同人和老婆也發現這種管教法副作用很大。我們常發現在公園她會對其他的小朋友施展暴力，而脾氣也變得愈來愈情緒化。</p>
<p>當然，前一陣子同人夫妻帶女兒<a href="http://www.lifeparty.idv.tw/blog/archives/1503" target="_blank">參加控制理論的研習課程</a>，對我們學習教養女兒的獲益很大。但除此之外，有沒有更簡單而直接的教養法能夠矯正女兒的行為呢？最近同人在《<a href="http://store.pchome.com.tw/usedbooks/M03015739.htm" target="_blank">一分鐘爸爸媽媽</a>》看到一分鐘教養法。它包括三項教養的秘訣，也就是對孩子實施一分鐘懲罰與一分鐘獎勵、以及幫助孩子設定一分鐘目標。</p>
<p>同人覺得一分鐘教養法是相當不錯的教養法。它的方法看起來很簡單，而且能讓子女感受到父母的愛、以及對他們自我的肯定，以產生優良行為的動機。這樣的教養方式可以將子女的行為與父母對他們的觀感分開來；讓子女清楚父母認為他們要比他們的行為還要來得好，管教代表父母不喜歡他們的行為但卻愛著他們，讓孩子先相信自己是好孩子，然後才會做出好孩子應有的行為。</p>
<p>在孩子出現不好的行為時，父母可以實施「一分鐘懲罰」來導正孩子的行為。首先我們在孩子犯錯時，要指出孩子行為的錯誤在那裡，接著再告訴他這個行為的後果，以及我們對這件事情的感受。這個過程大約會經過半分鐘，接下來停下來讓孩子感受到我們的不滿，同時也會讓他覺得不安。</p>
<p>然後父母要在接下來的半分鐘沉殿心情，然後拍拍孩子的肩膀，告訴他的行為很不好，但他是好孩子，這才是讓我們覺得困擾的地方，最後抱抱他表示「我愛你」讓這件事從此過去，一分鐘懲罰就此結束。</p>
<p>如果一分鐘懲罰可以在孩子做錯事的時候，讓他們立即知道錯誤，並且感受到父母對他們的愛與肯定，讓他們在以後不再犯錯。那麼在他們做對事的時候，當然也會需要父母對他們表達愛與肯定的行動，否則他們可能會故意犯錯，只為換來父母的擁抱與表示「我愛你」。因此，父母應當挑出孩子做出「大致正確」的行為，對他們實施「一分鐘獎勵」來鼓勵他們。</p>
<p>在一分鐘獎勵的前半分鐘，父母應當指出他們做得不錯的行為，並且表達我們對他們行為的快樂感受。同樣地，在後半分鐘父母應當告訴孩子，他們的行為棒極了，因為他是好孩子。然後再抱抱他向他們表示「我愛你」來結束一分鐘獎勵。</p>
<p>此外，父母還可以和小孩共同設定「一分鐘目標」，幫助孩子專注在家庭成員與他們自身想要達成的目標上。這些目標之所以稱為一分鐘目標，是因為它們非常簡短，可以將它們寫在一頁紙上供人們在一分鐘的時間唸完。同時它們也必須非常具體，並包括目標何時會達成的時間，以供父母與孩子可以在周末的時間來加以檢視執行的成效。</p>
<p>例如對二歲的孩子的一分鐘目標，父母可以幫孩子設定每天晚上九點開始上床，讓他能夠在一周之內達成十點半前完成就寢。如果孩子做得不錯，我們就對他施以一分鐘獎勵，若做得不好則對他施以一分鐘懲罰，並在達到目標後再設定新的一分鐘目標。這樣就可以培養孩子為自己設定目標的習慣，並且讓他的行為專注在他想要達成的事情上。</p>
<p>這本書強調，教養孩子的時間絕對不只一分鐘，但成為一分鐘爸爸或媽媽讓父母把時間花在對孩子最重要的事情上，也讓父母省下時間去享受自己的生活。讀完這本書，發現遵照書中的觀念並按照書中方法的實踐，要達到新時代思維的教育理念真的不困難。</p>
<p>不過，可能是東方人比較不習慣表達自己的情感，同人發現自己在向孩子表達感受的方面還要多學習。最近接觸的親子教育觀念都告訴我情感的表達比理念的灌輸更容易讓孩子接受，我想我該多多練習，努力朝向成為一分鐘爸爸的目標邁進嘍。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lifeparty.idv.tw/blog/archives/1830/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.lifeparty.idv.tw/blog/archives/1830</feedburner:origLink></item>
		<item>
		<title>家族中的三角關係</title>
		<link>http://feedproxy.google.com/~r/lifeparty/~3/WXyOjjc_aVg/1845</link>
		<comments>http://www.lifeparty.idv.tw/blog/archives/1845#comments</comments>
		<pubDate>Tue, 22 Sep 2009 05:59:09 +0000</pubDate>
		<dc:creator>jim yeh</dc:creator>
				<category><![CDATA[問題解決]]></category>
		<category><![CDATA[學習]]></category>
		<category><![CDATA[心理]]></category>
		<category><![CDATA[新時代]]></category>
		<category><![CDATA[溝通]]></category>
		<category><![CDATA[衝突]]></category>
		<category><![CDATA[親子關係]]></category>

		<guid isPermaLink="false">http://www.lifeparty.idv.tw/blog/?p=1845</guid>
		<description><![CDATA[最近在河道上看到噗友談論父母的感情糾葛與他的觀感，讓我想到家族中的三角關係；當孩子介入父母之間的糾紛，常會讓家族的問題變得相當複雜。這種親子之間三角關係的拉扯，通常會造成不為人知「家庭秘密」，並且在家族代間相傳，限制人的心靈自由，阻礙人的成熟發展。無形之間，我們的人生受此影響甚鉅。
同人曾經和老婆一起探索我們的家族圖，那是她在研究所「家族治療」課程的家庭作業。我協助她繪製出我們婚姻結合的家族圖，並且透過探索與討論，我們看到家族之間的三角關係是如何影響雙方的家庭，並且發現那些傷人的秘密其實是因為上一代關係的需求沒有被滿足，轉而將希望投注在下一代身上。而下一代就不知不覺地受到上一代的陰影所影響，甚至因此造成一些家庭悲劇。
那麼家族中的三角關係是如何形成的呢？當父母沒辦法從他們之間的關係得到滿足時，通常會傾向於向兒女要求援助或尋求慰藉，而在多方拉扯之間形成三角關係。舉個例子來說，當母親表現出受到父親不盡責任以或是暴力相向時，孩子常會站出來幫忙母親來對抗父親，或是母親會希望孩子幫她跟父親交涉。
但這往往使父母之間的問題變得複雜，父母會變成依賴孩子，孩子也會因為父母而不勝其擾。而更嚴重的是，讓父母無法為發生在自己身上的事情負起責任，而孩子也沒辦法為自己的生命而活，並且會不知不覺地遺傳父母的行為，讓悲劇一再地重演。
以薩提爾的家族治療觀點來看，她說父母因彼此相同而在一起，因發現並尊重彼此差異而成長。但尊重與成長不是自動發生，兩人最初的希望落空，常為事實染上其它的色彩。一些未實現的夢想可以引發內在或外在的對話，如自我懷疑、指責、衝突、有時則是暴力。或是人們可能相信他們的夢想不再是必要的，只有接受現實。
父母之間得不到滿足，通常會指望孩子。他們常在粉碎夢想之餘，期望他們的孩子代替他們去完成夢想。因此，孩子不知不覺地將父母的渴望納入他們如何看待與應對這個世界的一部分，這就是生命以一種被投射的方式在自我完成。
由此可知，父母與孩子之間的三角關係是如此深遠地影響我們，陷入其中的我們已難以評斷其中的是非恩怨，生命也只有成熟度的問題而沒有對錯可言。
從同人自身的親身體驗，我很清楚上一代的恩怨要由上一代自己去解決，這一代有這一代的事情去面對，實在沒有多餘的心力來幫上一代解決問題，這是相當吃力不討好的事情。尤其是介入上一代的恩怨只會削弱父母面對及處理問題的動機與能力，在這種情況下，除了複雜的情感糾葛之外，他們不會滿意孩子為他們所做的一切。因為扮演弱者與強者之間的依存，只是逃避自由的一種心理機制。缺乏心靈上的極積自由，他們其實沒有認真想過，到底他們想要得到的東西是什麼。
要處理好家族的三角關係，同人認為我們應該加強自我分化的能力。分清楚自我與父母需要的差異，做好在情感上支持父母的角色，但不去介入幫他們處理問題，而是促成由他們處理自己的問題。只有「割斷臍帶做大人」，才能發展出成熟、穩定而健康的人生，也讓父母的關係按照他們想要的方式去發展。
或許有人會認為孩子要幫父母解決問題，這一切都是孩子應該面對的宿命，而且，也會擔心父母自己沒有辦法把問題處理好。但宿命其實也只是我們對生命的一種選擇。事實上，我們還有其它不一樣的選擇，這也是我們無可避免的成長課題。如同薩提爾的觀點所言：家人因為彼此相互尊重差異而成長。
因此，痛苦不是理所當然的實相，而是要我們從過程中學習成長，用更寬闊的視野來看生命，才能用更成熟的方式來處理家族中的三角關係。「幻滅是成長的開始」我們必先清除存在我們心中不切實際的期待，同時也讓父母瞭解到他們的問題只有自己才能解決。身為子女最多也只能在精神上支持父母並給予關懷，這樣才能讓家族之中成員的情感，產生健康而均衡的連繫。
]]></description>
			<content:encoded><![CDATA[<p>最近在<a href="http://plurk.com">河道</a>上看到噗友談論父母的感情糾葛與他的觀感，讓我想到家族中的三角關係；當孩子介入父母之間的糾紛，常會讓家族的問題變得相當複雜。這種親子之間三角關係的拉扯，通常會造成不為人知「<a href="http://www.books.com.tw/exep/prod/booksfile.php?item=0010019753&amp;" target="_blank">家庭秘密</a>」，並且在家族代間相傳，限制人的心靈自由，阻礙人的成熟發展。無形之間，我們的人生受此影響甚鉅。</p>
<p>同人曾經和老婆一起探索我們的<a href="http://en.wikipedia.org/wiki/Family_tree">家族圖</a>，那是她在研究所「家族治療」課程的家庭作業。我協助她繪製出我們婚姻結合的家族圖，並且透過探索與討論，我們看到家族之間的三角關係是如何影響雙方的家庭，並且發現那些傷人的秘密其實是因為上一代關係的需求沒有被滿足，轉而將希望投注在下一代身上。而下一代就不知不覺地受到上一代的陰影所影響，甚至因此造成一些家庭悲劇。</p>
<p>那麼家族中的三角關係是如何形成的呢？當父母沒辦法從他們之間的關係得到滿足時，通常會傾向於向兒女要求援助或尋求慰藉，而在多方拉扯之間形成三角關係。舉個例子來說，當母親表現出受到父親不盡責任以或是暴力相向時，孩子常會站出來幫忙母親來對抗父親，或是母親會希望孩子幫她跟父親交涉。</p>
<p>但這往往使父母之間的問題變得複雜，父母會變成依賴孩子，孩子也會因為父母而不勝其擾。而更嚴重的是，讓父母無法為發生在自己身上的事情負起責任，而孩子也沒辦法為自己的生命而活，並且會不知不覺地遺傳父母的行為，讓悲劇一再地重演。</p>
<p><a title="More about 薩提爾的家族治療模式" href="http://www.anobii.com/books/薩提爾的家族治療模式/9789576933561/01b8e402bf5c01fcce/"><img style="padding: 5px;" title="More about 薩提爾的家族治療模式" src="http://image.anobii.com/anobi/image_book.php?type=4&amp;item_id=01b8e402bf5c01fcce&amp;time=0" alt="More about 薩提爾的家族治療模式" align="right" /></a>以<a href="http://www.anobii.com/books/%E8%96%A9%E6%8F%90%E7%88%BE%E7%9A%84%E5%AE%B6%E6%97%8F%E6%B2%BB%E7%99%82%E6%A8%A1%E5%BC%8F/9789576933561/01b8e402bf5c01fcce/" target="_blank">薩提爾的家族治療</a>觀點來看，她說父母因彼此相同而在一起，因發現並尊重彼此差異而成長。但尊重與成長不是自動發生，兩人最初的希望落空，常為事實染上其它的色彩。一些未實現的夢想可以引發內在或外在的對話，如自我懷疑、指責、衝突、有時則是暴力。或是人們可能相信他們的夢想不再是必要的，只有接受現實。</p>
<p>父母之間得不到滿足，通常會指望孩子。他們常在粉碎夢想之餘，期望他們的孩子代替他們去完成夢想。因此，孩子不知不覺地將父母的渴望納入他們如何看待與應對這個世界的一部分，這就是生命以一種被投射的方式在自我完成。</p>
<p>由此可知，父母與孩子之間的三角關係是如此深遠地影響我們，陷入其中的我們已難以評斷其中的是非恩怨，生命也只有成熟度的問題而沒有對錯可言。</p>
<p>從同人自身的親身體驗，我很清楚上一代的恩怨要由上一代自己去解決，這一代有這一代的事情去面對，實在沒有多餘的心力來幫上一代解決問題，這是相當吃力不討好的事情。尤其是介入上一代的恩怨只會削弱父母面對及處理問題的動機與能力，在這種情況下，除了複雜的情感糾葛之外，他們不會滿意孩子為他們所做的一切。因為扮演弱者與強者之間的依存，只是<a href="http://www.anobii.com/books/01e9a8c91d86450806">逃避自由</a>的一種心理機制。缺乏心靈上的極積自由，他們其實沒有認真想過，到底他們想要得到的東西是什麼。</p>
<p>要處理好家族的三角關係，同人認為我們應該加強<a href="http://www.nhu.edu.tw/%7Esociety/e-j/52/52-46.htm">自我分化的能力</a>。分清楚自我與父母需要的差異，做好在情感上支持父母的角色，但不去介入幫他們處理問題，而是促成由他們處理自己的問題。只有「<a href="http://www.books.com.tw/exep/prod/booksfile.php?item=0010061391" target="_blank">割斷臍帶做大人</a>」，才能發展出成熟、穩定而健康的人生，也讓父母的關係按照他們想要的方式去發展。</p>
<p>或許有人會認為孩子要幫父母解決問題，這一切都是孩子應該面對的宿命，而且，也會擔心父母自己沒有辦法把問題處理好。但宿命其實也只是我們對生命的一種選擇。事實上，我們還有其它不一樣的選擇，這也是我們無可避免的成長課題。如同薩提爾的觀點所言：家人因為彼此相互尊重差異而成長。</p>
<p>因此，痛苦不是理所當然的實相，而是要我們從過程中學習成長，用更寬闊的視野來看生命，才能用更成熟的方式來處理家族中的三角關係。「<a href="http://www.lifeparty.idv.tw/blog/archives/241" target="_blank">幻滅是成長的開始</a>」我們必先清除存在我們心中不切實際的期待，同時也讓父母瞭解到他們的問題只有自己才能解決。身為子女最多也只能在精神上支持父母並給予關懷，這樣才能讓家族之中成員的情感，產生健康而均衡的連繫。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lifeparty.idv.tw/blog/archives/1845/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.lifeparty.idv.tw/blog/archives/1845</feedburner:origLink></item>
		<item>
		<title>一場提前施工擾鄰的風波</title>
		<link>http://feedproxy.google.com/~r/lifeparty/~3/Vfg_JPMOhkA/1805</link>
		<comments>http://www.lifeparty.idv.tw/blog/archives/1805#comments</comments>
		<pubDate>Wed, 16 Sep 2009 10:53:34 +0000</pubDate>
		<dc:creator>jim yeh</dc:creator>
				<category><![CDATA[利害關係人]]></category>
		<category><![CDATA[問題解決]]></category>
		<category><![CDATA[專案監控]]></category>
		<category><![CDATA[溝通]]></category>
		<category><![CDATA[生活感觸]]></category>
		<category><![CDATA[職場]]></category>
		<category><![CDATA[領導]]></category>

		<guid isPermaLink="false">http://www.lifeparty.idv.tw/blog/?p=1805</guid>
		<description><![CDATA[解決問題的關鍵就是正視「人不是完美的」事實。同人是工程師出身，我很能體會工人希望早點把事情做完早點走的心態，對擾鄰後果的嚴重性他們可能沒有明顯的感受，而不是故意不去配合。所以以為訂下工作時間的規則以為他們會遵守，其實是太天真了。而那位媽媽的辦法正是對人性弱點的積極管理，不去假設人們一定會照你的方法去做事，而去思考我們的對策。看在同人的眼中，實在是令人激賞呀。]]></description>
			<content:encoded><![CDATA[<p>最近我們住的大樓很不寧靜。樓下施工裝修好幾個月，最近聽說因為變更設計要延長施工期間。同人在大樓公布欄看到公告，說工期要延長到十一月底才結束，並且要在這幾天要進行噪音施工的工程，為期三天，時間從早上九點半到十一點半，下午則是從二點到五點。</p>
<p>但沒想到第二天，不到八點半同人和老婆就聽到電鑽和榔頭敲打的聲音了。這個時間出現這些聲音，會干擾女兒的睡眠而影響她的正常發育與成長，這實在令我們十分困擾。</p>
<p>其實早在幾個月前，同人就曾要求裝修承包商，要她請工人在九點前不要使用會發出巨大聲響的機具，以免干擾女兒的睡眠。最近發現在九點前，還是會發現工人使用那些機具發出聲響，本來以為他們就快完工了，所以就沒有向承包商反應噪音問題。但現在噪音的問題很嚴重，於是同人在上班前打電話給承包商，向她反應噪音問題，並得到她的允諾會讓工人遵守及配合。</p>
<p>後來老婆告訴我接下來的故事發展。她和女兒被噪音吵得受不了，倉皇走避時碰到承包商。她質疑承包商為什麼時間還沒到就開始施工，害她連早飯都來不及吃，好像逃難一樣。承包商連忙向她賠不是，但表示是工人沒有按照規定的時間來施工。老婆聽到這理由更生氣，如果承包商不能約束工人照規定施工，那住戶根本不能信任承包商在公告所做的承諾。</p>
<p>大樓管委會主委這時候出現了，老婆藉這機會消遣他。問他說：「不是說保證今後不會有噪音出現了，怎麼今天噪音那麼吵？」主委聽到也不甘示弱的轉向承包商說：「我最倒楣了啦，他們租房子還好（指我的老婆）受不了退租不住了就好。我呢？跑也跑不掉！」老婆看到主委只會抱怨而不想解決問題，而且又戴口罩，所以不想跟他吵，就先離開了。</p>
<p>還好住我們家對面的媽媽這時候經過，在弄清楚大家的爭議之後，想到解決問題的方法。她建議請大樓警衛在施工開始時間之前，阻擋工人不讓他們進入大樓施工，等施工開始時間到了之後才放行。結果這個方法果然得到效果，讓大樓的住戶不用清早就忍受噪音的襲擊。</p>
<p>同人聽完老婆告訴我以上故事的後續，讓我覺得對面的媽媽果然是處理問題的高手，不像主委只會感情用事。如果我聽到主委說那句話，我大概會說：「主委您真是愛說笑，你怎麼可能會倒楣呢？大不了你把房子租給別人，這樣就可以把你的問題變成別人的問題呀！」不過話說回來，我相信承包商有誠意解決問題，但當工人無法配合遵守她訂出的辦法時，問題該如何解決呢？</p>
<p>解決問題的關鍵就是正視「人不是完美的」的事實。同人是工程師出身，我很能體會工人希望早點把事情做完早點走的心態，對擾鄰後果的嚴重性他們可能沒有明顯的感受，而不是故意不去配合。所以以為訂下工作時間的規則就可以讓他們去遵守，其實是太天真的想法。那位媽媽的辦法正是對人性弱點的積極管理，不去假設人們一定會照你的方法去做事，而去思考問題的對策。看在同人的眼中，實在是令人激賞呀。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lifeparty.idv.tw/blog/archives/1805/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.lifeparty.idv.tw/blog/archives/1805</feedburner:origLink></item>
	</channel>
</rss>
