<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	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/"
	>

<channel>
	<title>同人的生活派對 &#187; 職場</title>
	<atom:link href="http://www.lifeparty.idv.tw/blog/archives/category/%e8%81%b7%e5%a0%b4/feed" rel="self" type="application/rss+xml" />
	<link>http://www.lifeparty.idv.tw/blog</link>
	<description>君子學以聚之,問以辨之,寬以居之,仁以行之</description>
	<lastBuildDate>Wed, 01 Sep 2010 05:44:17 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>語言差異的溝通障礙</title>
		<link>http://www.lifeparty.idv.tw/blog/archives/4171</link>
		<comments>http://www.lifeparty.idv.tw/blog/archives/4171#comments</comments>
		<pubDate>Fri, 27 Aug 2010 10:49:39 +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=4171</guid>
		<description><![CDATA[最近看了舜平學長在 Facebook 的文章，讓我想要分享一些有關溝通和對話的觀念。 學長提到他和同事在工作上觀念的不同而引起爭執；他希望同事能夠思考流程如何改善，讓工作更有效率與品質。但同事則認為本來工作就是這樣做的，她並沒辦法改變什麼。結果兩人因為觀念不同而發生了言語衝突。文章的最後學長提到： 工作中充滿無奈與挑戰，或許是我的口才不好，下次要來學學勁哥跟畢姐，才能說服同事，多思考一起改善流程。不要整天都在救火，不僅沒效率、又沒效益，老闆也認為你在瞎忙。 看了學長的文章和後面的討論，同人覺得學長與同事的糾紛，真正的問題應該不在工作上的爭執，而是彼此語言差異產生的溝通障礙。雖然表面上雙方是因為在工作上的觀念不同而爭執，但存在雙方溝通的根本問題卻是因為顯著的語言差異。雙方使用不同的言語表達了彼此對工作重點的認知不一樣，但卻沒有討論彼此共同要解決問題的目標是什麼，只是各自表述對解決問題的理解，但這些理解只是手段而非目標，雙方自然會因為彼此想法歧異太大而無法溝通。 學長認為他的觀念沒有錯，領公司的一份薪水，應該多思考來發揮創造力，想想看如何改進工作效率與效益。他說下次要壓抑住快要抓狂的情緒，想辦法改善他的口才來說服同事。但同人認為在這種狀況下，口才根本派不上用場，而是要把心擺在正確的地方，才能弄清楚問題到底是什麼，以及它是否必須要被解決。 學長的技術背景讓他喜歡幫人解決問題，但他的同事依賴經驗卻不認為有什麼問題需要解決，依我看這才是造成雙方爭執最大的原因。學長認為同事面對工作流程的效率不夠好，應該積極思考問題的關鍵，而不是得過且過，用「本來就這樣」的藉口來搪塞。他以為公司是一個團隊，團隊中的成員不應該只懂埋頭苦幹，而是要多加思考來創造更高的價值。 然而或許學長的同事認為流程不需要改善，或是認為不值得在這上面花費時間和心力，或許是認為他有其它更重要的工作要做。其實團隊不可能只有存在一種特質的人，而且必須具備必要的多樣性才能發揮團隊的綜效，解決複雜的問題。 換句話說，團隊不可以只有會思考的人，也不可以只有會埋頭苦幹的人，而是必須同時具備思考和埋頭苦幹特質的人，缺一不可。因此，學長強調自己「正確」的觀念來導引同事思考，想要教他的同事解決不是問題的問題，彼此之間，是因為彼此用的語言不一樣而產生溝通障礙。 學長和他同事的語言如何不同？學長認為工作應該要重視思考和創意，要用更好的方式來完成工作，他說的是「求真」和「求美」的語言；而他的同事則認為在工作上，流程的改變對她而言沒有什麼意義，她說的是「求善」的語言。兩個人說的語言不同，並沒有誰對誰錯，只是訴求的方向不一樣，但執意要以一方的觀念來評論另外一方，只會變成各說各話而陷入「鷄同鴨講」的困境。 面對語言差異產生的溝通障礙，同人認為應該先處理關係，再解決問題。一般而言，溝通過程的緊張關係是因為彼此之間缺乏尊重與信任，當然也就不能相互理解彼此的差異。當溝通出現彼此意見分歧的時候，我們通常會強調自己觀點的正確性，藉以突顯他人觀點的錯誤。但如果以客觀的立場來看待雙方的觀點，每個人的觀點都有正確的訴求，但另一方面，很可能部分觀點會有不正確的地方。 其實不同觀念的歧見是為了發展更為一致性的觀點，而不是讓我們堅持己見而要求別人改變想法。所以不同觀點之間需要進行對話，以共同分享彼此的意義。我們應該尊重和我們抱持不同的觀點的人，並相信雙方可以盡最大的努力以達到「求同存異」，甚至是「聚同化異」，而不是運用口才來批評對方的錯誤。 對話除了尊重以外，暫緩確定性的想法也是很重要的一件事。這樣我們才能意識個體差異的存在，進而停止爭辯而進行反思，以尋求改進觀念的可能性。暫緩並非放棄自己價值判斷的主張，而是嘗試以思考的可能性取代堅持的確定性；先不要預設對錯，想一想對方可能也有值得參考的觀點，而自己疏漏了什麼。 對話的目的是為了與他人建立互相信賴的關係，希望從知己解彼開始，與他人共創雙贏，然後再進一步的達到統合綜效。因此，要化解語言差異的溝通障礙，同人首推對話這個有效的省思工具。]]></description>
			<content:encoded><![CDATA[<p>最近看了<a href="http://www.facebook.com/stephen898">舜平學長</a>在 Facebook 的<a href="http://www.facebook.com/notes/stephen-wang-wang-shun-ping/ben-lai-jiu-zhe-yangde-gong-zuo-tai-du-zhen-de-rang-wo-dong-nu-le/424229259911">文章</a>，讓我想要分享一些有關溝通和對話的觀念。</p>
<p>學長提到他和同事在工作上觀念的不同而引起爭執；他希望同事能夠思考流程如何改善，讓工作更有效率與品質。但同事則認為本來工作就是這樣做的，她並沒辦法改變什麼。結果兩人因為觀念不同而發生了言語衝突。文章的最後學長提到：</p>
<blockquote><p>工作中充滿無奈與挑戰，或許是我的口才不好，下次要來學學勁哥跟畢姐，才能說服同事，多思考一起改善流程。不要整天都在救火，不僅沒效率、又沒效益，老闆也認為你在瞎忙。</p></blockquote>
<p>看了學長的文章和後面的討論，同人覺得學長與同事的糾紛，真正的問題應該不在工作上的爭執，而是彼此語言差異產生的溝通障礙。雖然表面上雙方是因為在工作上的觀念不同而爭執，但存在雙方溝通的根本問題卻是因為顯著的語言差異。雙方使用不同的言語表達了彼此對工作重點的認知不一樣，但卻沒有討論彼此共同要解決問題的目標是什麼，只是各自表述對解決問題的理解，但這些理解只是手段而非目標，雙方自然會因為彼此想法歧異太大而無法溝通。</p>
<p>學長認為他的觀念沒有錯，領公司的一份薪水，應該多思考來發揮創造力，想想看如何改進工作效率與效益。他說下次要壓抑住快要抓狂的情緒，想辦法改善他的口才來說服同事。但同人認為在這種狀況下，口才根本派不上用場，而是要把心擺在正確的地方，才能弄清楚問題到底是什麼，以及它是否必須要被解決。</p>
<p>學長的技術背景讓他喜歡幫人解決問題，但他的同事依賴經驗卻不認為有什麼問題需要解決，依我看這才是造成雙方爭執最大的原因。學長認為同事面對工作流程的效率不夠好，應該積極思考問題的關鍵，而不是得過且過，用「本來就這樣」的藉口來搪塞。他以為公司是一個團隊，團隊中的成員不應該只懂埋頭苦幹，而是要多加思考來創造更高的價值。</p>
<p>然而或許學長的同事認為流程不需要改善，或是認為不值得在這上面花費時間和心力，或許是認為他有其它更重要的工作要做。其實團隊不可能只有存在一種特質的人，而且必須具備必要的多樣性才能發揮團隊的綜效，解決複雜的問題。</p>
<p>換句話說，團隊不可以只有會思考的人，也不可以只有會埋頭苦幹的人，而是必須同時具備思考和埋頭苦幹特質的人，缺一不可。因此，學長強調自己「正確」的觀念來導引同事思考，想要教他的同事解決不是問題的問題，彼此之間，是因為彼此用的語言不一樣而產生溝通障礙。</p>
<p>學長和他同事的語言如何不同？學長認為工作應該要重視思考和創意，要用更好的方式來完成工作，他說的是「求真」和「求美」的語言；而他的同事則認為在工作上，流程的改變對她而言沒有什麼意義，她說的是「求善」的語言。兩個人說的語言不同，並沒有誰對誰錯，只是訴求的方向不一樣，但執意要以一方的觀念來評論另外一方，只會變成各說各話而陷入「鷄同鴨講」的困境。</p>
<p>面對語言差異產生的溝通障礙，同人認為應該先處理關係，再解決問題。一般而言，溝通過程的緊張關係是因為彼此之間缺乏尊重與信任，當然也就不能相互理解彼此的差異。當溝通出現彼此意見分歧的時候，我們通常會強調自己觀點的正確性，藉以突顯他人觀點的錯誤。但如果以客觀的立場來看待雙方的觀點，每個人的觀點都有正確的訴求，但另一方面，很可能部分觀點會有不正確的地方。</p>
<p>其實不同觀念的歧見是為了發展更為一致性的觀點，而不是讓我們堅持己見而要求別人改變想法。所以不同觀點之間需要進行<a href="http://en.wikipedia.org/wiki/Dialogue">對話</a>，以共同分享彼此的意義。我們應該<a href="http://www.lifeparty.idv.tw/blog/archives/406">尊重</a>和我們抱持不同的觀點的人，並相信雙方可以盡最大的努力以達到「求同存異」，甚至是「聚同化異」，而不是運用口才來批評對方的錯誤。</p>
<p>對話除了尊重以外，<a href="http://www.lifeparty.idv.tw/blog/archives/252">暫緩</a>確定性的想法也是很重要的一件事。這樣我們才能意識個體差異的存在，進而停止爭辯而進行反思，以尋求改進觀念的可能性。暫緩並非放棄自己價值判斷的主張，而是嘗試以思考的可能性取代堅持的確定性；先不要預設對錯，想一想對方可能也有值得參考的觀點，而自己疏漏了什麼。</p>
<p>對話的目的是為了<a href="http://www.books.com.tw/exep/prod/booksfile.php?item=0010292376">與他人建立互相信賴的關係</a>，希望從知己解彼開始，與他人共創雙贏，然後再進一步的達到統合綜效。因此，要化解語言差異的溝通障礙，同人首推對話這個有效的省思工具。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lifeparty.idv.tw/blog/archives/4171/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>占星學看巴菲特的用人哲學</title>
		<link>http://www.lifeparty.idv.tw/blog/archives/4125</link>
		<comments>http://www.lifeparty.idv.tw/blog/archives/4125#comments</comments>
		<pubDate>Mon, 09 Aug 2010 06:04:55 +0000</pubDate>
		<dc:creator>jim yeh</dc:creator>
				<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=4125</guid>
		<description><![CDATA[最近看了《優渥誌：巴菲特直覺》，在「對於人性的直覺」的部分，看到巴菲特用人哲學。一開始同人覺得很有道理。但馬上同人的占星學的直覺告訴我這句話不是有道理而已，還十分深富寓意，表現出股神用人哲學與占星學有著「一致百慮，殊途同歸」的現象。]]></description>
			<content:encoded><![CDATA[<p>最近看了《優渥誌：巴菲特直覺》，在「對於人性的直覺」的部分，看到巴菲特用人哲學：</p>
<blockquote><p>用人要看三個特質：誠實、智慧、活力。最重要的是「誠實」，沒有誠實，這個人的另外兩項特質會毁了你。</p></blockquote>
<p>看到這段話，一開始同人覺得很有道理。但也許是個人習慣以占星學來類化生活見聞的一切事物，同人的占星學直覺馬上告訴我，這句話不是有道理而已，還十分深富寓意；表現出股神用人哲學與占星學有著「一致百慮，殊途同歸」的現象。</p>
<p>在占星學中，獅子座代表誠實的特質、人馬座代表智慧的特質、牡羊座代表活力的特質。這三者都是火象星座，代表一個人行為方面的表現，也就是說從人的行為舉止，便可以知道他的做事能力是不是值得擔當重任。</p>
<p>獅子座是火象星座的固定星座，因此具有穩定的特質，代表標準化行為而象徵典範。人馬座是火象星座的變動星座，因此具有適應變化的特質，代表行為的改變而象徵體驗。牡羊座是火象星座的基本星座，因此具有積極行動的特質，代表行為的主動而象徵執行。</p>
<p>這三者以獅子座的誠實最重要，因為這是行為的準則；沒有誠實，人馬座的行為不足會產生不負責任，而一走了之的智慧、及牡羊座的行為太過則會變成暴虎馮河，死而不悔的活力。</p>
<p>所以巴菲特一句用人的哲學，已經點出<a href="http://www.lifeparty.idv.tw/blog/archives/4021">占星學星座三方與四正的智慧</a>。而在人事占星學的應用，以這三個星座應對的守護星，我們看到員工在工作能力的表現，也就是太陽星座的領導統禦能力（其實隱含水星星座的適應能力，與金星星座的人際協調，親愛的讀者們知道為什麼嗎？），木星星座的臨危處理事情的能力，以及火星星座的技術能力。顯見巴菲特對於人性的認識，其實是洞悉而透徹的。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lifeparty.idv.tw/blog/archives/4125/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>爭論的心理價值</title>
		<link>http://www.lifeparty.idv.tw/blog/archives/3906</link>
		<comments>http://www.lifeparty.idv.tw/blog/archives/3906#comments</comments>
		<pubDate>Wed, 09 Jun 2010 06:04:38 +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=3906</guid>
		<description><![CDATA[前一陣子，同人經歷了一場衝突。在那場衝突中，我與同事進行了言語上的激烈辯論，辯論到後來演變成雙方的意氣之爭。本來對同一件事情，當雙方出現意見分歧這也是很正常的事，加上那次爭論的主題與工作本身無關，所以既然彼此無法針對那件事來溝通，那理應不研究不討論，以免破壞同事間的情誼。 但那場衝突卻讓我體驗到內在心靈面對外在事物的挑釁，使得自我意識按捺不住內心的情緒起伏而起而對抗，或許這是潛意識要意識正視自我內在的衝突，以經驗意識與潛意識的整合。剛好我和同事發生爭論的主題是食物的營養價值，或許這個事件是要我體驗爭論的心理價值。 肉鬆的營養價值 說起來，與同事的爭論源起於微不足道的小事，但發生如此針鋒相對的衝突，卻是令人匪夷所思。在上週四吃午餐的時候，同事甲說他不喜歡三明治夾肉鬆，這時同事乙提到肉鬆是很美味的食物。同人則站在健康的角度說肉鬆並不是營養價值很高的食物，因為豬肉經過高溫及攪碎，它的蛋白質很容易被破壞而不利於健康。 沒想到同事乙對這個一般人都能理解的健康常識有意見，他聲稱蛋白質只要成分在食物裡面，並沒有什麼是不好的蛋白質。他指出肉鬆當中具備所有 20 種「必須胺基酸」，並且強調很多媒體所宣傳的健康觀念都是不正確而受到扭曲。面對這個意見分歧，同人並不想扯出太深奧的理論來爭論，只是舉出實例；同樣是吃蛋白質，吃一包肉鬆和一顆煎蛋其營養價值就是顯然不同的。 同事乙反問同人兩者是同樣重量的嗎？不同重量的食物如何拿來相比？我說那並不成問題，不好的蛋白質是愈吃對身體愈有不好的影響，而好的蛋白質則是有益於身體的健康。一個扣分另一個加分這是很明顯的。然後，奇怪的問題出現了，同事乙要我定義營養價值。這是繼〈金瓶梅與金蘋果〉之後，進行簡單的生活閒聊還需要嚴肅地定義名詞才能討論，這是不是生活白癡症候群的病徵呢？ 同事乙的反應，讓同人發現他顯然不是要分享經驗，只是想為他所喜歡的事物辯護，甚至為了贏得辯論的勝利，運用概念偷換的技巧來扭曲他人觀點也再所不惜。就像把生活化的營養價值，扭曲成蛋白質的胺基酸成分，可惜他在無意之中，不小心在言談中透露他對「必須胺基酸」的無知，因為「必須胺基酸」不是 20 種，而是 8 種。他應該是把基本胺基酸誤解成必須胺基酸，只有基本胺基酸才是 20 種。 因此，對於同事乙的強辯，我根本不想浪費時間與之辯駁，只告訴他，如果他認為肉鬆的蛋白質不錯的話，那就請他餵食他將要出世的寶寶吃肉鬆而不要喝母奶。但他說母乳不只含有蛋白質，還有水，那麼他可以餵他的小孩吃肉鬆配開水嗎？同人很好奇他是不是敢這樣做來證明肉鬆的蛋白質和母乳一樣，而不是沒事找事來跟我做這種無謂的辯論！ 在場有一位女同事丙，對同人與同事乙展開的激辯很不能理解。為什麼我們可以為小小的肉鬆，吵得不可開交呢？在爭吵後的短暫靜默後，我看同事乙沒辦法面對自己的無知，我也不想教導他正確的觀念。但本著知識分享的熱誠，我告訴同事丙要如何分辨吃肉鬆對人身體健康的影響。其實只要觀察自己的糞便顏色及形狀，就可知道你吃下食物是營養還是垃圾，而非如同同事乙說法的無知，以為看不到就無法分辨食物營養成分的好壞。 如果我們吃下去的食物，其中的蛋白質可以被人體完全吸收，而沒有殘存其它的廢物甚至是毒素時，那麼糞便的顏色就是黃色或金黃色，並且呈水滴狀讓人可以一通到底。否則就會出現深褐色甚至趨向於黑色，代表食物的蛋白質不容易消化，而且含有許多的廢物及會對身體產生危害的毒素。這些毒素必須由肝臟分泌膽汁進行酸鹼中和以排出體外，結果就會產生顏色很深及黏性很高的糞便。 衝突後的省思 這場爭論其實只是彼此閒聊的一次擦槍走火，同人相信沒有人想要刻意的製造糾紛。然而讓人疑惑的是，和上次「金蘋果與金瓶梅」的爭執一樣，似乎我看事情的觀點很容易與他人有格格不入的現象。那麼這是我的問題嗎？同人在噗浪以私噗敍述了這事件及我的心情，噗友 NANA 曾經是我過去同事提出了她的看法。 因為我只認識你，所以只能檢討你。或許，某些狀況下，你會不自覺的高調。所以建築了一些想挑戰你的人。 老同事說得沒錯，爭論的確有可能是因為挑戰的氣氛所引起的。同人還記得在這兩次的爭論過程，我似乎感受到對方對我說的事物好像並不怎麼了解，只是在價值觀上不能接受而加以反駁。但有趣的是他們又不願意明說，批判他們所反駁的對象卻又不願意承認他們的反抗是出自於主觀的道德偏見。 我想這包括不管是抽象的文化意涵、或是具體的食物營養價值都一樣。好像是接受了自我意識不願意承認的事物，就會讓人感到一種難以控制的威脅，是以他們必須盡全力地反抗這種可能性，好讓生活可以回歸常規的穩定與確定性。不過說實在的，這種生活態度實在是太過偏頗而狹隘，沒辦法體會到完整的生命。同人相信生命的目的不是為了批判對錯，而是體驗自我的獨特性。因此生命中存在過多的道德批判，其實對生命成長沒有太大的好處，卻多了許多負擔。 或許同人對他們的反應太認真了，畢竟抱持任何生命態度都是當事者自己的選擇，我們也沒必要對某種道德批判加入其它的道德批判。但一旦潛意識激起了內在情緒的本能反應，意識就不該對此等閒視之，因為那代表無意識對意識傳達關於自我表達與實現的重大真相。 顯然我的抗爭是對那些智識平庸，卻想表現出自己無所不知的傢伙。他們以為掌握了真理的真諦，但只在我冷眼旁觀的觀察中，表現出他們的愚昧與心虛。目空一切的他們表面上不去信奉任何信仰，但實際上是把自我投射成扭曲的真理，在不然就是迷信科學來創造他們自己的宗教信仰。同人想起來有一次同事乙說：「凡是科學不能證實的事物都不能相信」為了這句話讓我幾乎和他發生爭吵，所以這次與他辯論而發生衝突，我想可說是其來有致吧。 或許很多事我們不應該輕易地向人們提起，以免為自己帶來不必要的麻煩。如同《榮格自傳－回憶，夢，省思》提到的經驗： 同學威脅要像從前那樣孤立我。我絞盡腦汁想弄清楚自己到底做了什麼事，經過仔細的打聽，我才發現，他們之所以討厭我，是因為我經常對自己可能也不懂的事情加以評論或暗示，比如康德或叔本華，甚至是學校未開設的古生物學；這些令人震驚的發現讓我知道，實際上，所有受到熱烈爭論的問題都與日常生活毫無關係，它們如同我最隱晦的秘密，只屬於「上帝的世界」，因此你最好隻字不提。（《榮格自傳－回憶，夢，省思》，p.107-108。） 榮格在這本自傳批評尼釆在《查拉圖特拉如是說》這本書表現對二號人格病態的誤解。說他毫不擔心、毫不懷疑一個人在對這種事情一無所知，且不理解的世界讓二號人格出來亂跑。他被一種幼稚的希望所驅動，想找到能夠分享他的狂喜、能把握他「重新評價一切價值觀念」的思想的人們，然而他只找到有教養的市儈們，而他自己竟是其中一份子。榮格說在他冒冒失失一頭撞進不可言喻的神秘裡，並想向愚昧的人們讚美時，卻對自己一無所知，他妄想出賣靈魂以換取人們的注意。 我了解，一個人除非跟人們談些他們知道的事，否則只是對牛彈琴。幼稚的人並不會意識到，與友人談論他們不懂的事物是一種污辱。只有當討論者是個作家、記者或詩人時，他們才會原諒這種不客氣的行為。我逐漸明白，一種新思想或是舊思想中一個異乎常人的觀點，都得依靠事實才能與別人溝通。唯有事實站得住腳，不會被掃到一邊去；遲早會有人遇到它們，明白自己發現了什麼。（《榮格自傳－回憶，夢，省思》，p.148。） 於是同人看到了世界上愚昧平庸的人總是佔了多數，他們多半不承認自己的平庸，卻自認懂得很多事。想要跟這些人打交道，你必須要學會不要表現出知道很多他們不知道的事情，以免讓他們覺得難堪。同時這樣做也太幼稚了；只有深入自己的心靈世界中，才不會因為對自己一無所知，而在自我遭到內外衝撞夾擊時，顯出讓自己無所適從的拙態呀！]]></description>
			<content:encoded><![CDATA[<p>前一陣子，同人經歷了一場衝突。在那場衝突中，我與同事進行了言語上的激烈辯論，辯論到後來演變成雙方的意氣之爭。本來對同一件事情，當雙方出現意見分歧這也是很正常的事，加上那次爭論的主題與工作本身無關，所以既然彼此無法針對那件事來溝通，那理應不研究不討論，以免破壞同事間的情誼。</p>
<p>但那場衝突卻讓我體驗到內在心靈面對外在事物的挑釁，使得自我意識按捺不住內心的情緒起伏而起而對抗，或許這是潛意識要意識正視自我內在的衝突，以經驗意識與潛意識的整合。剛好我和同事發生爭論的主題是食物的營養價值，或許這個事件是要我體驗爭論的心理價值。</p>
<h4>肉鬆的營養價值</h4>
<p>說起來，與同事的爭論源起於微不足道的小事，但發生如此針鋒相對的衝突，卻是令人匪夷所思。在上週四吃午餐的時候，同事甲說他不喜歡三明治夾肉鬆，這時同事乙提到肉鬆是很美味的食物。同人則站在健康的角度說肉鬆並不是營養價值很高的食物，因為豬肉經過高溫及攪碎，它的蛋白質很容易被破壞而不利於健康。</p>
<p>沒想到同事乙對這個一般人都能理解的健康常識有意見，他聲稱蛋白質只要成分在食物裡面，並沒有什麼是不好的蛋白質。他指出肉鬆當中具備所有 20 種「必須胺基酸」，並且強調很多媒體所宣傳的健康觀念都是不正確而受到扭曲。面對這個意見分歧，同人並不想扯出太深奧的理論來爭論，只是舉出實例；同樣是吃蛋白質，吃一包肉鬆和一顆煎蛋其營養價值就是顯然不同的。</p>
<p>同事乙反問同人兩者是同樣重量的嗎？不同重量的食物如何拿來相比？我說那並不成問題，不好的蛋白質是愈吃對身體愈有不好的影響，而好的蛋白質則是有益於身體的健康。一個扣分另一個加分這是很明顯的。然後，奇怪的問題出現了，同事乙要我定義營養價值。這是繼〈<a href="http://www.lifeparty.idv.tw/blog/archives/3506">金瓶梅與金蘋果</a>〉之後，進行簡單的生活閒聊還需要嚴肅地定義名詞才能討論，這是不是生活白癡症候群的病徵呢？</p>
<p>同事乙的反應，讓同人發現他顯然不是要分享經驗，只是想為他所喜歡的事物辯護，甚至為了贏得辯論的勝利，運用<a href="http://en.wikipedia.org/wiki/Straw_Man">概念偷換</a>的技巧來扭曲他人觀點也再所不惜。就像把生活化的營養價值，扭曲成蛋白質的胺基酸成分，可惜他在無意之中，不小心在言談中透露他對「<a href="http://zh.wikipedia.org/zh-tw/%E5%BF%85%E9%9C%80%E6%B0%A8%E5%9F%BA%E9%85%B8">必須胺基酸</a>」的無知，因為「必須胺基酸」不是 20 種，而是 8 種。他應該是把<a href="http://zh.wikipedia.org/zh-tw/%E6%A8%99%E6%BA%96%E6%B0%A8%E5%9F%BA%E9%85%B8%E5%88%97%E8%A1%A8">基本胺基酸</a>誤解成必須胺基酸，只有基本胺基酸才是 20 種。</p>
<p>因此，對於同事乙的強辯，我根本不想浪費時間與之辯駁，只告訴他，如果他認為肉鬆的蛋白質不錯的話，那就請他餵食他將要出世的寶寶吃肉鬆而不要喝母奶。但他說母乳不只含有蛋白質，還有水，那麼他可以餵他的小孩吃肉鬆配開水嗎？同人很好奇他是不是敢這樣做來證明肉鬆的蛋白質和母乳一樣，而不是沒事找事來跟我做這種無謂的辯論！</p>
<p>在場有一位女同事丙，對同人與同事乙展開的激辯很不能理解。為什麼我們可以為小小的肉鬆，吵得不可開交呢？在爭吵後的短暫靜默後，我看同事乙沒辦法面對自己的無知，我也不想教導他正確的觀念。但本著知識分享的熱誠，我告訴同事丙要如何分辨吃肉鬆對人身體健康的影響。其實只要觀察自己的糞便顏色及形狀，就可知道你吃下食物是營養還是垃圾，而非如同同事乙說法的無知，以為看不到就無法分辨食物營養成分的好壞。</p>
<p>如果我們吃下去的食物，其中的蛋白質可以被人體完全吸收，而沒有殘存其它的廢物甚至是毒素時，那麼糞便的顏色就是黃色或金黃色，並且呈水滴狀讓人可以一通到底。否則就會出現深褐色甚至趨向於黑色，代表食物的蛋白質不容易消化，而且含有許多的廢物及會對身體產生危害的毒素。這些毒素必須由肝臟分泌膽汁進行酸鹼中和以排出體外，結果就會產生顏色很深及黏性很高的糞便。</p>
<h4>衝突後的省思</h4>
<p>這場爭論其實只是彼此閒聊的一次擦槍走火，同人相信沒有人想要刻意的製造糾紛。然而讓人疑惑的是，和上次「金蘋果與金瓶梅」的爭執一樣，似乎我看事情的觀點很容易與他人有格格不入的現象。那麼這是我的問題嗎？同人在噗浪以私噗敍述了這事件及我的心情，噗友 <a href="http://www.plurk.com/19tw">NANA</a> 曾經是我過去同事提出了她的看法。</p>
<blockquote><p>因為我只認識你，所以只能檢討你。或許，某些狀況下，你會不自覺的高調。所以建築了一些想挑戰你的人。</p></blockquote>
<p>老同事說得沒錯，爭論的確有可能是因為挑戰的氣氛所引起的。同人還記得在這兩次的爭論過程，我似乎感受到對方對我說的事物好像並不怎麼了解，只是在價值觀上不能接受而加以反駁。但有趣的是他們又不願意明說，批判他們所反駁的對象卻又不願意承認他們的反抗是出自於主觀的道德偏見。</p>
<p>我想這包括不管是抽象的文化意涵、或是具體的食物營養價值都一樣。好像是接受了自我意識不願意承認的事物，就會讓人感到一種難以控制的威脅，是以他們必須盡全力地反抗這種可能性，好讓生活可以回歸常規的穩定與確定性。不過說實在的，這種生活態度實在是太過偏頗而狹隘，沒辦法體會到完整的生命。同人相信生命的目的不是為了批判對錯，而是體驗自我的獨特性。因此生命中存在過多的道德批判，其實對生命成長沒有太大的好處，卻多了許多負擔。</p>
<p>或許同人對他們的反應太認真了，畢竟抱持任何生命態度都是當事者自己的選擇，我們也沒必要對某種道德批判加入其它的道德批判。但一旦潛意識激起了內在情緒的本能反應，意識就不該對此等閒視之，因為那代表無意識對意識傳達關於自我表達與實現的重大真相。</p>
<p>顯然我的抗爭是對那些智識平庸，卻想表現出自己無所不知的傢伙。他們以為掌握了真理的真諦，但只在我冷眼旁觀的觀察中，表現出他們的愚昧與心虛。目空一切的他們表面上不去信奉任何信仰，但實際上是把自我投射成扭曲的真理，在不然就是迷信科學來創造他們自己的宗教信仰。同人想起來有一次同事乙說：「凡是科學不能證實的事物都不能相信」為了這句話讓我幾乎和他發生爭吵，所以這次與他辯論而發生衝突，我想可說是其來有致吧。</p>
<p>或許很多事我們不應該輕易地向人們提起，以免為自己帶來不必要的麻煩。如同《<a href="http://www.books.com.tw/exep/prod/booksfile.php?item=0010089083">榮格自傳－回憶，夢，省思</a>》提到的經驗：</p>
<blockquote><p>同學威脅要像從前那樣孤立我。我絞盡腦汁想弄清楚自己到底做了什麼事，經過仔細的打聽，我才發現，他們之所以討厭我，是因為我經常對自己可能也不懂的事情加以評論或暗示，比如康德或叔本華，甚至是學校未開設的古生物學；這些令人震驚的發現讓我知道，實際上，所有受到熱烈爭論的問題都與日常生活毫無關係，它們如同我最隱晦的秘密，只屬於「上帝的世界」，因此你最好隻字不提。（《榮格自傳－回憶，夢，省思》，p.107-108。）</p></blockquote>
<p>榮格在這本自傳批評尼釆在《查拉圖特拉如是說》這本書表現對二號人格病態的誤解。說他毫不擔心、毫不懷疑一個人在對這種事情一無所知，且不理解的世界讓二號人格出來亂跑。他被一種幼稚的希望所驅動，想找到能夠分享他的狂喜、能把握他「重新評價一切價值觀念」的思想的人們，然而他只找到有教養的市儈們，而他自己竟是其中一份子。榮格說在他冒冒失失一頭撞進不可言喻的神秘裡，並想向愚昧的人們讚美時，卻對自己一無所知，他妄想出賣靈魂以換取人們的注意。</p>
<blockquote><p>我了解，一個人除非跟人們談些他們知道的事，否則只是對牛彈琴。幼稚的人並不會意識到，與友人談論他們不懂的事物是一種污辱。只有當討論者是個作家、記者或詩人時，他們才會原諒這種不客氣的行為。我逐漸明白，一種新思想或是舊思想中一個異乎常人的觀點，都得依靠事實才能與別人溝通。唯有事實站得住腳，不會被掃到一邊去；遲早會有人遇到它們，明白自己發現了什麼。（《榮格自傳－回憶，夢，省思》，p.148。）</p></blockquote>
<p>於是同人看到了世界上愚昧平庸的人總是佔了多數，他們多半不承認自己的平庸，卻自認懂得很多事。想要跟這些人打交道，你必須要學會不要表現出知道很多他們不知道的事情，以免讓他們覺得難堪。同時這樣做也太幼稚了；只有深入自己的心靈世界中，才不會因為對自己一無所知，而在自我遭到內外衝撞夾擊時，顯出讓自己無所適從的拙態呀！</p>
<div class="zemanta-pixie"><img class="zemanta-pixie-img" src="http://img.zemanta.com/pixy.gif?x-id=2acd5fde-e1b5-899d-9752-289bc2f182d9" alt="" /></div>
]]></content:encoded>
			<wfw:commentRss>http://www.lifeparty.idv.tw/blog/archives/3906/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>金蘋果與金瓶梅</title>
		<link>http://www.lifeparty.idv.tw/blog/archives/3506</link>
		<comments>http://www.lifeparty.idv.tw/blog/archives/3506#comments</comments>
		<pubDate>Fri, 02 Apr 2010 10:05:37 +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=3506</guid>
		<description><![CDATA[同人發現金蘋果與金瓶梅之間，可能存在某一種關聯性，它們都與女神維納斯有關，然後我提出我的想法。]]></description>
			<content:encoded><![CDATA[<p>昨天午餐與同事閒聊的時候，談到<a href="http://zh.wikipedia.org/zh-tw/%E9%87%91%E8%8B%B9%E6%9E%9C%E4%BA%8B%E4%BB%B6">金蘋果</a>與《<a href="http://zh.wikipedia.org/zh-tw/%E9%87%91%E7%93%B6%E6%A2%85">金瓶梅</a>》的關係，但這個話題使得彼此的談話變得嚴肅，結果讓雙方不歡而散。</p>
<p>故事是這樣的，午餐的時候我們從牛頓談到蘋果。也許是最近看<a href="http://www.books.com.tw/exep/prod/booksfile.php?item=0010089083">榮格自傳</a>的啟發，我想到蘋果本身含有戰爭的原型意含，當然蘋果所代表的原型意涵，也包括了同事甲當時提到「亞當夏娃偷嘗禁果」的原罪。我提到希臘神話故事「金蘋果」由三位女神爭奪一顆蘋果而最後導致特洛依戰爭。當時在場的同事，有很多都沒聽過金蘋果的神話故事，同事甲打趣地說：金蘋果沒聽過，他只知道金瓶梅。</p>
<p>這時候同人發現金蘋果與金瓶梅之間，可能存在某一種關聯性，它們都與女神維納斯有關，然後我提出我的想法。我想到金蘋果是三位女神，包括代表權貴的天后<a href="http://zh.wikipedia.org/zh-tw/%E8%B5%AB%E6%8B%89">希拉</a>、戰功榮耀的智慧女神<a href="http://zh.wikipedia.org/zh-tw/%E9%9B%85%E5%85%B8%E5%A8%9C">雅典娜</a>、以及象徵愛與美麗的美神<a href="http://zh.wikipedia.org/zh-tw/%E9%98%BF%E4%BD%9B%E7%BD%97%E7%8B%84%E5%BF%92">維娜斯</a>。我又曾經在電台節目聽到張曼娟專訪侯文詠談到他的著作，也就是《<a href="http://www.books.com.tw/exep/prod/booksfile.php?item=0010438396">私房閱讀金瓶梅&#8211;沒有神的所在</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/3506/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>管理者如何面對專業受責難</title>
		<link>http://www.lifeparty.idv.tw/blog/archives/3335</link>
		<comments>http://www.lifeparty.idv.tw/blog/archives/3335#comments</comments>
		<pubDate>Wed, 17 Mar 2010 05:57:22 +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>

		<guid isPermaLink="false">http://www.lifeparty.idv.tw/blog/?p=3335</guid>
		<description><![CDATA[短期來說，高層管理者所不願承擔的壓力加諸在專業人員身上，他們總是無力反抗而必須默默承受。但長期讓專業第一線的工作人員一直承受壓力，而不懂得適時激勵來增加專業人才的士氣，總有一天將會令專案付出慘痛的代價：損失重要的專業人才。因此，對於專案管理者而言，這是值得關切的問題。]]></description>
			<content:encoded><![CDATA[<p>這篇文章是投稿 <a href="http://www.zdnet.com.tw">ZDNet Taiwan</a> 的文章原稿，經 ZDNet Taiwan 分<a href="http://www.zdnet.com.tw/enterprise/column/softwaredev/0,2000087962,20144545,00.htm">上</a>、<a href="http://www.zdnet.com.tw/enterprise/column/softwaredev/0,2000087962,20144591,00.htm">下</a>兩篇文章刊登。文章原稿未經 ZDNet Taiwan 編輯，內容可能與刊登內容約略有所不同。</p>
<p>去年的莫拉克颱風重創台灣中南部，對此政府高層質疑中央氣象局的播報「就是不準」。籠罩在批評聲浪的低氣壓之中，使得中央氣象局的士氣大受影響。接著在去年底，傳出中央氣象局預報主任吳德榮申請提前退休的消息，準備要離開他一生奉獻的氣象工作。很多人很婉惜中央氣象局留不住這位素有「氣象王子」之稱的專業人才，但在另一方面，吳德榮決定退休也為他引來不小的批評。</p>
<p>其實從新聞報導看吳德榮決定退休所引來的風波，可以看到專業人士在工作上很容易招致不平等的看待。這在專案開發也是常見的情境；辛苦工作的代價，專案工作者經常要承受無端的指責，而影響工作士氣。</p>
<p>當然短期來說，高層管理者所不願承擔的壓力加諸在專業人員身上，他們總是無力反抗而必須默默承受。但長期讓專業第一線的工作人員一直承受壓力，而不懂得適時激勵來增加專業人才的士氣，總有一天將會令專案付出慘痛的代價：損失重要的專業人才。因此，對於專案管理者而言，這是值得關切的問題。</p>
<h4>專業的傲慢？</h4>
<p>媒體採訪時詢問吳德榮中央氣象局為何不加強氣象宣導，以避免民眾用錯誤認知來責怪氣象局。吳德榮感慨地的回答：「人們普遍理盲又濫情，再如何宣導也沒有用！」，有一位名嘴認為吳德榮這麼說也是「理盲又濫情」。</p>
<p>她說前年的卡玫基颱風，氣象預報不準到離譜本來就應該批評，但去年莫拉克風災氣象局預測兩量的數字比 CNN 的報導要準確，只是不會使用「Huge! Huge!」的形容詞來表示超大豪雨。她說，把氣象預測的結果說得讓一般人都能了解，也是非常重要的專業。她表示想幫氣象局的人員上課，雖然把專業讓一般人能夠了解是很困難的，她不願意苛責氣象局，但如果能做到那不是更好嗎？因此<a href="http://www.lifeparty.idv.tw/blog/archives/2001">認為吳德榮沒辦法宣導卻決定退休是「理盲又濫情」的行為</a>。</p>
<p>監察院認為中央氣象局雨量預報沒有發揮預警功能，遭到監察委員提案糾正通過。監委指出，有專業卻無作為一樣是嚴重疏失，氣象局應檢討如何把「專業知識」轉為「庶民知識」，並有效傳達。監院反諷氣象局，如果預報準確的話，劉兆玄敢去理髮？薛香川敢去吃稀飯嗎？ 監委余騰芳更說重話，對氣象局預報中心主任吳德榮因為遭約談而退休，毫不客氣的兩度重批說這是「專業的傲慢」。</p>
<p>筆者認為對為台灣氣象專業有重大貢獻的人來說，「理盲又濫情」再加上「專業的傲慢」的批評，實在是相當沉重的指控。或許站在非專業人士的立場，專業知識的通俗化與有效宣導真的很重要，但因此把問題歸因到專業沒有善盡把專業講清楚的責任，甚至當專業人士的人生規劃與人們的期待相衝突時，用一些負面的詞語來加以貶抑，這表現了對專業不尊重的態度。我認為這顯示批評者的「不專業的偏見」。</p>
<p>以專案管理的觀點來看，筆者很擔心這種「不專業的偏見」會導致專業人士不願貢獻他們的能力與熱情，慢慢地將造成使團隊專業能力下降的捨本逐末模式。如果人們傾向於把問題一切過錯都推給做事的人，所謂嘴上的「專業」，逐漸演變成為機構的文化與風氣，自然會使得願意在專業領域專精與學習的人愈來愈少。</p>
<p>因為當機構中彌漫著一種碰到問題責怪做事的人的風氣的時候，只會讓人們以後不再願意做事了。反正不做不錯，事情做好又沒有人會獎勵你，如果管理者對工作者的態度是「有功無賞，打破要賠」，那麼只要能夠不攬事在身上就不要多事，否則就要當心付出心血卻被批評有專業沒作為。<br />
<img class="alignnone size-full wp-image-3336" title="不專業的偏見" src="http://www.lifeparty.idv.tw/blog/wp-content/uploads/2010/03/不專業的偏見.png" alt="" width="489" height="375" /><br />
如同筆者常見當專案出現問題時，那些只出一張嘴的人責怪辛苦工作的人，往往是團隊專業能力開始敗壞的前兆。此時專案中最有價值的教訓與經驗，就通常不會有人去關心。慢慢地想藉此磨鍊能力的人愈來愈少，因為工作態度積極的人都不會有好下場，領導者的手下只剩下可以聽命行事的奴才，而沒有在專業領域中精益求精的人才。</p>
<p>那麼身為管理者，該如何在身處壓力下解決這樣的困境呢？解決之道是想辦法增加工作者對工作的熱情，要能夠做到這一點，筆者認為管理者應該激勵工作者來增加他們對工作的熱情。</p>
<h4>現實世界並不理想</h4>
<p>當然，激勵工作者並非一件容易的事。尤其專業工作者是知識工作者，要適時地激勵他們，以發揮專業工作者的工作熱情，更是身為管理者的一大挑戰。專業人士「不求名、不求利，只求爽」，因此對他們而言，提昇權位、或是增加待遇不見得可以激勵士氣，而是必須讓他們在工作上感到無比的成就感，才會對他們產生激勵作用。但為什麼這對管理者難以做到呢？依筆者的觀察，我認為管理者的難題是，沒辦法在激勵行動前必須弄清楚兩個重要觀念。</p>
<p>第一個觀念是現實世界並不理想，我們並未處在理想世界中。因此不該用理想世界的觀點來簡化專業，而要因應現實世界來調整我們的假設；專業不見得能夠預測以防範未然，因為我們的世界會受到少數難以預料極端事件所影響，而不是運用歷史與統計就可以推測變化的。</p>
<p>就如同一般人都了解天氣不可能完全準確預測的道理一樣，雖然氣侯的變化是隨著前一刻的氣候狀態而改變，其間存在著變化的必然性，但實際上它屬於「混沌現象」而無法預測。也就是長時間受到微小的擾動而偏離原來的發展，就像「蝴蝶效應」的說法：南美洲一隻蝴蝶扇一扇翅膀，就會在佛羅里達引起一場颶風。</p>
<p>預測的原理是掌握機率與統計數字，用來幫助人們做決策。然而，真實世界與由機率與統計數字所化約世界之間的落差，不應該由專業工作者預測不準來承擔責任。事實上，這個責任沒有人承擔得起，而是我們對真實世界的了解仍然有限。我們可能知道颱風大約會帶來多大的兩量，但卻難以知道這些雨量會集中在什麼地方而釀成重大災害。而依據海德堡的「測不準原理」，當我們愈能測得準颱風的風速或兩量，那颱風的位置或是影響時間就愈不可能準確。</p>
<p>或許人們可以憑感覺把某種數字賦予災害的形容詞，但這豈是講求實據的專業工作者所應該表現的專業作為？至於要把「專業知識」轉為「庶民知識」的論點，則更是後見之明。問題是沒有人會知道災害會發生在那裡，人們該如何往那裡逃？例如小林滅村的原因之一就是規劃的避難所恰好是被活埋的區域。</p>
<blockquote><p>村民要如何撤離，政府是有一套計劃，小林村也演練過。當天也有村民事先警覺，配合村長的勸導進行撤離。問題是，撤離的計劃估算錯誤，而雨量也遠遠超出原先預期的 500 mm，所以土石走山的區域，根本就把原先認為安全的村民安置點小林國小和和小林行政中心也掩埋了。</p>
<p style="text-align: right;">－from BillPan&#8217;s blog，<a href="http://www.wretch.cc/blog/billypan101/16039190">小林滅村的原因：我的觀點</a></p>
</blockquote>
<h4>狐狸與刺蝟</h4>
<p>管理者要激勵專業工作者，第二個必須弄清楚的觀念是狐狸與刺蝟的差別。「狐狸」與「刺猬」的比喻，是源自柏林（Isaiah Berlin，1909-1997）一篇著名文章〈狐狸與刺猬〉。柏林依據古希臘詩人亞基羅古斯（Archilochus）的話：「狐狸知道很多事，但是刺蝟只知道一件事。」把人分為狐狸與刺蝟兩種。狐狸型的人，總是同時追求很多目標，把世界看得很複雜；而刺蝟型的人總是把複雜的世界簡化成簡單的系統化概念。</p>
<p>《<a href="http://www.books.com.tw/exep/prod/booksfile.php?item=0010202911">從 A 到 A+</a>》的作者柯林斯（Jim Collins）認為，能推動優秀公司邁向卓越的領導人或多或少都屬於刺蝟型。他們運用刺蝟的天性為公司發展出刺蝟原則。對照公司的領導人則比較像狐狸，從來沒有辦法掌握刺蝟原則的優勢，反而總是一心多用，前後矛盾。</p>
<p>另一方面，塔雷伯在《<a href="http://www.books.com.tw/exep/prod/booksfile.php?item=0010399930">黑天鵝效應</a>》提倡相對的觀點，他指出許多失敗的預測來自刺蝟，他們對不太可能發生的事下大注；專注於單一重要而不太可能發生的事件，讓人們被單一的出象結果所蒙敝，無法想像其他的可能性。塔雷伯建議任何人都不要成為一隻刺蝟，而是當一個心胸開放的狐狸；歷史會被單一稀有事件所影響，但沒有人會知道那是什麼事件。</p>
<p>刺蝟與狐狸各有所長，刺蝟強調深入了解事物的本質，狐狸則探討神奇世界的複雜細節。這兩者並沒有優劣高下的問題，而是看待問題須以適合的角色來處理它。因此身為管理者，如果你想勸誡專業工作者去做他們不擅長的工作，強調那是他們也必須學會的專業時，那麼筆者會建議你應該好好想一想；刺蝟之所以是剌蝟，就是他並不是狐狸。</p>
<p>讓專精專業的刺蝟嘗試多做點狐狸的工作，或許你會成功，但小心這樣做要付出更大的代價；可能刺蝟最後才會發現他做不好狐狸的工作，這個過程會因為刺蝟沒辦法做自己而顯得不快樂，甚至最後連怎麼成為刺蝟都忘記了。事情變成這樣的局面，不是因為工作者的能力有問題，而是管理者缺乏識人之明，把人才放到錯誤的位置所造成的問題呀。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lifeparty.idv.tw/blog/archives/3335/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>掌握設計演進的節奏</title>
		<link>http://www.lifeparty.idv.tw/blog/archives/2784</link>
		<comments>http://www.lifeparty.idv.tw/blog/archives/2784#comments</comments>
		<pubDate>Tue, 19 Jan 2010 10:07:32 +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>
		<category><![CDATA[開發流程]]></category>
		<category><![CDATA[領導]]></category>

		<guid isPermaLink="false">http://www.lifeparty.idv.tw/blog/?p=2784</guid>
		<description><![CDATA[在軟體開發的過程中，有沒有方法可以避免我們浪費心力在無謂的堅持上，然後用比較簡單而又有效率的方式來完成我們的工作呢？經過與同事上面的對話，同人想到運用到我在分享會中所提到的觀念與實務，可以很輕易地掌握設計演進的節奏。藉由此篇文章分享出來，也算當做同人在 1/9 敏捷開發分享會後的一個註腳吧。]]></description>
			<content:encoded><![CDATA[<p>在 <a href="http://cb.esast.com/cb/wiki/9584">1/9 在新竹舉辦的敏捷開發方法分享會</a>，當同人分享到 XP <a href="http://en.wikipedia.org/wiki/Refactoring">Refactoring</a> 實務的經驗時，台下有一位聽者剛好也是我目前的同事提出一個問題：該由誰來決定何時應該重構的問題。同人當時回應重構多半發生在軟體架構的設計上，一般開發應用程式的程式員通常比較不太會有機會重構。在專案每天早會上，團隊各個成員會報告他們目前進行的工作狀態，當同人發現他們遇到架構面上的問題，我便會著手進行架構的重構以避免系統發生疊床架屋的現象。</p>
<p>同事好奇重構的決定是否有客觀的標準，同人表示這部分多半還是個人主觀的經驗居多。在同事後來開車載我回台北的路上，我們再次談到決定重構的時機。同事覺得重構的時機似乎不是一件容易掌握的事，同人進一步地解釋，當時我們在應用程式的開發沒有太多重構的機會最主要的原因，是因為在架構上力求簡潔而單純的設計概念，使得應用程式的開發已經變得很簡單，實在不太需要運用重構用來增加設計的彈性。</p>
<p>趁這個機會，同人向同事強調架構的彈性不應該以需求不得改變為前提，而是要能夠因應「有限度」的變化而發展而不斷地調整及演進。也就是好的架構並非從恒久不變的核心來出發，而是要先去識別出問題的輪廓才找得到適用的核心。同人經常在軟體開發的實務中看到，人們花費了太多的心力來堅持不變的核心，到最後才會發現原來問題是出在自己對問題假設錯誤。</p>
<p>那麼，在軟體開發的過程中，有沒有方法可以避免我們浪費心力在無謂的堅持上，然後用比較簡單而又有效率的方式來完成我們的工作呢？經過與同事上面的對話，同人想到運用到我在分享會中所提到的觀念與實務，可以很輕易地掌握設計演進的節奏。藉由此篇文章分享出來，也算當做同人在 1/9 敏捷開發分享會後的一個註腳吧。</p>
<h4>設計演進的基準</h4>
<p>軟體開發與其它的產品開發有一個很大的不同，在於軟體通常很難在一開始就定義出明確的需求規格，取而代之的是軟體的發展方向，是用來解決利害關係人在真實世界所面臨的問題。這也是使用 IPO 傳統目標導向來開發軟體經常遇到的困難，當需求的改變不可能不經常發生的時候，軟體開發在品質文化上就不應該採用「照章行事」的模式，而是應該建立具有回饋機制的開發系統來把穩軟體的開發方向。</p>
<p>可以「把穩方向」的軟體開發系統應該具有什麼樣的回饋機制呢？根據<a href="http://www.anobii.com/books/013ad41f7a862e80dd/">溫伯格在他的軟體管理學的觀點</a>，管理者賴以把穩方向的回饋機制，必須是可以直接及穩定的觀察專案目前的狀況、並且比較專案目標與現況的差異、然後以後續如何減少差異為目標改變或調整計劃、最後再根據計劃採取行動來改善專案狀況。其中有關於直接而穩定的觀察，直接代表肉眼可直接觀察的專案結果，穩定代表不同觀察者每次觀察的結果都相同。</p>
<p>相信從以上的觀點，我們可以清楚看到「把穩方向」的品質文化與敏捷開發調整式規劃的關連。規劃的目的不是為了得到一個巨細彌遺的計劃讓我們照表操課，而是指引一個達到目標的概略方向，然後因應專案實際現狀來調整計劃，來使我們不致迷航。基於這樣的觀念，運用 <a href="http://en.wikipedia.org/wiki/Test-driven_development">TDD（測試驅動開發）</a>剛好可以提供對專案進行直接及穩定的觀察。</p>
<p>TDD 改變我們對解決問題的假設，不假設用什麼方法來解決問題，而是假設問題情境來思考各種可能的方法，並發展出最經濟的解決方案。假設方法如何解決問題並不是不好，只是這樣很容易讓開發者把他所熟悉的方法當成黃金錘，但最後所開發出來的軟體卻不見得符合使用者實際的需要，而且通常要花費很長的時間才會發現以上的落差，因此不會有足夠時間和資源來符合使用者的需求。</p>
<p>如果能儘早驗證開發的成果是否符合實際的需要，開發者就可以在早期得到使用者的回饋，進而調整努力方向來改善開發成果。傳統的開發方法沒有辦法做到早期回饋，是因為使用者要等到軟體開發出來才能接觸到系統，而且通常他們缺乏軟體開發的專業知識，所以在這之前他們是很難給予開發者有效的回饋。TDD 的開發思維則是促使開發者從思考軟體的使用情境出發，不要太早接觸繁複而細節的設計或實作，而是因應實際的需要而定義出界面規格，然後依據這些規格來決定該如何驗證問題能夠被解決。</p>
<p>因此，TDD 可以直接而穩定的在早期觀察開發狀態，提供設計演進的基準。這樣的基準可以讓開發者在開發過程中，直接面對目標而開發系統而不致迷航。也就是因應現實問題情境的需要，開發者未必有足夠的時間與心力來把設計做到盡善盡美，而是嘗試定義出最主要的功能需求，先採用最簡單的方式來滿足它們，然後再視使用者回饋的實際需要增添或修正功能，必要的時候甚至可以進行重構來維持設計簡潔與完整。換言之，TDD 是用來使開發者面對目標，讓開發範圍不要無謂擴張的一項有力工具。</p>
<h4>延緩設計的決策</h4>
<p>然而，當開發者採用了 TDD 的開發模式之後，是否正意味著我們儘快將使用者需要的功能實作出來，並不需要進行太多的設計工作，是否代表設計對使用 <a href="http://en.wikipedia.org/wiki/Extreme_Programming">XP 實務</a>的開發者來說是不重要的呢。但依照同人自身的經驗來看，對於使用 XP 實務的開發者而言，設計並非不重要，而是留下為實際的問題改進設計的彈性。</p>
<p>TDD 並非不做設計，而是把做更周詳的設計的時間延後到可以得到更佳設計決策的時候。或者更根本地來說，TDD 本身就是一種設計手法；而不是因為它以寫測試案例開始，而就把它當做開發的測試過程，<a href="http://www.lifeparty.idv.tw/blog/archives/2669">這樣的誤解反而違反 TDD 的基本精神</a>。</p>
<p>就設計的觀念來看，設計概念的完整性會直接影響設計的良窳。因此開發者應該盡全力來找出解決問題最重要的概念，同時隱藏或略除不必要的實作細節，來使設計更容易了解與實作。這也就是設計關鍵在於抽象化的道理，但問題是在對問題認識未盡全面以及成本或時程的限制，開發者通常沒辦法在第一時間找出解決問題最適當的核心概念。</p>
<p>因此，TDD 在還沒寫實際的程式之前，先撰寫測試案例。其所關注的問題並不是有效率的測試，而是務實的設計。先以測試案例的方法來識別出系統的大致輪廓，目的是以解決問題為前提，把問題的範圍限制在開發者可以全局掌控的情況下發展解決方案。而不是為了解決方案的堅持而使問題發散，最後反而使問題失焦而終致失控局面的發生。</p>
<p>如此，縱使軟體開發的變化是難以預測的，但只要每一次的變化都可以將廣大的可能性，限制在某一部份，那麼開發者就可以在系統的穩定與彈性之間維持良好的動態平衡；既不會讓需求的變化造成設計的崩壞，也不會因為技術的限制而造成設計的僵化。</p>
<p>穩定的設計可以在環境改變的情況下，不致使系統失去控制，彈性則是可以適應需求的變化而改進系統的設計。期待設計在一開始一次到位，這通常是不切實際的期待，還不如面對現實，先用簡單的方式滿足需求，然後隨著對問題的更深入理解，自然而然地演進出可以適應變化的設計。</p>
<p>這樣的觀念是把軟體開發的焦點放在系統邊界，然後隨著環境變化而逐步演進核心的設計，與傳統機械觀點的隱喻所不同的是，軟體開發不是努力去製造一些東西，而是運用生物演化觀點的隱喻：軟體開發是為了改變一些事情而努力。TDD 與 Refactoring 的搭配，正是促成軟體開發演化出複雜適應性以適應變化的實務方法。它們可用來避免軟體設計求道之過，所謂「<a href="http://zh.wikisource.org/wiki/%E6%97%A5%E5%96%BB">道可致而不可求</a>」不去強求而自然得到，才是真正的致呀。</p>
<h4>提早整合的行動</h4>
<p>其實軟體開發專案要把穩方向是很困難的，溫伯格認為主要的原因多半是管理者介入無效的管理作為；沒辦法掌握好「動作要小，行動要快」的原則，結果更增加專案的複雜度與風險，使得問題更加難以處理。</p>
<p>因此，如果使用 TDD 與 Refactoring 這兩項實務，可以讓我們具體地用測試案例來直接而穩定地觀察開發成果，運用簡單的設計來解決問題，又可以在必要的時候施重構來改善設計，以增加適應變化的彈性。那這樣還有沒有可能沒辦法掌握好設計演進的節奏呢？同人認為唯一的可能就是開發者沒有提早整合的行動，例如沒有在早期接受回饋以調整測試案例與重構，使得行動太慢，動作太大。</p>
<p>為什麼開發者會沒有提早整合呢？理論上，當開發者開發的程式完成 TDD 的測試程式之後，照理要進行清理程式碼的動作。比如說進行重構來去消除程式碼的重覆性或使程式碼看起來更簡潔而易懂。這樣可以讓程式碼在每一次的修正之後，都還是最乾淨的情況下，所以是不大可能會增加程式碼複雜度而造成未來難以維護的問題。</p>
<p>然而，在考量專案實際的問題下，開發者不見得每一次都會有足夠的時間來整理他的程式碼，使之形成良好的程式寫作風格與結構。而且管理者也很難知道開發者到有沒有力行這樣的原則，除非能夠對每一支程式來進行 <a href="http://en.wikipedia.org/wiki/Software_peer_review">Peer Review</a>，否則只有「完成功能之後必須清理程式碼」的說法，而沒有為提昇程式碼品質而在每支程式交付時，提供改善回饋的具體措施，對專案其實並沒有太大的助益。</p>
<p>可能有人會認為<a href="http://en.wikipedia.org/wiki/Pair_programming">搭檔編程</a>的實務，就是讓每一次的程式開發都提供回饋。基本上同人並不反對這樣的說法，但要這樣做必須注意開發團隊的文化是否能夠支持這樣的做法。</p>
<p>同人以前曾有專案成員調動到使用搭檔編程的專案團隊，雖然看起來搭檔編程似乎讓她能力有所成長，但我也發現到她也出現適應不良的現象而心生抗拒，而當同人與他當時的主管當時的關心，也很難讓他願意分享自己的心情。由此看來，似乎還是有人習慣自己一個人寫程式，而不喜歡由兩個人共同開發一支程式，而且開發資源的分配者也不見得能夠支持這樣的觀念。</p>
<p>當然，要針對每一支程式做到 Peer Review，在實務上還是有很大的困難的。同人認為問題並不是 review code 要花費多少時間，而是專案需不需要針對程式碼進行儘早的回饋，以在最適當的時機採取最適當的行動？這其實是取決於專案願意花費多大的代價來提昇軟體的品質，不然當品質不合乎需求時，專案所節省下來的預防與檢驗成本將會為造成更大的失敗成本。</p>
<p>要落實提早整合的行動，專案團隊每天早上的 <a href="http://en.wikipedia.org/wiki/Stand-up_meeting">Daily stand-up</a> 會議與採用 <a href="http://en.wikipedia.org/wiki/Daily_build">Daily build</a> 持續整合的機制，是讓開發團隊的反應能力可以「與時俱進」的回饋活動。就像同人在分享會所分享的實務，在 Daily stand-up 會議得到開發實際碰到的問題，其實是幫我們識別關鍵設計概念的機會。由於過去問題尚未出現或對它們還不太明瞭，所以我們不需要或沒辦法進行設計的深入考量。而在 Daily stand-up 會議中，我們可以及時得到用來演進設計的資訊，並討論如何在後續的計劃中調整設計。</p>
<p>至於 Daily build，每天都會整合出可以實際運作的軟體。在 build 軟體的過程中，會自動執行 TDD 的自動化測試，以確保系統功能都是正常的。如果在 build 的過程中發生問題，馬上會立即通知相關的開發者立即解決問題。這樣可以在每天都讓每個開發小組都能密切地保持緊密的溝通與整合，發現問題立即處理而不需要等問題擴大之後才動大刀。</p>
<p>Daily stand-up 會議與 Daily build 的活動，讓每天都持續溝通與持續整合，每次都讓專案都朝向目標前進一小步，更重要的是，讓成員與時俱進地掌握設計演進的節奏！</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lifeparty.idv.tw/blog/archives/2784/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>測試驅動開發的步驟</title>
		<link>http://www.lifeparty.idv.tw/blog/archives/2737</link>
		<comments>http://www.lifeparty.idv.tw/blog/archives/2737#comments</comments>
		<pubDate>Thu, 07 Jan 2010 06:46:19 +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>
		<category><![CDATA[開發流程]]></category>
		<category><![CDATA[閱讀]]></category>

		<guid isPermaLink="false">http://www.lifeparty.idv.tw/blog/?p=2737</guid>
		<description><![CDATA[敏捷開發並不是教條式的照本宣科，開發者要懂得變通最重要的是用心思考，而非把必要的思考都看成精神層面的問題，這並非適用於敏捷開發的心智模式。以下是同人在 Facebook 的 Scrum community in Taiwan 的回應，但文辭有略為做過一番修飾，可以用來澄清我對測試驅動開發步驟的看法。]]></description>
			<content:encoded><![CDATA[<p>昨天寫的〈<a href="http://www.lifeparty.idv.tw/blog/archives/2716">測試驅動開發要徹底重構</a>〉，曾經提到 Steven 說到「如果像閣下文中說：『系統不斷演進及需求不斷改變之下，也可能會使架構或設計愈來愈複雜而變得難以維護』，我則認為是在進行 TDD 時候沒有徹底去重構系統。」，同人認為這段話有根本上的邏輯的繆誤，於是回應：</p>
<blockquote><p>假如上面的話是成立的，那麼代表只要徹底重構系統就不會造成「系統不斷演進及需求不斷改變之下，也可能會使架構或設計愈來愈複雜而變得難以維護」嗎？如果是這樣，那 XP 根本就不需要 Refactoring 這個實務來改善程式的結構，因為你都徹底重構程式，程式結構變差的情況是根本不可能發生。</p>
<p>而且依照本人 20 年來軟體開發的經驗，我還不沒有看到有程式一開始就寫得很好，到後來可以不用改變架構而符合新需求的。倒是隨著對問題的更清楚，或是程式需求的變化，讓程式必須重構的現象時常履見不鮮！</p>
<p>所以如果自以為自己博覽群書，很懂得TDD的實務。也不要忘了用心思考，以免自己對TDD的最佳實務的認知，不小心犯了根本上的邏輯繆誤？</p></blockquote>
<p>結果，後來同人在 <a href="http://www.facebook.com/group.php?gid=179345672472">Facebook 的 Scrum community in Taiwan</a> 看到 Steven 做了以下的回應：</p>
<blockquote><p>先說件簡單易明的事情，其實我很不喜歡閣下把 TDD 放到 "精神" 層次，卻忘記了基本步驟。</p>
<p>之前的討論根本連事實層次都被忽略，根本談不上是什麼多少年的經驗或者如何用心思考，連 TDD 的最基本步驟也忘記，TDD 的基本步，不是閣下做多少年工作就可以把人家的定義去改變的，我也不明白為何有 20 年工作經驗就可以把 "Refactoring" 說成 "並不必然是 TDD 的必要的步驟"，這不是邏輯問題，更不是有過什麼開發經驗然後用心思考就可以改變的事情，這是就算對軟體開發的認知不夠閣下那麼 "全面" 的都能看出的謬誤，如果閣下這樣就認為是因為說不過閣下就建議多看書本，本人深表遺憾。</p>
<p>我是來討論問題的，我沒有興趣去傷害閣下感情，好好閱讀書本，只是反映 TDD 三個步驟是什麼根本不存在爭議，更沒有 "好好閱讀什麼書或文章才能跟我討論" 的意思，我還未自大得要別人看過多少書才可以討論問題，亦正如討論問題我也不用跟別人說我有多少年工作經驗一樣，而且本人是衷心認為多讀書是有益的（不管是閣下還是什麼人），多讀書亦不是為上來辯論的，不過閣下如果感到有所不悅的，我就先行道歉，還是希望冷靜一點討論問題。</p>
<p>而簡單的例子也是思辦的過程的一部份，一方面是簡單易明地討論問題，另一方面是如果連簡單的例子也說不通，又怎麼能去談更複雜的問題呢？</p>
<p>上面提到："那XP根本就不需要 refactoring 這個實務來改善程式的結構，因為你都徹底重構程式，程式結構變差的情況是根本不可能發生。"</p>
<p>不如冷靜一點再讀讀這句子，"XP 不需要 Refactoring 是因為徹式地進行 Refactoring"，我就看不明白這是什麼邏輯，一邊說不需要，另一邊說徹底地進行。</p>
<p>這裡的問題是軟件是會改變的，可能是新增功能，也可能發現有其他問題，每次帶來的變更其實都需要進行重構的。所以說 XP 不需要 Refactoring 也不正確。</p>
<p>世上的確沒有一寫就好的代碼，而且世界是會變的，Refactoring 就是避免以後的更改越來越困難。把 "徹底地進行重構" 理解成 "XP 不需要重構這實踐" 完全沒有邏輯可言。</p>
<p>我也沒有反對不用改變程式架構就能滿足新需求，亦沒有否定 Refactoring 的重要性，只不過我還是建議新的功能以 TDD 方式進行開發，有測試、有代碼、然後進行重構的。</p>
<p>在足夠測試覆蓋下進行重構是可使系統在不斷演進及需求不斷改變之下，使架構或設計仍然處於可以維護的狀態，相反我指出的是，如果程式架構和設計越來越難維護，是重構的力度不足夠。</p>
<p>前面還提到："但重構的目的為何？就重構的定義在不改變功能的情況下改善程式結構，以增加程式碼的彈性以利未來增加或改變功能。因此如同那第三步所言，為了去掉重覆性而重構。"</p>
<p>如果重構只是為了去掉重覆性，那 TDD 的第三步不如叫 "Remove Duplication" 好了，無可否認代碼重覆是很常見的問題，但把這裡的重構限制成消除代碼其實會局限系統的將來發展，而且到了 TDD 的第三步，系統是應該有足夠的測試去覆蓋系統，重構的力度沒理由只局限於新增功能和現有程式的重覆。</p>
<p>我就相信閣下是 Refactoring 的專家，也應該會知道一些 Refactoring 的模式是完全相反的，例如 "Pull Up Method" 和 "Push Down Method"，更是需要觀察當時的情況來作決定，而沒有一面倒那個才是好的模式，我實在不明白為何要把 TDD 的 Refactoring 局限到只做 "去掉重覆性"。</p>
<p>這是實務上會發生的事情，消除代碼重覆以外的重構還是會發生的，如果只是單單只是 "消除重覆"，這會是另一個我認為進行重構不夠徹底的事情。</p>
<p>上面已經不單單是用心思考，而是由理論到實踐都可以看得到的事情。</p>
<p>跟討論 Refactoring 和 TDD 觀點以外的聲音，就引用 Chet Henderickson 的說法，全部都是我錯好了，現在可以解決問題嗎？</p></blockquote>
<p>看了 Steven 的回應，同人當下的反應是不想浪費時間與心力與他周旋下去，但後來想到或許是因為 <a href="http://cb.esast.com/cb/wiki/9584">1/9 敏捷開發分享會</a>我要分享實施 XP 的經驗與心得，也許這是一個巧妙的<a href="http://en.wikipedia.org/wiki/Synchronicity">同步事件</a>。我可以趁這個機會，導正對 XP 或是 Agile 的一些錯誤觀念。</p>
<p>例如敏捷開發並不是教條式的照本宣科，開發者要懂得變通最重要的是用心思考，而非把必要的思考都看成精神層面的問題，這並非適用於敏捷開發的心智模式。以下是同人在 Facebook 的 Scrum community in Taiwan 的回應，但一些詞句有略為做過一番修飾，以清楚表達我對測試驅動開發步驟的看法。</p>
<p>呵呵，Steven Mak 的回應很有趣，把別人說成錯的不代表自己就是對的。這跟他先前面對觀點的差異就要人好好的看書的行為是如出一轍，但問題是要別人好好看書也不代表說這句話的人書看得比別人廣泛或是深入。更何況，看很多書是一回事，有沒有讀懂書中作者所傳達的意思又是另外一回事。從 Steven 喜歡用斷章取義的方式解讀我的觀點，以抽取他想要的意義來看，恐怕他看書的目的只是揀選他要的部分，沒有弄懂作者想要傳達的意思的可能性可能居多吧！</p>
<p>對了，我忘了 Steven 的中文可能不夠好，沒辦法弄懂我所表達的意思。如果是這樣，他其實大可以告訴我，我不會叫他去好好地學中文，或是嘲笑他那麼簡單的句子都看不懂，而是想辦法要怎麼表達才會讓他了解我的想法。省去他猜錯我的意思，而顯露出他並沒用心體會或是根本不想思考別人的觀點的窘態。</p>
<p>當然，以上的假設可能是不成立的，他的中文其實很好。但如果是這樣，他的邏輯思維能力真的要加強，因為思考為什麼是最基本的能力，不是什麼經神層次。</p>
<p>記得去年同人應邀到中山大學演講，有機會與鄭炳強教授在餐敍之中交流軟體開發的觀念。他特別強調軟體工程最重要的不是 know how，而是 know why。因為遇到不同需要而要採用適當的方法，唯有具備 know why 的能力才能做到。以 Steven 那麼重視看書來增加知識的態度來看，他應該也很重視軟體工程的學界權威的看法吧？可是如果鄭教授看到 Steven 把 know why 的思維定位成精神層次，我想也很可能會令他很搖頭吧！</p>
<p>回歸正題，Robert C. Martin 在《<a href="http://www.books.com.tw/exep/prod/booksfile.php?item=0010293039">敏捷軟體開發</a>》這本書（林昆穎，吳京子，2005）中提到測試驅動開發法，他說：</p>
<blockquote><p>所有的產出的程式碼都是為了讓失敗的單元測試通過而編寫的。首先，我們先寫一個單元測試案例，由於它所要測試的功能並不存在，所以它不會通過，然後我們再編寫程式碼，使得測試案例通過。</p>
<p>編寫測試案例與程式碼之間的反覆來回非常快速。只花費一會兒的功夫。測試案例與程式碼一起演進，而測試案例會比程式碼更早一點。</p>
<p>結果，一組非常完整的測試案例隨著程式碼一起增長，這些測試可讓程式員檢驗程式是否正常運作。如果有一組小搭檔做了些小修改，他們可執行這些測試案例，以確保修改並未對程式碼造成任何破壞。這會極有利於進行重整。</p></blockquote>
<p>咦，堂堂一位敏捷開發大師級人物，怎麼他也沒提到 TDD 要重構，只說可以有助於未來的重構，難道他也擅改了 TDD 的步驟了嗎？讓我們看另外一本書。點空間的朱子傑和陳盈學翻譯的《<a href="http://www.books.com.tw/exep/prod/booksfile.php?item=0010326978&amp;">The object primer 3/e 中文版－靈活模型驅動開發與UML2</a>》中有更具體說明TDD的步驟，而且還附了流程圖（有興趣自己買書來看）。</p>
<blockquote>
<ol>
<li>快速地加入一段測試，基本上只要能夠測試一段程式碼即可，此時你的測試結果會是失敗的。</li>
<li>執行你的測試，一般是全部的測試套件（test suite）。有時候為了速度上的考量，你可能只決定執行這一部分的測試。目的是確認新的測試結果確實是失敗的。</li>
<li>更新你的功能程式碼，使得測試可以通過。</li>
<li>再次執行你的程式。</li>
<li>如果測試還是失敗，再執行步驟3。</li>
<li>如果通過測試，便重新開始（此時若有重複的程式碼，你便需要重構你的設計）</li>
</ol>
</blockquote>
<p>上面的步驟有提到重構，但也提到重構的前提是如果有重覆的程式碼才要重構。那如果沒有重覆程式碼，那還需要重構嗎？還是如 Steven 所說，去除重覆的程式碼的重構還是不夠徹底的重構？</p>
<p>答案很顯而易見，TDD的步驟本來就沒有規定一定要重構。事實上，重構對有經驗的開發者就是像吃飯或喝水般如此直覺，在開發程式的過程中，諸如像改變函數或變數的名字讓它們變得有意義或容易了解，一段重覆被呼叫的程式碼把它們提取成函數或類別。他們經常無意識地去重構，但有意識地面對他們開發過程所遇到的問題，諸如程式碼的重覆或不易了解等問題，而不是漫無目的的為重構而重構。</p>
<p>是以在開發功能的程式碼，因為編程手法的熟練，重覆碼根本就不存在，難道還需要一個重構的 process 嗎？由此可知，Steven 的徹底重構之說，其實就是邏輯上所謂的以偏概全，用部分的事實擴大到全面性的觀點。但真相是 TDD 未必要進行重構，除非你需要它。所以這當然是邏輯的問題，其實從我指出他邏輯的矛盾之後，他的反應更顯出欠缺邏輯的思辨能力。</p>
<blockquote><p>不如冷靜一點再讀讀這句子，"XP 不需要 Refactoring 是因為徹式地進行 Refactoring"，我就看不明白這是什麼邏輯，一邊說不需要，另一邊說徹底地進行。</p></blockquote>
<p>Steven 上面的質疑乍看來似乎有道理，但仔細看看，原來他把時間的因素拿掉了，有<a href="http://en.wikipedia.org/wiki/Straw_Man">偷換觀念</a>的嫌疑。我原先的說法是說因為先前徹底地重構，所以未來就不需要重構了，被他偷換成一邊說不需要，另一邊說徹底進行。</p>
<p>照他原來的邏輯，如果先前徹底重構的程式碼到後來還需要再次重構，那原來的重構還能叫徹底重構嗎？我們常看到有些人會在問題發生的時候，會說因為別人寫的程式碼出問題，是因為沒有徹底的重構，但在明眼人的眼中，這種說法可以用台語說「出一支嘴」！要嘛有徹底重構先見之明的人，你就再一開始就告訴大家什麼叫做徹底的重構，保證以後不會出問題，省得以後出了問題再說重構不夠徹底，後見之明說重構不夠徹底，這種說法誰都會說但卻根本做不到！</p>
<p>更何況重構的方法有好幾種，決定該怎麼重構的時間還沒到，如何徹底重構？或許有人會想依據未來的預測來徹底重構，但這樣想的人大概忘了敏捷方法是不進行預測的，只有因應現實而改變。</p>
<p>蘇格拉底說：「事情的好壞不重要，重要的是你的想法和看法。」本來針對事情來討論是一件好事，目的是為了思考彼此之間的差異點而獲得成長。無奈 Steven 一開始為了捍衛他的觀點，就針對和他觀點不同觀點的人，拼命強調同人說 TDD 不必然需要 Refactoring 的觀念是錯的，叫我要多看書暗示我不夠用功，其實這樣的行為模式突顯他面對意見紛歧沒有反省思辨的能力。</p>
<p>至於同人提出邏輯思辨的想法就叫做精神層面的說法，同人只能說這其實表現出 Steven 自以為是的「自我感覺良好」，運用修辭技巧閃來閃去還是難逃嚴謹的邏輯批判。他要表演這些同人其實沒什麼意見，他可以繼續活在他的象牙塔之中。但對於同人而言，我的收穫只是多看到一個負面教材，這對我 1/9 敏捷開發分享會的聽眾和閱讀我文章的讀者來說可是一大貢獻呀。Steven 說他不小心傷害我的感情；呵呵，少來了，不禮貌與不尊重的行為代表他不夠理性，只是顯出他的無理而已。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lifeparty.idv.tw/blog/archives/2737/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>測試驅動開發的精神</title>
		<link>http://www.lifeparty.idv.tw/blog/archives/2669</link>
		<comments>http://www.lifeparty.idv.tw/blog/archives/2669#comments</comments>
		<pubDate>Tue, 05 Jan 2010 10:46:00 +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=2669</guid>
		<description><![CDATA[測試驅動開發的精神，不應該用一般機械論的觀點來進行工作或任務的化約，而是基於複雜理論的重要觀念；維持穩定與變化的動態平衡，不在於掌握系統核心而在於邊緣，讓變動限定在人們可以掌握的範圍內，這或許才是測試驅動開發最關鍵的精神吧！]]></description>
			<content:encoded><![CDATA[<p>在 Facebook 的 <a href="http://www.facebook.com/group.php?gid=179345672472&amp;ref=share">Scrum Community in Taiwan </a>看到 <a href="http://www.wretch.cc/blog/kojenchieh">David Ko</a> 提到：</p>
<blockquote><p>聽到有人說 TDD 是個測試的 practice，跟 RD 不是那麼有關，我想這是誤會了。TDD是一種設計的活動，它並不是單純在做 verification，它是一種 spec 確認的活動。</p></blockquote>
<p>David Ko 還分享了一篇<a href="http://aydsoftware.blogspot.com/2009/03/tdd-synergy.html">探討 TDD 的文章</a>供大家參考。這讓同人想到我之前曾經<a href="http://www.lifeparty.idv.tw/blog/archives/266">對 InfoQ 的一篇有關軟體開發信仰問題的文章做過的評論</a>。</p>
<p>在那篇文章的評論當中，同人認為作者不應該拿 <a href="http://en.wikipedia.org/wiki/Test-driven_development">TDD</a> 與<a href="http://en.wikipedia.org/wiki/Acceptance_test">驗收測試</a>相提並論，因為 TDD 並不是測試的 practice，而是設計的活動。如果這兩種實務可以相提並論，似乎就像是爭論有了良好品質的設計就可以省略測試，或是增加測試的效率就可以取代設計的重要性。同人當時在我的評論中提到：</p>
<blockquote><p>測試的涵蓋面要夠廣，軟體開發所需的開發成本與時間就要增加，所以與其靠檢驗來控制品質，還不如把設計做好。所以，品質是設計出來的，而非檢驗出來的。</p>
<p>不過，雖然品質並不是檢驗出來的，但軟體要具備足以信賴的品質，卻不能省略測試。舉個例子來說，不管開發者如何確保他的開發所產出的品質，驗收測試是絕對不可能省略的，否則客戶是很難信任軟體是合乎他們需求的。良好的軟體設計可以減輕測試的負擔與壓力，但它絕對無法否定軟體測試的價值。</p></blockquote>
<p>因此，同人認為不該拿 TDD 來與各種形式的測試來做比較，但在 David Ko 提出這個主題後面的討論，我卻看到一個我不太認同的說法。<a href="http://www.facebook.com/profile.php?id=668168338">Steven Mak</a> 提到：</p>
<blockquote><p>世上總有些傻人愛做傻事，阻止不了他們的 <img src='http://www.lifeparty.idv.tw/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  不單是由測試去訂定功能規格，更不要忘了 Refactoring!</p></blockquote>
<p>同人以為由測試去訂定功能這個觀點不符合 TDD 的精神，因為正如同我之前一直強調的，TDD 並不是測試。至於 <a href="http://en.wikipedia.org/wiki/Refactoring">Refactoring</a> 是不改變功能的情況下使程式的結構可以更有彈性或是更簡單，它也無法用來訂定功能規格。但 Steven Mak 卻說：</p>
<blockquote><p>TDD 就是由測試去驅動開發功能，寫測試就是第一步，到底有什麼不符合 "TDD 精神"？還有，Refactoring 本身是 TDD 三步之中其中必要的一步，沒有訂定功能用的。但我相信把 TDD 以為是測試的人是忘掉了 Refactoring 這一步。</p></blockquote>
<p>看來 Steven Mak 以測試驅動開發的第一步就是寫測試程式為理由，以為測試並沒有不符合 TDD 的精神，只是認為人們忘卻去做 refactoring，才會以為 TDD 只是用測試來訂定功能規格。同人認為這樣的觀點混淆了測試驅動開發的目的不在測試驅動本身，而是主導開發過程中可以具體落實簡單設計。也就是說測試並非目的，而只是手段而已！</p>
<p>事實上功能不是由測試來訂定的，而是由使用者實際需求來決定。測試程式只是讓開發者找到更具體的方法，來具體驗證使用者的實際需求，這也就是 David Ko 所說確認規格的活動。因此，測試驅動開發的目的是讓我們開發的程式碼能夠符合實際的需要，用可驗證的程式來確定我們開發的程式是符合實際需要的，以避免 <a href="http://en.wikipedia.org/wiki/Overengineering">over-engineering</a> 或是 under-engineering，所以其目的是為了讓我們發現更符合實際需要的設計。</p>
<p>運用測試驅動開發，可以讓開發者的設計儘量簡單，因為開發的目標很具體地呈現在眼前。開發者已經事先對需求的確認花過一番心思考量，把現階段已經確認而且最重要的需求寫成測試程式，一旦開發的程式符合測試程式的要求，那就代表程式已然滿足實際的使用者需求，而使開發者不致浪費心力在不重要或是目前無法確定的需求上。</p>
<p>因此測試驅動開發可以讓開發者立即用最<a href="http://www.lifeparty.idv.tw/blog/archives/888">簡明而單純</a>的設計完成開發工作，好處是讓開發者知道自己在做什麼，而非浪費時間在做沒有意義或無關緊要的事。但任何一開始簡明而單純的設計，在系統不斷演進及需求不斷改變之下，也可能會使架構或設計愈來愈複雜而變得難以維護。這時候單靠 TDD 的簡明與單純也可能沒辦法容納這種複雜性，而是要運用 Refactoring 來增加設計的彈性；也就是在不改變系統功能的情況下，改善系統設計的結構，使它可以因應未來增加需要的功能。</p>
<p>因此 Refactoring 與 TDD 是兩個相互獨立的 practice，雖然 TDD 可以讓重構更為可行。但兩者不必要要混為一談，也就是 Refactoring 並不必然是 TDD 的必要的步驟。</p>
<p>在大部分的情況下，用 TDD 落實簡單的設計就已經夠用了，除非我們真的發現到我們需要更大的彈性才需要進行 Refactoring 的行動。敏捷開發不是強調方法論的教條，因此不管是 TDD 或是 Refactoring，都是為了真實世界的問題的需要，而非方法論的信仰，這也是同人之前評論 InfoQ 那篇文章，最主要想要批判的重點。</p>
<p>因此，雖然 TDD 這三個字母或是測試驅動開發這六個字當中，測試驅動就佔掉了這個名詞的 2/3，但切莫以為 TDD 就是以測試去訂定功能規格，這只是對 TDD 流於表相的認識，而看不清楚這個名詞最重要的兩個字「開發」的真相。</p>
<p>測試驅動開發的精神，不應該用一般機械論的觀點來進行工作或任務的化約，而是基於複雜理論的重要觀念；維持穩定與變化的動態平衡，不在於掌握系統核心而在於邊緣，讓變動限定在人們可以掌握的範圍內，這或許才是測試驅動開發最關鍵的精神吧！</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lifeparty.idv.tw/blog/archives/2669/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>再談技術經理當教練</title>
		<link>http://www.lifeparty.idv.tw/blog/archives/2634</link>
		<comments>http://www.lifeparty.idv.tw/blog/archives/2634#comments</comments>
		<pubDate>Thu, 31 Dec 2009 10:31:03 +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=2634</guid>
		<description><![CDATA[技術經理當教練如果對公司是不好的徵兆，問題應該還是出在領導上，誠如同人過去發表過的文章所講的：強將手下無弱兵，但也不會有強將。沒有辦法訓練培養人才的教練，還是因為技術經理不諳教練之道呀！]]></description>
			<content:encoded><![CDATA[<p><a href="http://scmteamwork.blogspot.com/">MaoYang</a> 兄看到我分享〈<a href="http://www.lifeparty.idv.tw/blog/archives/2563">技術經理的教練角色</a>〉之後，他在<a href="http://www.plurk.com/p/36po20">噗浪河道上</a>回應他對我文章觀點的看法。他說：</p>
<blockquote><p>我常在做的 "教練" 工作大部分是在講一些基礎的東西與衍生的技術, 但是倒沒有想過要將團隊變成 "一致性" , 試想, 你身為經理確發現實作的工程師缺乏某些觀念時, 你不得不著急,但是這種狀況出來的時候, 產品也開始出現許多問題, 這是技術經理面臨最大的挑戰。但是當技術經理開始當 "教練" 已經離開工程師角色一段時間, 這又是另一個挑戰</p></blockquote>
<p>同人很高興 MaoYang 能夠針對這個主題提出討論。對於他所提到的問題，我常看到的是技術經理不能因材施教，所以究竟來看也是身為教練本身指導的彈性不足，也是多樣性的問題，尤其在軟體開發專案更為常見。</p>
<p>而且有時候工程師不是不懂那些概念，而是他們碰到一些技術經理不重視或忽略的問題，但如果沒辦法幫他們解決那些問題，如何讓他們接受那些觀念。教練就只會流於說教的自說自話。所以是管理能力的不足而非技術，也是我文章著墨於領導觀點重於技術觀點的主要原因。</p>
<p>對於領導，MaoYang 認為最好的領導是當顧問而不是教練；他提到工程師可以自己發現問題，來請教 "顧問" ，當然如果工程師都看不到問題，那麼就另當別論。MaoYang 還提到他很欣賞上次 <a href="http://www.wretch.cc/blog/kojenchieh">David Ko</a> 在<a href="http://www.lifeparty.idv.tw/blog/archives/2114">敏捷開發分享會</a>提到的經驗；團隊主動提出要使用 Scrum，這時候身為經理的 David 只要做順水推舟的工作即可。</p>
<p>不過同人倒是認為，David Ko 的經驗是可遇不可求的。同人的經驗顯示，在台灣的軟體開發機構，是很少經營者有願意改變的胸襟與勇氣，即使有些老闆在口頭上說改革，但骨子裡卻是很畏懼改變而使所謂的改革只是流於表相化。</p>
<p>MaoYang 提到他在職場現實看到的一個現象；他說我在文中提到教練最好可以不給答案，而是提出問題讓工程師去思考。但是他在現實職場看到的是一堆人在揣摩老闆在想什麼？要怎麼做，老闆才會滿意？因此有時候他反而不太喜歡這樣的領導模式。同人覺得 MaoYang 這段說到重點了，但為什麼會形成這樣的企業文化呢？</p>
<p>MaoYang 說他覺得在中國人的企業都會有這種問題，這是為什麼 "雍正王朝" 被列為某些企業的管理教材。在雍正王朝裡面一堆這種範例，沒有正確答案，正確答案在主子的腦袋裡面。 這種文化要改，可能是領導者的腦袋要先改。</p>
<p>然後 MaoYang 還分享後來他想到他說技術經理下來當教練是不得不，意思是說理論上應該不用走到這一步，問題出在當初找人時，沒有嚴格把關，沒有找到對的人。他還提到 《<a href="http://www.books.com.tw/exep/prod/booksfile.php?item=0010387385">Peopleware</a>》 裡面也有講要如何 interview 工程師，所以《<a href="http://www.books.com.tw/exep/prod/booksfile.php?item=0010202911">從 A 到 A+</a>》裡面也有講企業要成功，要找到對的人。所以他認為技術經理當教練的徵兆對一家公司其實是不太好的，技術經理應該去看前瞻的東西，而不是當一名 "教練"。</p>
<p>其實同人很同意找到對的人來做事的想法，但事實上這卻是不容易做到的，尤其是軟體開發工作的專案，更難以找到對的人來做事。這種困難包括兩種情境，一種是找不到合適的人才來執行任務，另一種是把真正的人才放到不正確的任務上。</p>
<p>第一種情境雖然很常看到，但經常也可能是技術經理沒辦法慧眼識英雄或因材施教，而使好的人才淪為的犧牲品。在這種情狀下，其實問題不在找不到人才而是經理人本身領導或管理的問題。寫到這裡，我想到溫伯格在《<a href="http://www.books.com.tw/exep/prod/booksfile.php?item=0010411034">第一級評量</a>》講的一句話：沒有不好的士兵，只有不會帶兵的將領。</p>
<p>所以技術經理當教練如果對公司是不好的徵兆，問題應該還是出在領導上，誠如<a href="http://www.lifeparty.idv.tw/blog/archives/433">同人過去發表過的文章</a>所講的：強將手下無弱兵，但也不會有強將。沒有辦法訓練培養人才的教練，還是因為技術經理不諳教練之道呀！</p>
<div id="_mcePaste" style="overflow: hidden; position: absolute; left: -10000px; top: 525px; width: 1px; height: 1px;">http://www.books.com.tw/exep/prod/booksfile.php?item=0010202911r</div>
]]></content:encoded>
			<wfw:commentRss>http://www.lifeparty.idv.tw/blog/archives/2634/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>技術經理的教練角色</title>
		<link>http://www.lifeparty.idv.tw/blog/archives/2563</link>
		<comments>http://www.lifeparty.idv.tw/blog/archives/2563#comments</comments>
		<pubDate>Wed, 30 Dec 2009 10:50:16 +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=2563</guid>
		<description><![CDATA[在觀念上，以上的討論已經將技術經理擔任教練的動機及基本觀念，詮釋地相當清楚。但從自己實際從事技術工作的經驗來看技術經理當教練這件事，事情卻好像並不如以上討論到的那麼簡單。同人認為 MaoYang 兄提到的這個主題，可以從兩方面來探討，一個是技術經理要教練的東西為何，另一個則是技術經理擔任教練的目的為何。]]></description>
			<content:encoded><![CDATA[<p>在噗浪的河道上看到 <a href="http://scmteamwork.blogspot.com/">MaoYang 兄</a>提到<a href="http://www.plurk.com/p/35gjjy">技術經理做好教練角色的困難</a>。他說：</p>
<blockquote><p>技術經理有時候要扮演 "教練" 的角色, 這時候要將正確的觀念傳遞, 這是有點困難的, 因為往往會被自己的極限所限制, 想起了一位朋友,他是長笛老師, 他說他知道那個音要如何如何才是完美的, 但是他確無法示範出來</p></blockquote>
<p>對於 MaoYang 兄的觀點，<a href="http://prudentman.idv.tw/">通達人</a>認為 MaoYang 的朋友應該要學如何示範，不然就不是個夠格的老師。這代表了技術經理應該要學習如何正確示範，否則就不能算是個好教練。MaoYang 兄進一步解釋他對技術經理擔任教練角色的觀察：</p>
<blockquote><p>在公司內部, 技術經理當 "教練" 並不是明定的工作, 但是當團隊的程度良莠不齊的時候, 技術經理帶頭出來當 "教練" , 是不得不的, 但是技術經理有時當管理職太久, 要把許多實作交代清楚, 這是當技術經理累人的地方</p></blockquote>
<p>以上的解釋，通達人認為他同意當「教練」並不是技術經理明定的工作，但為了要避免身為技術經理的時間都被部屬瓜分了，較佳的方案還是當教練，讓部屬有成長的機會和空間。另外，有一位噗友 Daniel Li 也認為，身為技術領導者，給部屬魚吃不如教他如何釣魚。因為總是有一天，他們會離開教練單飛，就像教小孩走路；我們不可能一直挨著他隨時扶著他，只能教他方法、鼓勵或強迫他嘗試，並獎勵或誇大他的小成功。</p>
<p>在觀念上，以上的討論已經將技術經理擔任教練的動機及基本觀念，詮釋地相當清楚。但從自己實際從事技術工作的經驗來看技術經理當教練這件事，事情卻好像並不如以上討論到的那麼簡單。同人認為 MaoYang 兄提到的這個主題，可以從兩方面來探討，一個是技術經理要教練的東西為何，另一個則是技術經理擔任教練的目的為何。</p>
<p>技術經理應該要教導他的團隊成員什麼東西呢？MaoYang 的長笛老師朋友說知道什麼才是完美音符，但自己卻不知道怎麼示範，然而如果技術經理知道如何示範他所知道的完美，那麼是否他就能夠傳遞正確的觀念了呢？答案並非如此，因為在這個地方存在一個陷阱；對於藝術而言，或許追求完美是有所意義，但在技術的領域中，完美真的是那麼絕對而必須去追求嗎？</p>
<p>在科技的領域中，我們通常找不到真正的完美。站在解決問題的角度來看，以前被認為是完美的方法，也許在今天會無法解決我們面對的問題。換言之，很多表面上看起來相似的問題，但在問題的本質上卻是全然是完全不同的，而且人們通常沒有辦法一眼認清它們，而是要深入研究後才能知道如何找到適合的方法來解決問題。這其實也是技術開發工作最困難的地方，很多問題很難找到最佳的解法，而只能基於現實用最適解來處理它們。</p>
<p>所以對於逐漸不再接觸技術的管理者而言，他們過去以為的完美是否到了今天還是那麼如此絕對呢？答案未必見得。就像<a href="http://www.lifeparty.idv.tw/blog/archives/368">溫伯格評論「成熟度」是偏頗字眼的道理</a>一樣；所謂完美通常是基於個人信仰的價值判斷，這只是基於個人的感情需要，而非專案的真正需要。</p>
<p>因此，技術經理應該要教導他的團隊成員的東西，不應該是他已經知道的東西，而是他還不知道的東西，這樣他的團隊才能不被自己的所知有限而限制住。但如何可以做到呢？同人認為好的教練不會給答案，而是提出關鍵的問題教人們去思考，使人們在困惑產生學習的動機，以及有勇氣質疑權威與傳統上以為的理所當然。這樣才能增進團隊成員解決問題的能力，提供答案不會讓他們得到成長，只會造成依賴而削弱他們的力量。</p>
<p>至於技術經理擔任教練的目的為何，MaoYang 說當團隊的程度良莠不齊的時候，技術經理才不得不帶頭出來當 "教練"。那是否意味著技術經理當教練是為了讓團隊素質可以齊一化呢？但如果答案是肯定的，那代表在團隊的多樣性會慢慢消失而由—致性來取代，那麼喪失一致性的代價是否值得。但如果答案是否定的，那麼技術經理擔任教練的目的終究為何呢？</p>
<p>對同人的這個疑問，通達人認為在保有多樣性的同時，也必須注意—致性。因為一致性是合作的基礎，就像足球隊隊員們都須熟練基本技巧「控球」和「傳球」，才能在實際比賽中透過一系列交互傳球得分。通達人說的沒錯，但在實務上，同人經常看見技術經理會犧牲團隊成員的多樣性來增加一致性。</p>
<p>比如說運用制度或規章來抑制團隊成員的行為，不希望成員面對問題採取不一樣的想法與做法，但這通常是因為<a href="http://www.lifeparty.idv.tw/blog/archives/433">技術經理的管理彈性不足，才會對團隊成員處處設限</a>。因為依據「必要多樣性法則」，系統的行為會由系統最有彈性的部分來掌控，如果技術經理的彈性不足，那麼團隊的多樣性將會造成他在管理上的困難。因此他必須設法降低多樣性才有辦法管理好他的團隊，但如此一來也等於抑制成員的創意，常會使得問題的解決更加困難。</p>
<p>當然團隊合作需要一致性，但技術經理當教練當拿一致性來取代多樣性卻不見得是明智的。就拿所謂的基本動作來說好了，很多人都忽略了基本動作需要以成員背景能力與組織文化為前提。因為如果不考量專案臨時與獨特的特性，你可以找到適合的人依據某種方法來訓練，但專案的特性讓你找不到適合的人來達到目的。</p>
<p>因此對專案而言，基本動作是夠用就好，但何謂夠用，正考驗著經理人面對現實的勇氣與智慧；縱使團隊的一致性可以降低管理的困難度。但一致性不是技術經理當教練的目的，只是用來達成最終目的－提昇團隊績效的手段之一。因此，如果解決專案問題的需要更高的團隊多樣性，恐怕如何提昇管理的彈性，才是技術經理成為好教練的關鍵因素吧！</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lifeparty.idv.tw/blog/archives/2563/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
