<?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/thinking/system-thinking/feed" rel="self" type="application/rss+xml" />
	<link>http://www.lifeparty.idv.tw/blog</link>
	<description>君子學以聚之,問以辨之,寬以居之,仁以行之</description>
	<lastBuildDate>Fri, 05 Mar 2010 04:18:37 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>失望與干擾行為</title>
		<link>http://www.lifeparty.idv.tw/blog/archives/419</link>
		<comments>http://www.lifeparty.idv.tw/blog/archives/419#comments</comments>
		<pubDate>Wed, 31 Dec 2008 09:14:12 +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/archives/419</guid>
		<description><![CDATA[前一陣子，看到朋友碰到人際關係的困擾，讓我很想寫一篇文章來探討失望與干擾行為之間的關係。在前幾天，同人也碰到與家人的意見分歧，發現自己其實也沒有處理得很好；雖然問題不大，但事後回想自己應該會有更有效的溝通方式，發現自己想要寫的文章正好可以用來檢視自己。加上這兩天，朋友似乎對他的困擾還是難以釋懷，於是驅使我動筆將這篇文章寫出來，希望能夠有助於解決他的問題。
人們對於周遭的人總是會抱持著一些期望，希望他們能夠按照我們的意思去做。然而，每個人對同一件事的想法不盡相同，當發現對方出現行為落差時，人們很容易因為感到失望而產生困擾，使他想要採取行動來解決他的困擾。
我們該如何解決失望所產生的困擾呢？一般人多半會採取行動來干擾對方的行為，以反制對方的行為來控制對方的行為。這樣做除了可以發洩不滿的情緒，使自己覺得好過一點之外、還可以讓對方感到恐懼而令他們改變。但實際上，對方真的會因為我們的干擾而改變他們的行為嗎？其實並不然，我們的干擾行為不但沒辦法令他們改變；而且還會對我們採取相對反制的行為，讓我們更加失望，就如同下面的動態模型所示。

因為我們的干擾行為也會使得對方失望。人同此心，心同此理，對方自然也會採取反制行為以干擾我們的行為。於是，彼此的行為結構產生讓人更失望的增強環路，使得雙方更加失望而讓衝突愈演愈烈。如此可以想見，彼此的關係會因此受到衝擊，讓彼此關係出現裂痕，問題就更難以解決。
那麼我們該如何解決對方令我們失望的事件不斷重演呢？我們應該改善彼此關係而非糾正對方行為。就像同人在〈憤怒無補於事〉中曾經提到過的：
我們不一定要用生氣的情緒來回應事件。打破情緒失控的行為模式，最有效的方式就是換一種更積極的行為反應；也就是設法改善我們與對方的關係，增進彼此互信與降低衝突的可能性，才能真正的解決問題。
我們的干擾對方的行為，或許能夠在懲罰對方讓他不好過。但同樣地，對方的反制之舉也只會讓我們更生氣，這樣除了嚴重傷害彼此感情之外，對於解決問題也只是於事無補。
然而，如何在意見分歧的情形下，以不傷感情的方式進行有效溝通，來解決對方令我們希望的問題呢？同人認為最重要的是不要期望改變對方，而是要尊重對方與我們的差異，才能進一步理解為何為彼此之間會出現行為落差，然後再針對問題進行對話，才能在維繫雙方的關係下，為解決問題而共同努力。
沒有人可以改變除了自己以外的人，因此期待他人改變往往最後只會招致失望，而干擾行為則是招致失望的具體舉動呀。
]]></description>
			<content:encoded><![CDATA[<p>前一陣子，看到朋友碰到人際關係的困擾，讓我很想寫一篇文章來探討失望與干擾行為之間的關係。在前幾天，同人也碰到與家人的意見分歧，發現自己其實也沒有處理得很好；雖然問題不大，但事後回想自己應該會有更有效的溝通方式，發現自己想要寫的文章正好可以用來檢視自己。加上這兩天，朋友似乎對他的困擾還是難以釋懷，於是驅使我動筆將這篇文章寫出來，希望能夠有助於解決他的問題。</p>
<p>人們對於周遭的人總是會抱持著一些期望，希望他們能夠按照我們的意思去做。然而，每個人對同一件事的想法不盡相同，當發現對方出現行為落差時，人們很容易因為感到失望而產生困擾，使他想要採取行動來解決他的困擾。</p>
<p>我們該如何解決失望所產生的困擾呢？一般人多半會採取行動來干擾對方的行為，以反制對方的行為來控制對方的行為。這樣做除了可以發洩不滿的情緒，使自己覺得好過一點之外、還可以讓對方感到恐懼而令他們改變。但實際上，對方真的會因為我們的干擾而改變他們的行為嗎？其實並不然，我們的干擾行為不但沒辦法令他們改變；而且還會對我們採取相對反制的行為，讓我們更加失望，就如同下面的動態模型所示。</p>
<p><img width="432" src="http://www.lifeparty.idv.tw/blog/wp-content/uploads/2008/12/interfere.jpg" alt="interfere.jpg" height="284" /></p>
<p>因為我們的干擾行為也會使得對方失望。人同此心，心同此理，對方自然也會採取反制行為以干擾我們的行為。於是，彼此的行為結構產生讓人更失望的增強環路，使得雙方更加失望而讓衝突愈演愈烈。如此可以想見，彼此的關係會因此受到衝擊，讓彼此關係出現裂痕，問題就更難以解決。</p>
<p>那麼我們該如何解決對方令我們失望的事件不斷重演呢？我們應該改善彼此關係而非糾正對方行為。就像同人在〈<a href="http://www.lifeparty.idv.tw/blog/archives/346">憤怒無補於事</a>〉中曾經提到過的：</p>
<blockquote><p>我們不一定要用生氣的情緒來回應事件。打破情緒失控的行為模式，最有效的方式就是換一種更積極的行為反應；也就是設法改善我們與對方的關係，增進彼此互信與降低衝突的可能性，才能真正的解決問題。</p></blockquote>
<p>我們的干擾對方的行為，或許能夠在懲罰對方讓他不好過。但同樣地，對方的反制之舉也只會讓我們更生氣，這樣除了嚴重傷害彼此感情之外，對於解決問題也只是於事無補。</p>
<p>然而，如何在意見分歧的情形下，以不傷感情的方式進行有效溝通，來解決對方令我們希望的問題呢？同人認為最重要的是不要期望改變對方，而是要尊重對方與我們的差異，才能進一步理解為何為彼此之間會出現行為落差，然後再針對問題進行對話，才能在維繫雙方的關係下，為解決問題而共同努力。</p>
<p>沒有人可以改變除了自己以外的人，因此期待他人改變往往最後只會招致失望，而干擾行為則是招致失望的具體舉動呀。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lifeparty.idv.tw/blog/archives/419/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>憤怒無補於事</title>
		<link>http://www.lifeparty.idv.tw/blog/archives/346</link>
		<comments>http://www.lifeparty.idv.tw/blog/archives/346#comments</comments>
		<pubDate>Wed, 04 Jun 2008 09:47:53 +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/archives/346</guid>
		<description><![CDATA[誠如《人性的弱點》所提到的「指責與批評無補於事」，等到下一次同樣的事件再度發生，問題依舊還是會發生。因此如果我們要幫助當事人，應該是想辦法讓他們明白不要用生氣來解決問題，憤怒往往是無補於事的。]]></description>
			<content:encoded><![CDATA[<p>最近出現了幾則當事人情緒失控的新聞。陳幸妤在她工作的診所前<a href="http://news.google.com.tw/news?client=firefox-a&amp;rls=org.mozilla%3Azh-TW%3Aofficial&amp;hl=zh-TW&amp;tab=wn&amp;ned=tw&amp;ie=UTF-8&amp;ncl=1222821542">發洩對媒體的不滿情緒</a>、桃園某國中女導師在課堂<a href="http://news.google.com.tw/news?client=firefox-a&amp;rls=org.mozilla%3Azh-TW%3Aofficial&amp;hl=zh-TW&amp;tab=wn&amp;ned=tw&amp;ie=UTF-8&amp;ncl=1224888592">歇斯底里毆打學生被拍攝ＰＯ上網</a>、花蓮某國小體育老師<a href="http://news.google.com.tw/news?client=firefox-a&amp;rls=org.mozilla%3Azh-TW%3Aofficial&amp;hl=zh-TW&amp;tab=wn&amp;ned=tw&amp;ie=UTF-8&amp;ncl=1225117727">提童倒插水</a>處罰未帶泳褲的學生，這些事件都是因為出自當事人用憤怒來面對他人干擾行為、或令人失望的行為，但結果卻沒有解決問題，反而使他們更加難堪。</p>
<p>同人從網路上看到一些文章對這些事件的評論。Satans 認為「<a href="http://blog.pixnet.net/satanstw/post/18138945">可憐之人必有可恨之處</a>」，陳幸妤被媒體偷拍跟踪真的很可憐，但在媒體面前控制不住情緒激動地發飆大罵，等於是正中他們下懷，這又令人覺得可恨。他提到：</p>
<blockquote><p>遇到問題就該想辦法解決而不是只會發洩情緒。陳水扁是她爸爸這是無法改變的，狗仔隊也不可能立刻在世界上消失，那麼解決問題的方法就是想辦法讓狗仔隊不再跟著她。要怎麼不跟著她呢？讓狗仔隊對她不感興趣就成。我的建議是陳幸妤以後不要再發飆暴走，看到狗仔隊時可以主動示好打招呼，讓狗仔隊想拍的爆點通通都不見，當然狗仔隊就會失去興趣而不再跟拍她。</p></blockquote>
<p>Mr. Friday 對導師怒罵毆打學生的暴行，感慨「<a href="http://mmdays.com/2008/05/31/student_and_teacher/">一個老師的名譽，就這樣毁了</a>&#8230;」。他認為不管老師的舉動是否適當，將影片放在網路上這件事，是學生〈們〉對女老師單方面的、而且是佔盡便宜的攻擊。他提到：</p>
<blockquote><p>作出這樣行為的學生〈們〉，可以想見，不會被退學〈但老師很可能會被開除或記大過〉，不會被公佈姓名〈但是老師的名字已經被公佈了〉，未來找工作時，也不會有人拿著這條新聞來問你：你夠格嗎？〈但是這位老師很有可能會〉。而這位老師，就算能夠保住職位在學校裡繼續工作，也必定成為大家指指點點的對象，包括未來的學生家長，都會持續對這位老師發出質疑。</p></blockquote>
<p>William 則認為<a href="http://william.cswiz.org/blog/archives/2008-06-02/education-chaos/">老師處於教育亂象中，應該懂得自保</a>。在現今整體教學環境的改變情況之下，教育當局似乎也尚未對老師提供足夠的後勤支援。因此教師得確應該學習自保，也該學習更有效的管教方式。他提到那位導師其情可憫，但這絕對不是個案，也絕對不會發生。希望在第一線的老師千萬要學習自保之道，因為老師的教學熱誠，不值得葬送在這種不受教的學生身上。</p>
<p><a href="http://www.anobii.com/books/003c090aeb89be096b/" title="更多關於人性的弱點"><img border="0" align="right" src="http://image.anobii.com/anobi/image_book.php?type=4&amp;item_id=003c090aeb89be096b&amp;time=0" alt="人性的弱點的圖像" style="padding: 5px" title="更多關於人性的弱點" /></a>其實從這些文章的評論中，都指出一個重點；那就是在個人處於無力改變環境的情況下，我們應該思考如何處理與解決問題呢？許多人都對這些當事人投以關注及同情的眼光，認為他們是環境的犧牲者，因此予以聲援，並指責、批評環境應該改變。然而誠如《<a href="http://www.anobii.com/books/003c090aeb89be096b/">人性的弱點</a>》所提到的「指責與批評無補於事」，等到下一次同樣的事件再度發生，問題依舊還是會發生。因此如果我們要幫助當事人，應該是想辦法讓他們明白不要用生氣來解決問題，憤怒往往是無補於事的。</p>
<p><a href="http://www.anobii.com/books/007de1925444094639/" title="更多關於EQ"><img border="0" align="left" src="http://image.anobii.com/anobi/image_book.php?type=4&amp;item_id=007de1925444094639&amp;time=0" alt="EQ的圖像" style="padding: 5px" title="更多關於EQ" /></a>就如同《<a href="http://www.anobii.com/books/007de1925444094639/">EQ</a>》所引用亞理斯多德所說的話：「任何人都會生氣，那沒什麽難；但要能適時適所，以適當的方式對適當的對像恰如其分地生氣，那可就難上加難。」控制情緒並不在於情緒的壓抑，而是在於如何疏導與轉化我們的情緒，讓它適時地以正確的方式表現出來。當然，這並不是簡單的一件事，但卻是每個人無法逃避的責任，否則，我們的情緒反應將會形成我們難以抗拒的動態系統，也將主宰著我們情緒失控的宿命。</p>
<p><img src="http://www.lifeparty.idv.tw/blog/wp-content/uploads/2008/06/060408-0947-1.png" /></p>
<p>上圖所顯示的正是此動態系統的系統思考圖。他人向我們做出干擾或令人失望的不良行為，讓我們感受到情緒壓力；表面上透過情緒反應似乎可抒解壓力，但一旦我們憤怒、指責、乃至批評，對方就會感受到我們的敵意而使彼此的關係降低，於是做出更大的干擾行為，造成我們更大的情緒壓力而形成情緒無法抒解的惡性偱環。</p>
<p>這就是「<a href="http://jonathanspeaking.blogspot.com/2007/07/structure-causes-behavior.html">事件產生結構，結構造成行為模式</a>」的窘境，我們明明知道憤怒不但不能解決問題，還會讓我們逃避不了情緒失控的宿命；然而在當下，我們就是會被系統背後所存在的結構逼著我們做出對自己不利的行為舉動，以發飆來發洩我們的情緒。<a href="http://jonathanspeaking.blogspot.com">喲哪桑</a>學長曾說：「結構往往是背後的心智模式使然，然而換了一個人到某個結構中，卻未必能讓那結構改變。」難道事情就真如學長說的那樣，我們沒辦法改變造成我們情緒失控的結構嗎？</p>
<p>同人從來不認為環境無法改變就必須自暴自棄，用負面情緒來反應不滿。從個人在生活上及工作上對於處理衝突及情緒問題的體驗，發現事情就如同<a href="http://www.anobii.com/books/013ad41f7a862e80dd/">溫伯格在他寫的書</a>中所引用的一句話：「讓人感動的不是事件本身，而是我們對事件的反應」一樣，我們不一定要用生氣的情緒來回應事件。從過去的經驗，我們很輕易地會讓學習到，要打破情緒失控的行為模式，最有效的方式就是換一種更積極的行為反應；也就是設法改善我們與對方的關係，增進彼此互信與降低衝突的可能性，才能真正的解決問題。在此，同人提出我在<a href="http://www.lifeparty.idv.tw/blog/archives/75">《是你選擇了憂鬱》的讀書心得</a>中所提到的觀點：</p>
<blockquote><p>我們須掌握住「你的行為會造成雙方距離疏遠或拉近？」的原則，才能與身邊的人維持良好的關係。我們唯一能控制的只有自己的行為，關鍵就在於我們到底願意為增進彼此關係做什麼樣的努力？過去我們習慣一味地問自己的感覺、指責對方的不是，但卻忘了面對真實的現在，雙方要有共識：關係的改善是現在最重要的事情，然後共同面對問題想出解決之道。</p></blockquote>
<p>因此，如果陳幸妤正視她成為公眾人物的事實，懂得與媒體維持良好的關係，或許就不致讓她變成狗仔文化的犧牲者。同人不認為她必須懂得與媒體的應酬之道，但她至少可以選擇不用把自己的情緒毫無保留地在媒體面前展現，使得情緒容易被激化，讓她變成具有顯著性新聞話題的角色，也就註定她在新聞上的悲劇角色。</p>
<p>因此，我們固然應該批評媒體毫無人性，但是否也該想一想，難道陳幸妤的性格不該為媒體面前情緒失控，負起一部分的責任嗎？如果我們能夠體認到這一點，我們就不會批評要她做好情緒管理的言論沒有人性。因為我們知道，關鍵不在於陳幸妤應不應該生氣，而是如何讓陳幸妤不會輕易地讓媒體玩弄情緒反應。</p>
<p>同樣的道理，兩則師生關係的衝突也是因為老師沒有與學生建立好適當的關係。女導師說「她不想放棄這個班級」是令人動容的，然而她所採取的行為卻是讓學生與她之間的關係的疏離，試想這樣怎麼可能把這個班級的學生救回來呢？老師的行為只是將他們往壞學生的位置推過去，其實她的做法是與想法相互違背的呀！</p>
<p>或許女導師有「恨鐵不成鋼」的心境，希望他們成材，而學生的漠不關心卻讓她很著急，因此才會有如此激烈的情緒反應。但她卻忽略了在這種心理狀態下，是不可能解決問題的。因為在相互抗爭的過程中，我們很難會有時間去思考與反省，更不用說表現出老師教學的專業來讓學生受益了。</p>
<p>男體育老師認為「他故意不帶游泳褲」，因而生氣地處罰學童而使他身心嚴重受創。男老師明顯地是犯了心理學上所說的「<a href="http://en.wikipedia.org/wiki/Fundamental_attribution_error">基本的歸因錯誤</a>」，把事件歸咎於學童的人格因素而非情境因素。同人相信，如果他與學童建立了良好的關係，就不大可能會認定他是故意做出令人失望的行為，被「<a href="http://www.lifeparty.idv.tw/blog/archives/128">巧妙的壞人故事</a>」所誤導，而做出情緒失控的行為，而葬送了自己的前程。</p>
<p>因此，從這些情緒失控的新聞事件看來，環境如何變化或許並非我們所能輕易掌握的；但我們應該學會控制情緒，才能真正解決生活或工作上的問題，這才是最重要的生活與專業能力。就如同文章前面所提到的，控制情緒並不在於我們必須壓抑憤怒，而是疏導與轉化自己的情緒，讓它以適當的方式表達出來。</p>
<p>如此就不會因為我們無意識的發飆舉動而破壞了我們的人際關係，而是有意識地覺察與體驗情緒所帶來人生課題的學習與成長。最後同人謹分享自己很喜歡的一段話，來為本文來當做結尾：</p>
<blockquote><p>危機與難關，是因為我們不能以整體性的知見來審視自己；我們會發現，唯一需要改變的是自己：是內在心識而非外在環境。</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.lifeparty.idv.tw/blog/archives/346/feed</wfw:commentRss>
		<slash:comments>17</slash:comments>
		</item>
		<item>
		<title>為何聽不到使用者心聲？</title>
		<link>http://www.lifeparty.idv.tw/blog/archives/335</link>
		<comments>http://www.lifeparty.idv.tw/blog/archives/335#comments</comments>
		<pubDate>Thu, 17 Apr 2008 00:26:29 +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/archives/335</guid>
		<description><![CDATA[鍾翠玲看到建築師與校方的溝通上出了問題，她認為這是因為校方沒有積極地參與設計的緣故。但如果在軟體專案碰到同樣的現象時，筆者不一定會認為是因為使用者缺乏積極參與。筆者認為，即使使用者積極參與設計，開發者還是會因為與使用者之間存在觀念溝通上的藩離，而聽不見使用者的心聲。]]></description>
			<content:encoded><![CDATA[<p>本篇文章是投稿 <a href="http://www.zdnet.com.tw">ZDNet</a> 文章〈親愛的 User，為什麼我不懂你？〉的原稿，並分為<a href="http://www.zdnet.com.tw/enterprise/column/softwaredev/0,2000087962,20128345,00.htm">上</a><a href="http://www.zdnet.com.tw/enterprise/column/softwaredev/0,2000087962,20128583,00.htm">下</a>兩篇刊登。原稿未經 ZDNet 編輯，其內容可能會與刊登的內容有約略的不同。</p>
<p>很多人都知道溝通對專案的重要性，透過溝通，開發者可以瞭解使用者的需求，並據以實現。然而實際上，專案的溝通卻常會因為種種原因而出現問題，除了無法實現使用者需求之外，還會造成使用者的抱怨以及不愉快的使用經驗。</p>
<p>無論建築或是軟體開發，溝通不良都會造成專案的失敗。如同 ZDNet 副總編<a href="http://www.zdnet.com.tw/enterprise/column/zdnote/0,2000088197,20126077,00.htm">鍾翠玲所觀察到的現象</a>，建築師無法了解使用者的需求就相當於軟體系統架構師或專案經理不了解使用者的作業流程或習慣，結果就是建造出不合用的建築或軟體系統。</p>
<p>鍾翠玲從災後學校重建的實例中看到建築師與校方的溝通上出了問題，她認為這是因為校方沒有積極地參與設計的緣故。我們很難知道這是否是實情，但如果在軟體專案碰到同樣的現象時，筆者不一定會認為是因為使用者缺乏積極參與。從筆者的專案經驗顯示，即使使用者積極參與設計，開發者還是會因為與使用者之間存在<strong>觀念溝通上的藩離</strong>，而聽不見使用者的心聲。</p>
<h4>組織邊界的隔閡</h4>
<p>傳統的工業經濟，由於講求大量生產，客戶無須與製造者溝通，因此沒有溝通的問題。但知識經濟強調的是可以符合不同客戶差異性的需求，因此開發者必須與客戶溝通以進行客製化的工作，然而組織邊界的藩籬卻經常增加了溝通難度。</p>
<p>軟體開發者與使用者所遭遇的問題常常不一樣，並且受限於環境、背景、專業、能力等因素，對問題往往會有不同的表達方式或認知，這也就常常造就了先天上的溝通障礙。</p>
<p>為了讓彼此的溝通更加順暢，資訊部門常會擔任開發者與使用者之間的溝通橋樑。他們與使用者處於相同的組織，會比開發者更了解使用者的問題；同時資訊部門也比使用者更了解資訊技術的專業，與開發者溝通會比較不會因為技術背景不同而產生認知上的落差。</p>
<p>然而實際上卻不盡然如此，開發者與資訊部門的溝通還是會讓開發者不見得可以正確無誤地聽到使用者的心聲，其中的原因之一是因為<strong>組織邊界</strong>是相當不容易跨越的。筆者曾經與石頭成、喲哪桑討論過這個議題，提出了我們各自的經驗與看法。</p>
<p>筆者認為<a href="http://www.lifeparty.idv.tw/blog/archives/73">開發者與資訊部門之間，存在對專案不同的期待與目的</a>，使得彼此很難建立共同目標，除非彼此之間存在足夠的信任。在沒有足夠的互信基礎下，彼此之間很難達成共識，而造成了交易成本的增加。</p>
<p>石頭成認為開發者與使用者之間，交易成本的增加是因為<a href="http://blog.roodo.com/rocksaying/archives/3237349.html">資訊部門與開發者的專業經理並不是真的系出同門</a>。他提出了資訊部門的出身科系以資管系居多，開發者的專案經理的出身科系以資工系居多的假說。他認為如果此假說成立，正代表了資訊部門與專案經理之間互相不知道彼此在想什麼。也就是說專案經理不敢承諾資訊部門提出的需求；資訊部門不肯為專案經理提出的功能背書，因此產生了龐大的交易成本。</p>
<p>喲哪桑則根據他的觀察提出了另一種可能的觀點，也就是<a href="http://jonathanspeaking.blogspot.com/2007/05/rdmis.html">研發人員與資訊部門心中的技術階級制度在作祟</a>。他發現很多人常常覺得系統管理的階級，比做研發人員的來得低。他提到：</p>
<blockquote><p>如果大家都有這種心態，溝通起來就好像走在地雷區一樣，有的RD會覺得自己為顧客恩賜的五斗米而折斷了腰，有的MIS更成了從自卑感而產生的自大狂，大家都是未爆彈，衝突隨時一觸即發。</p></blockquote>
<p>其實從筆者與石頭成與喲哪桑的討論來看，不難發現開發者與資訊部門之間的溝通問題大致可分為彼此之間<strong>資訊不對稱的現象</strong>與<strong>利益衝突不相容</strong>兩方面來看，而依筆者的觀察，這兩方面的原因彼此之間會相互增長，正如下面的系統思考圖所展現的動態系統模型所示：</p>
<p><img src="http://www.lifeparty.idv.tw/blog/wp-content/uploads/2007/05/project-agency.png" height="254" width="336" /></p>
<p>如圖所示，<a href="http://www.lifeparty.idv.tw/blog/archives/146">資訊不對稱的現象會因為利益衝突而不斷加劇</a>，<strong>當甲乙雙方的利害關係是不相容的，那麼就會有一方會想辦法增加資訊不對稱的現象，而另一方則想辦法減少資訊不對稱的現象，因此，資訊不對稱的現象不可能會被消除</strong>，而且我們更可以推想得知，雙方鬥法的結果，引發衝突是必然的結果，差別只在於是否浮上枱面。</p>
<h4>組織觀點的不同步調</h4>
<p>因此對開發者而言，要聽見使用者的心聲，必先縮小組織邊界的隔閡。<strong>開發者應該要與客戶建立足夠的互信基礎，讓彼此能夠朝向共同的目標而努力，同時必須善用溝通技巧與問題解決能力來解決衝突</strong>。然而，如果這些開發者都做到了，是否就能夠跨越觀念溝通上的藩離呢？其實，這代表考驗才正要開始呢，因為觀念溝通上的藩離還有第二個成因，那就是<strong>組織觀點的不同步調</strong>，常讓開發者無所適從。</p>
<p>資訊系統的開發往往會牽涉到許多複雜的觀點，資訊系統本身本來就是在各種政治因素妥協下的產物。即使撇開工程技術觀點不談，社會技術觀點就夠讓開發者疲於奔命了。筆者觀察到在軟體開發過程中，業務流程與資訊整合常會因為觀念上的不同，而出現相互競爭的現象。</p>
<p>使用者最清楚業務流程，因此應該讓開發者與他們直接溝通需求，而由資訊部門扮演支援的角色。但這樣做的缺點是容易造成資訊整合的困擾，使用者心目中的理想系統，可能會與現存的系統有些不一致的地方，而造成整合的困難。但如果沒有進行整合，組織將會存在兩種不同的作業方式，而<strong>讓管理變得更複雜</strong>。</p>
<p>因此，如果考慮到資訊整合的問題，通常會讓資訊部門用策略的角度來看資訊系統開發，由他們來提出系統需求。但這樣做的問題是，資訊部門往往<strong>不能體會使用者的實際需要</strong>，使得開發出來的系統功能不見得會符合他們的需要，甚至要削足適履才能完成作業。往往為了遷就系統的設計，讓他們在系統操作上倍感不便，因而降低他們使用新系統的意願。</p>
<p>使用者與資訊部門觀點上的矛盾，突顯了在企業組織中，業務流程與資訊整合之間存在著步調上的差異，而這樣的差異往往會<strong>升高組織中同步化與非同步化之間的緊張關係</strong><sup>[1]</sup>。</p>
<h4>開發者的純潔心靈</h4>
<p>這種同步化與非同步化的緊張關係，其實在軟體需求者的組織當中是隨處可見的。每個專案關係人對資訊系統總是存在不同的目標與期待，而開發者很容易聽到較有影響力或擅長掌控者的聲音，卻不容易聽到或是容易忽略那些受到壓抑的想法，但這些想法卻可能是專案成敗之關鍵所在。</p>
<p>在組織中，很少人會去質疑主流或具有權威性的想法，但主流想法常常是不合時宜，只是因為受到習慣領域的影響而根生蒂固。即使組織中有少數人會挑戰這些想法，但卻又常常會因為「政治因素」而讓他們受到排擠。然而，開發者可以有機會發現它們，讓組織出現轉變的契機，然而這必須保持開發者的純潔心靈。</p>
<p>如同筆者曾參與過的專案，有一位企業高層的告誡：「你們千萬不要被『業務流程』污染了『純真的心靈』，應該專注思考如何用資訊技術來創新流程」。使用者的心聲並不在業務流程，而是如何找到他們<strong>關切的問題</strong>，然後為他們<strong>創造價值</strong>。因此開發者必須<strong>用心傾聽</strong>那些微弱的聲音，才能聽見使用者的心聲，這個道理我想不管是建築或是軟體開發，應該都是一樣的吧！</p>
附註：
&nbsp;<hr/><ol class="footnotes"><li id="footnote_0_335" class="footnote">托佛勒在《<a href="http://www.anobii.com/books/01aeae3060f1af19b5/">Wealth 3.0 財富革命</a>》一書中提到時間觀的改變已對我們的生活產生一些影響：「許多重要的機構確實步調不一，同步化與非同步化的關係將愈來愈緊張，追求速度的趨勢並未改變，時間的安排愈來愈不規律，生產力與時間的關聯愈來愈小，每一刻都比前一刻更值錢，人類已有能力測量、探究、控制極大或極小的時間單位－這種種現象顯示歷史性的重大改變正在發生。」（張美惠譯，2007，〈新時間觀〉，p70，時報文化出版。）</li></ol>]]></content:encoded>
			<wfw:commentRss>http://www.lifeparty.idv.tw/blog/archives/335/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>台灣經濟的代理問題</title>
		<link>http://www.lifeparty.idv.tw/blog/archives/302</link>
		<comments>http://www.lifeparty.idv.tw/blog/archives/302#comments</comments>
		<pubDate>Tue, 29 Jan 2008 06:23:41 +0000</pubDate>
		<dc:creator>jim yeh</dc:creator>
				<category><![CDATA[問題解決]]></category>
		<category><![CDATA[生活感觸]]></category>
		<category><![CDATA[管理]]></category>
		<category><![CDATA[系統思考]]></category>

		<guid isPermaLink="false">http://www.lifeparty.idv.tw/blog/archives/302</guid>
		<description><![CDATA[台灣經濟的問題其實是代理問題，人民本來就該監督政府把經濟搞好，而不是把如何改善經濟的問題推到人民身上，然後用來嘲諷人民的思考有問題。]]></description>
			<content:encoded><![CDATA[<p>台灣經濟好不好，在網路上是個熱烈廣泛討論的議題。談論這議題的切入點，有<a href="http://www.wretch.cc/blog/billypan101&amp;article_id=11715277">從數據去切入</a>的，一般人稱數據派，但也有從人民生活感受及其日常觀察來看的。</p>
<p>數據派認為就長期而言，台灣經濟成長遲緩是高成長之後統計學上必然的現象，趨勢在阿扁上台前早就形成。短期而言，台灣的經濟成長最重要的因素在於全球經濟上的影響，和誰執政無關。</p>
<p>但從人民生活感受及日常觀察，數據派的結論其實是很難令人信服的，誠如同人在〈<a href="http://www.lifeparty.idv.tw/blog/archives/291">獨立思考的能力</a>〉中的看法：</p>
<blockquote><p>台灣經濟到底有沒有變差，這是從日常生活中就可以觀察得到的事實，大家心知肚明，不需要運用巧妙的數據解讀來欺騙自己。雖然數據可以幫助解釋真實現象，然而，基於不同的假設、研究方法，解讀出來的結果也常常會有迥然不同的結果，而且有很多情況下，數據是無法完全解讀真實的現象的。</p></blockquote>
<p>不過<a href="http://blog.roodo.com/isjack">傑客</a>在同人文章的迴響中回應，比感受是比不完的，因此他質疑我可以因此批評「數據只是欺騙人的操弄」嗎？同時，他提到要經濟進步，應該要先找出問題在那裡，並依此來嘲諷我的獨立思考只會抓到批評執政者是「執政者一天到晚跟人家比爛，然後一天到晚正事不做，卻在那裡浪費錢玩他的選舉」的問題。</p>
<p>同人認為傑克並沒有弄清楚我的觀點，我從來沒有說誰在操弄數據，我只說不同的假設，自然會產生出不同的數字解讀，使得相同的數據得到不一樣的結果，因此我們應該審視自己是依據什麼基本假設來解讀數字，才不會陷入數字的迷惑當中。</p>
<p>當有人說台灣成長趨緩長期是因為統計的必然現象，短期是因為全球經濟的影響，所以和誰執政沒關係。但我們所觀察到的事實卻是國內政經情勢混亂、人民生活水準顯著地變差，這些都是可以觀察到的事實，而且顯然與台灣經濟有直接的關係，卻未見執政者面對問題而謀求改進。因此我們怎麼可能相信台灣的經濟問題和誰執政沒有關係，因為這個結論明顯地遺漏了一些重要的關鍵。</p>
<p>但無論如何，台灣經濟好不好或爛不爛，每個人看到的事實可能會不一樣，這其實也沒什麼好爭辯的。如果人民對經濟現況不滿意，自然會用手中的選票來告訴執政者，我們從剛舉行完的選舉我們可以知道，大多數人民其實並不滿意台灣的經濟現狀。</p>
<p>因此，相信大部分的人民都期望台灣經濟可以獲得改善。傑克說我們想要改善經濟，應該要先找出問題出在那，並質問同人是不是只會對執政者的批評來當成台灣經濟不好的問題。表面上，他的質問似乎很有其正當性，但深入去探究卻會發現到他忽略了找出經濟的問題是執政者的義務，而非人民。</p>
<p>人民把執政的權力委託給執政者，執政者必須用他的治國專業，讓經濟發展以謀求全體人民的福祉。所以台灣經濟的問題其實是<a href="http://en.wikipedia.org/wiki/Agency_theory">代理問題</a>，人民本來就該監督政府把經濟搞好，而不是把如何改善經濟的問題推到人民身上，然後用來嘲諷人民的思考有問題。</p>
<p>因此人民所關切的問題是執政者是否盡心盡力在為拼經濟而努力。用公司經營的觀念來看台灣經濟問題就可以更清楚，就像我們不可能把企業經營績效不佳的問題推給全體股東，要他們想辦法去思考如何改善企業獲利，這樣的思考邏輯是非常奇怪的想法。</p>
<p>依據代理問題的觀念來看，股東是委託者，而經營者是代理者。因此，如何改善經營績效是經營者的問題，經營者必須對股東負有<a href="http://en.wikipedia.org/wiki/Accountability">課責性</a>的義務。股東應當尊重經營者的專業能力，讓他發揮長才來為自己賺錢，但如果做不好，經營者就應該下台以示負責，而不是要讓股東自己想辦法解決。</p>
<p>同樣的道理，人民委託執政者發展經濟，根本無須費心政府要如何做到，他們只要關心執政者是否真的讓經濟發展，並使自己的生活獲得改善。經濟無法改善，當然就該換個有能力肯用心的人上台，這正是民主社會的「人民有權，政府有能」的重要觀念。</p>
<p>其實，之所以會產生代理問題，其實最主要是來自<a href="http://en.wikipedia.org/wiki/Information_asymmetry">資訊不對稱</a>、委託者與代理者的利益不相容。因此，代理者所揭露的資訊，委託者本來就應該要抱持存疑的態度，如果揭露的資訊可以百分之百相信，那也不會有企業被經營者掏空的問題了。</p>
<p>同理，只靠數據就可以相信台灣經濟沒有變差，這樣的想法實在是太天真了呀，因為資訊不對稱的問題是不可能可以用數據可以解決的，委託者與代理者之間永遠存在著如下圖的結構，資訊不對稱的現象其實是很難消除的。</p>
<p><img src="http://www.lifeparty.idv.tw/blog/wp-content/uploads/2007/05/project-agency.png" alt="project-agency.png" /></p>
<p>只要利益不相容，數字就永遠不可信，聰明的投資人懂得對財務報表存疑，避開地雷股，那麼有智慧的人民呢？您要如何知道執政者到底有沒有改善經濟的能力與意願呢？只要觀察執政者的言行舉止，就知道他會不會為了自己的利益而出賣了拼經濟的承諾了。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lifeparty.idv.tw/blog/archives/302/feed</wfw:commentRss>
		<slash:comments>21</slash:comments>
		</item>
		<item>
		<title>軟體開發者不應該自廢武功!!</title>
		<link>http://www.lifeparty.idv.tw/blog/archives/262</link>
		<comments>http://www.lifeparty.idv.tw/blog/archives/262#comments</comments>
		<pubDate>Mon, 12 Nov 2007 03:20:25 +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>

		<guid isPermaLink="false">http://www.lifeparty.idv.tw/blog/archives/262</guid>
		<description><![CDATA[本文係投稿於 CNet / ZDNet Taiwan 的初稿，並分為上下兩篇文章刊出，未經 ZDNet Taiwan 編輯，其內容可能會略有差異。
如眾所週知的，軟體開發專案具有高度不確定的特質。因此，為了降低需求變動的風險，在專案初期，軟體開發者往往會花費許多的心思，設計出具有彈性的軟體架構以適應未來可能的需求變化。大部分的開發者都了解軟體需求是不可能不改變的，但他們希望不管軟體需求如何變化，軟體開發的設計概念都不會因此受到影響或改變，如果可以做到這一點，軟體開發就會變得比較有效率，同時也能確保所開發之軟體的品質。
然而，現實總是和理想存在著一些落差的，專案的演變往往會超乎開發者事先的預期。尤其是當專案的驗收日期愈來愈接近時，專案可運用的資源也會愈來愈少，專案或許已不如剛開始時充滿了未知與不確定性，但相對地，專案的可變動性也愈來愈小。因此，在專案後期出現專案問題，或是需求的變動，相較於相同專案問題或需求變動在專案初期出現而言，會顯露出更為嚴重的危機與壓力的。
每個人都希望寧願事前多做一些風險管理，勝過事後的危機處理，而且後者的壓力是很容易讓做錯事的。然而，軟體易變的特質及專案環境的不確定性讓人難以捉摸，更不用說預測變化了，卻只能在事後才徒然留下「千金難買早知道，萬金難買後悔藥」的感嘆。但問題還是要解決的，到底軟體開發者在遇到這種危機時該如何處理呢？
軟體品質的問題
我們是否能拒絕變動？或許凍結需求，拒絕變動可以讓軟體開發成功，但這樣的做法卻不會讓專案成功。因為軟體專案如果無法符合軟體需求者的需求，專案並不能算成功，以軟體需求者的立場而言，客戶永遠是對的，他們並不在意技術有何難處，但卻會很關心軟體能否幫他們解決問題。所以，如果開發者所開發出來的軟體不能符合他們的需要、為他們創造出價值，軟體需求者會認為軟體品質並未達到目標，未符合品質目標，專案當然不能算是成功的。
如果變動無法拒絕，那麼只好接受它了，但這對軟體開發者而言，往往是重大挑戰。根據筆者參與軟體專案開發的實務經驗顯示，因為需求變更的原因，要向客戶去爭取專案合理的時程及增加開發成本其實並不容易。所以在專案時程與成本無法變動的情況下，想要解決專案的問題與滿足使用者的需求，很容易因此影響到產出軟體的品質。
其實從專案管理的三重限制（triple constrainst）的觀念應不難瞭解到軟體品質與專案時程、成本及軟體需求之間常會相互影響，因此，當專案時程及成本無法變動時，我們很容易可以理解軟體需求的變動將會影響到軟體品質。
而在實務上，軟體開發專案常會時程壓力、專案得到的支援與資源不足等原因，使開發者沒有足夠的動機、時間、與精力來分析問題以設計合理的解決方案，取而代之則是直接修改程式，以符合軟體需求者所提出的功能，就算發現了因此將會破壞了設計上的結構也在所不惜。就短期而言，在設計的結構上做一些犧牲，雖然如此可以換取增加軟體需求者所提出功能的空間。但長期下來，缺少對問題分析與完整設計的系統，自然而然會衍生出許多軟體品質的問題。
解決問題的洞見觀瞻
如此看來，軟體專案的需求變更，常會造成開發者的左右為難。計劃趕不上變化，現實就是變化無常的，所以藉由預測與控制要變動不會發生是不切實際的。但擁抱改變似乎沒有想像中的那麼單純，隨著需求的變化無常，程式碼也愈來愈複雜，造成更高的軟體出錯的機率，增添程式碼維護的困難度。
情況真的無法改變嗎？那也不見得，筆者認為想要脫離這種兩難的困境，開發者應先具有洞見觀瞻，認清軟體開發者應該面對現實，但應該避免因為捨本逐末的行為模式而形成自廢武功的後果。
如圖所示，表面上，忽略設計的行為雖然可以省下時間來修改程式，以解決眼前的專案壓力，但因為環境仍舊不斷地在變化，所以開發者忽略設計的狀況會一直持續地發生，才能節省更多的時間來對變化做出回應。然而，長久的忽略設計，卻會影響軟體設計的概念完整性，結果將會產生軟體設計結構不良的後遺症，專案壓力最後當然會不減反增了。
 當開發者長期地忽略設計，他就不會花心思在軟體的概念性設計上，更不用說提昇軟體設計的抽象化思維的能力了。換句話說，開發者只能憑藉軟體實作的技巧來解決問題，但這是很危險的，因為這樣程式碼只會愈改愈複雜，變得難以令人理解，同時溝通起來也會變得格外困難，出錯機會也就增加了，造成更多的專案壓力。
另一方面，長期忽略設計，設計的概念不夠完整，也就是設計會遺漏一些重要資料，因此設計無法重覆地被運用，而實作上又充斥了許多的特例，存在許多的資料細節，因此要重覆使用也會有困難。也就是說，軟體的設計缺乏完整及一致性，其實作又與業務邏輯之間產生複雜的相依性，因而軟體各元件其實缺乏再用性與彈性。用軟體開發領域中常聽到的話來說，就是開發者要不斷地重覆「造輪子」，軟體沒有足夠的彈性以適應需求的變化，專案壓力當然會一直居高不下。
由上述分析不難發現，提昇設計上的概念完整性對於軟體開發者而言，是非常重要的能力，因此，軟體開發者在設計上選擇讓步，無異於自廢武功，這樣將犧牲了設計概念的完整性，最後終究是無法解決問題或滿足客戶期待呀。
要如何不自廢武功？
自廢武功無疑是下下策，但軟體開發者在面臨專案的巨大壓力下，要如何不自廢武功呢？顯然忽略設計的做法是不可取的，因此，單單只利用系統實作技能來彌補設計不完整的缺憾往往常會把問題弄得更複雜，這樣做其實是本末倒置的。筆者認為開發者應該重視設計概念的整體性，這樣才能用更簡單而富有彈性的設計來解決問題，而要達到這個目的，開發者必須更專注在問題分析與概念設計的能力。
因此，當軟體需求者提出了他們希望軟體應該要有的功能時，開發者還必須深入地思考為什麼他們會希望軟體應該要有這些功能，並深入地探討他們所面對的真正問題是什麼。因為軟體需求提供者只是站在客戶或使用者的觀點來看待軟體，技術並非他們的專業，所以他們對系統功能的理解很有可能並沒有辦法解決問題，因此開發者應該先找到需求者的問題而非功能。因為只有在了解需求者的真正問題後，開發者才能站在問題的角度來思考解決方案，也才能發展出適合的設計概念來解決問題。
筆者舉兩個實際的例子來說明概念設計對解決問題的重要性。有一個在開發中的系統，客戶發現在接收某種訊息時，其資料拆解出現了問題，我們探求其原因，發現在某些特殊 tag 之後，要跟隨在後面的 tag 資料都當成那個特殊 tag 的內容，而此系統的訊息資料拆解設計沒有支持這樣的概念，所以會造成這個 tag 的資料無法正確處理。
但因為此類訊息是屬於標準格式，而訊息規格卻沒有交待有這種特殊的 tag 規則存在，到底這是業界的不成文規定還是某些交易伙伴特有的做法呢？是不是還有其他的特殊 tag 呢？於是我們向客戶表示，必須要請他們提出更完整的資料，否則我們是無法處理這個問題的。
我們的回應，促使客戶更深入地去探討這個問題，據他們表示，以前的系統並沒有處理到這個問題，因此，得確還有一些特殊的 tag 沒被注意到，問題似乎並不如一開始所想像的那麼簡單。
然而，如果我們只針對客戶提出的問題來修改程式時，程式碼將會變得更複雜，因為在設計不改變的狀況下，所有接收 tag 處理的實作都會大受影響。但如果從設計概念上加入註記隨後出現 tag 都包括在某個 tag 內容的概念，就不會大幅影響原來程式的實作。只要在接收那個特殊 tag 處理的實作中設定註記，問題就可以迎刃而解，甚至可以變得更有彈性，例如可以設定某個 tag 有還原註記狀態的功能。
還有一個例子是，在一次專案會議中，某位系統分析者提出一個系統問題，她指出系統在案件的處理過程中，多人重複派送同一個案件會發生問題，她懷疑是因為多執行緒的案件分派機制所造成的，並認為如果讓案件分派不是多執行緒，問題就應該可以解決
不少開發者也認為讓分派機制不要那麼複雜就可以解決問題了，但他們也了解到，不用多執行緒，案件分派的速度會變慢，客戶很難接受這種做法，所以他們會很希望有人能和客戶協調溝通。
但筆者卻認為多執行緒的案件分派卻並不是問題的成因，雖然，在案件分派機制是多執行緒的情況下才會發生這個問題，但我認為問題較精確的說法應該是問題一直都存在，只是「多執行緒的案件分派」讓它浮現出來罷了。
筆者對提出問題的系統分析者質疑為什麼會有「多人重複派送同一個案件」的情況發生，她提到那是因為客戶的要求，因為客戶希望針對同一個案件，不同單位的人都可以處理同一個案件。原來是因為一開始系統分析者把案件的處理資訊與案件放在一起，但一旦當許多人可能會同時處理此案件時就會發生問題了，因為每個處理都是同一個案件，系統將不知如何分辨它們的不同。
這是一個典型的例子，缺乏整體概念設計的模型常常會讓問題弄得很複雜，系統分析者純粹以技術實作的眼光看問題，而非以問題領域的角度來建模，她把處理案件的案件與原始案件混在一起了，但以業務邏輯的概念來看，對某案件的處理本身是另一個案件，其有獨立的案件編號，所以只要用業務的眼光來修正設計模型就可以解決問題了，而不是取消案件分派的多執行緒功能。
從這兩個例子可以發現，分析出問題背後的問題，然後才能在概念上發展出有效的設計藍圖，才能用簡單而富有彈性的方式來處理問題，同時，這樣做也讓人可以容易理解與相互溝通，因為大家是針對問題領域來了解及溝通而不限於特殊技術。
問題分析並不需要花費太多的時間，因為只要找出問題的關鍵後，剩下的就簡單多了。當然，這需要不斷地練習，才能培養出敏銳地觀察力以及獨立思考的能力，而對於比較複雜的問題，也可以藉由集思廣義的方式來促進集體反思。良好的問題分析與概念化的設計能力才是軟體開發者能否適應環境變化的重要能力。總而言之，軟體開發者如果不去加強分析與設計的能力，專案壓力將會壓得他喘不過氣來，自廢武功往往是必然的結果，這只會耗弱軟體開發者的應變能力呀。但筆者相信只要我們多觀察、多思考、多學習，其實是可以打破這種宿命呀。
]]></description>
			<content:encoded><![CDATA[<p>本文係投稿於 <a href="http://taiwan.cnet.com/">CNet</a> / <a href="http://www.zdnet.com.tw/">ZDNet Taiwan</a> 的初稿，並分為<a href="http://www.zdnet.com.tw/enterprise/column/softwaredev/0,2000087962,20125485,00.htm" target="_blank">上</a><a href="http://www.zdnet.com.tw/enterprise/column/softwaredev/0,2000087962,20125774,00.htm" target="_blank">下</a>兩篇文章刊出，未經 ZDNet Taiwan 編輯，其內容可能會略有差異。</p>
<p>如眾所週知的，軟體開發專案具有高度不確定的特質。因此，為了降低需求變動的風險，在專案初期，軟體開發者往往會花費許多的心思，設計出具有彈性的軟體架構以適應未來可能的需求變化。大部分的開發者都了解軟體需求是不可能不改變的，但他們希望不管軟體需求如何變化，軟體開發的設計概念都不會因此受到影響或改變，如果可以做到這一點，軟體開發就會變得比較有效率，同時也能確保所開發之軟體的品質。</p>
<p>然而，現實總是和理想存在著一些落差的，專案的演變往往會超乎開發者事先的預期。尤其是當專案的驗收日期愈來愈接近時，專案可運用的資源也會愈來愈少，專案或許已不如剛開始時充滿了未知與不確定性，但相對地，專案的可變動性也愈來愈小。因此，在專案後期出現專案問題，或是需求的變動，相較於相同專案問題或需求變動在專案初期出現而言，會顯露出更為嚴重的危機與壓力的。</p>
<p>每個人都希望寧願事前多做一些風險管理，勝過事後的危機處理，而且後者的壓力是很容易讓做錯事的。然而，軟體易變的特質及專案環境的不確定性讓人難以捉摸，更不用說預測變化了，卻只能在事後才徒然留下「千金難買早知道，萬金難買後悔藥」的感嘆。但問題還是要解決的，到底軟體開發者在遇到這種危機時該如何處理呢？</p>
<h4>軟體品質的問題</h4>
<p>我們是否能拒絕變動？或許凍結需求，拒絕變動可以讓軟體開發成功，但這樣的做法卻不會讓專案成功。因為軟體專案如果無法符合軟體需求者的需求，專案並不能算成功，以軟體需求者的立場而言，客戶永遠是對的，他們並不在意技術有何難處，但卻會很關心軟體能否幫他們解決問題。所以，如果開發者所開發出來的軟體不能符合他們的需要、為他們創造出價值，軟體需求者會認為軟體品質並未達到目標，未符合品質目標，專案當然不能算是成功的。</p>
<p>如果變動無法拒絕，那麼只好接受它了，但這對軟體開發者而言，往往是重大挑戰。根據筆者參與軟體專案開發的實務經驗顯示，因為需求變更的原因，要向客戶去爭取專案合理的時程及增加開發成本其實並不容易。所以在專案時程與成本無法變動的情況下，想要解決專案的問題與滿足使用者的需求，很容易因此影響到產出軟體的品質。</p>
<p>其實從專案管理的三重限制（triple constrainst）的觀念應不難瞭解到軟體品質與專案時程、成本及軟體需求之間常會相互影響，因此，當專案時程及成本無法變動時，我們很容易可以理解軟體需求的變動將會影響到軟體品質。</p>
<p>而在實務上，軟體開發專案常會時程壓力、專案得到的支援與資源不足等原因，使開發者沒有足夠的動機、時間、與精力來分析問題以設計合理的解決方案，取而代之則是直接修改程式，以符合軟體需求者所提出的功能，就算發現了因此將會破壞了設計上的結構也在所不惜。就短期而言，在設計的結構上做一些犧牲，雖然如此可以換取增加軟體需求者所提出功能的空間。但長期下來，缺少對問題分析與完整設計的系統，自然而然會衍生出許多軟體品質的問題。</p>
<h4>解決問題的洞見觀瞻</h4>
<p>如此看來，軟體專案的需求變更，常會造成開發者的左右為難。計劃趕不上變化，現實就是變化無常的，所以藉由預測與控制要變動不會發生是不切實際的。但擁抱改變似乎沒有想像中的那麼單純，隨著需求的變化無常，程式碼也愈來愈複雜，造成更高的軟體出錯的機率，增添程式碼維護的困難度。</p>
<p>情況真的無法改變嗎？那也不見得，筆者認為想要脫離這種兩難的困境，開發者應先具有洞見觀瞻，認清軟體開發者應該面對現實，但應該避免因為捨本逐末的行為模式而形成自廢武功的後果。</p>
<p>如圖所示，表面上，忽略設計的行為雖然可以省下時間來修改程式，以解決眼前的專案壓力，但因為環境仍舊不斷地在變化，所以開發者忽略設計的狀況會一直持續地發生，才能節省更多的時間來對變化做出回應。然而，長久的忽略設計，卻會影響軟體設計的概念完整性，結果將會產生軟體設計結構不良的後遺症，專案壓力最後當然會不減反增了。</p>
<p><center><img src="http://www.lifeparty.idv.tw/blog/wp-content/uploads/2007/11/lost-design.PNG" alt="lost-design.PNG" /></center><center> </center><center></center>當開發者長期地忽略設計，他就不會花心思在軟體的概念性設計上，更不用說提昇軟體設計的抽象化思維的能力了。換句話說，開發者只能憑藉軟體實作的技巧來解決問題，但這是很危險的，因為這樣程式碼只會愈改愈複雜，變得難以令人理解，同時溝通起來也會變得格外困難，出錯機會也就增加了，造成更多的專案壓力。</p>
<p>另一方面，長期忽略設計，設計的概念不夠完整，也就是設計會遺漏一些重要資料，因此設計無法重覆地被運用，而實作上又充斥了許多的特例，存在許多的資料細節，因此要重覆使用也會有困難。也就是說，軟體的設計缺乏完整及一致性，其實作又與業務邏輯之間產生複雜的相依性，因而軟體各元件其實缺乏再用性與彈性。用軟體開發領域中常聽到的話來說，就是開發者要不斷地重覆「造輪子」，軟體沒有足夠的彈性以適應需求的變化，專案壓力當然會一直居高不下。</p>
<p>由上述分析不難發現，提昇設計上的概念完整性對於軟體開發者而言，是非常重要的能力，因此，軟體開發者在設計上選擇讓步，無異於自廢武功，這樣將犧牲了設計概念的完整性，最後終究是無法解決問題或滿足客戶期待呀。</p>
<h4>要如何不自廢武功？</h4>
<p>自廢武功無疑是下下策，但軟體開發者在面臨專案的巨大壓力下，要如何不自廢武功呢？顯然忽略設計的做法是不可取的，因此，單單只利用系統實作技能來彌補設計不完整的缺憾往往常會把問題弄得更複雜，這樣做其實是本末倒置的。筆者認為開發者應該重視設計概念的整體性，這樣才能用更簡單而富有彈性的設計來解決問題，而要達到這個目的，開發者必須更專注在問題分析與概念設計的能力。</p>
<p>因此，當軟體需求者提出了他們希望軟體應該要有的功能時，開發者還必須深入地思考為什麼他們會希望軟體應該要有這些功能，並深入地探討他們所面對的真正問題是什麼。因為軟體需求提供者只是站在客戶或使用者的觀點來看待軟體，技術並非他們的專業，所以他們對系統功能的理解很有可能並沒有辦法解決問題，因此開發者應該先找到需求者的問題而非功能。因為只有在了解需求者的真正問題後，開發者才能站在問題的角度來思考解決方案，也才能發展出適合的設計概念來解決問題。</p>
<p>筆者舉兩個實際的例子來說明概念設計對解決問題的重要性。有一個在開發中的系統，客戶發現在接收某種訊息時，其資料拆解出現了問題，我們探求其原因，發現在某些特殊 tag 之後，要跟隨在後面的 tag 資料都當成那個特殊 tag 的內容，而此系統的訊息資料拆解設計沒有支持這樣的概念，所以會造成這個 tag 的資料無法正確處理。</p>
<p>但因為此類訊息是屬於標準格式，而訊息規格卻沒有交待有這種特殊的 tag 規則存在，到底這是業界的不成文規定還是某些交易伙伴特有的做法呢？是不是還有其他的特殊 tag 呢？於是我們向客戶表示，必須要請他們提出更完整的資料，否則我們是無法處理這個問題的。</p>
<p>我們的回應，促使客戶更深入地去探討這個問題，據他們表示，以前的系統並沒有處理到這個問題，因此，得確還有一些特殊的 tag 沒被注意到，問題似乎並不如一開始所想像的那麼簡單。</p>
<p>然而，如果我們只針對客戶提出的問題來修改程式時，程式碼將會變得更複雜，因為在設計不改變的狀況下，所有接收 tag 處理的實作都會大受影響。但如果從設計概念上加入註記隨後出現 tag 都包括在某個 tag 內容的概念，就不會大幅影響原來程式的實作。只要在接收那個特殊 tag 處理的實作中設定註記，問題就可以迎刃而解，甚至可以變得更有彈性，例如可以設定某個 tag 有還原註記狀態的功能。</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/262/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>技術創新的意義</title>
		<link>http://www.lifeparty.idv.tw/blog/archives/259</link>
		<comments>http://www.lifeparty.idv.tw/blog/archives/259#comments</comments>
		<pubDate>Thu, 08 Nov 2007 09:28:02 +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/archives/259</guid>
		<description><![CDATA[技術創新的意義是什麼呢？同人認為，技術創新的意義是運用科技來追求盡善盡美的生活，也就是《大學》中所說的「止於至善」的境界。換句話說，技術創新運用科技的效率來創造更美好的人生，其意義是為求善的極致呀。]]></description>
			<content:encoded><![CDATA[<p>相信大部份的人會認同科技產業的發展是需要技術創新的。從觀念上來看，我們深信技術創新是科技業的根本。但從網路創業一些實際的成功案例來看，技術能力似乎並不是成功的關鍵，而這些成功的經驗卻顯示，在網路上創業要成功，與技術是否能夠貼近人性需求有密切的關連。</p>
<p>所以，從行銷的觀點來看，<a href="http://blog.xuite.net/aug9/aug9/14173480">技術只是一種手段，人性需求才是根源</a>。但這是否意味著技術一定要跟在行銷的背後，只能扮演支援性的角色而不具策略性的角色；也就是說，它只是因應環境變化的工具而無法成為企業轉變的驅動力呢？</p>
<p>顯而易見地，問題是不可能站在單一觀點就可以得到一致而完整的結論的。我們所處的世界，並不是事事都充滿著絕對的確定性，卻常常具備著<strong>相對的可能性</strong>的。所以，在科技業，技術創新固然不盡然是「一切的根本」，這樣說會有立論過於武斷之嫌；但相對地，「技術只是一種手段，人性需求才是根源」的觀點真的也是恒久不變的真理嗎？同人<a href="http://funp.com/t42732">在 funP 的討論</a>中提出了如下的質疑：</p>
<blockquote><p>技術的發展往往也會創造出新的需求，技術與需求之間的關係，往往是很複雜的，到底誰是根源，誰是手段，會因情境而有不同的結論，很難一概而論呀。所以，不應該用太過簡化的結論去看問題呀。</p></blockquote>
<p>同人承認人性需求是根源，也相信「科技始終來自於人性」，但說技術只是手段也有太過簡化技術與需求之間的關係。市場需求與技術發展間的關係，並不是用簡單線性因果關係可以解釋的，我認為它們之間的關係是複雜的，但可用下圖所示的動態系統模型來理解。</p>
<p><img src="http://www.lifeparty.idv.tw/blog/wp-content/uploads/2007/11/techim.PNG" alt="techim.PNG" /></p>
<p>上圖的動態系統模型正顯示了技術發展常會面臨成長上限的現象。市場需求與技術發展彼此增長的，從行銷的觀點來看，我們可以說市場的需求引領技術的發展；但從技術的觀點來看，我們更可以說，因為技術的蓬勃發展使得人們可以讓生活更舒適，工作更有效率，因而創造更多新的市場需求。因此，科技產業的發展一方面是因為人性的需要刺激科技的發展，但另一方面也是因為新的科技的發展創造出更多的市場需求，創造了市場的繁榮景象。</p>
<p><img src="http://www.lifeparty.idv.tw/blog/wp-content/uploads/2007/11/techim_s.PNG" alt="techim_s.PNG" align="left" hspace="10" /></p>
<p>左圖顯示依上述所提及之動態模型來模擬市場需求與技術發展的變化。早期大家對技術不夠熟悉，只能透過摸索的方式來導入新技術，因此市場需求量並不高。慢慢地，當人們體會到了科技所帶來的便利與效益後，便會開始大量採用而使得技術的應用大幅的擴張。</p>
<p>然而，隨著應用的日增，技術的發展也會逐漸遇到一些瓶頸，例如技術架構上先天的限制、資源的有限性等，技術開發的生產力無法負荷龐大的需求等，都會使得技術發展的成長趨緩、停滯、甚至於衰退。而在這樣的產業環境下，仍舊要讓企業能夠繼續成長，所憑藉的其實不是技術、也不是行銷，而是企業技術創新的管理能力。</p>
<p>技術創新才是促成技術發展的重要關鍵，沒有技術創新，技術發展必將停滯乃至於衰退，人們也們因為在科技上的無知而渡過黑暗期。如此看來，技術創新在科技產業中是根本是絕無疑義的，但這並不代表技術創新就必須否定人性。相反地，技術創新的目的正是為了更貼近人性需求，市場需求與技術發展兩者並非存在競爭的關係，而是相互合作，相輔相成的，目標都是要追求企業的永續發展呀。</p>
<p>因此，技術創新來自兩種驅策力量之一，一種是<u>科技推動</u>的力量，另一種則是<u>市場拉動</u>的力量。科技的重大改變往往會促成劇烈而重大的變革，並造成技術的不連續發展，同時，提供了全新的功能，並創造出新的市場需求。以資訊技術為例，資訊技術的發展曾經歷了由<strong>資料庫</strong>及<strong>網路</strong>的促成科技（Enabling Techniques）所引起的劇烈重大變革，同時也大幅改變了企業應用資訊系統的全新視野。</p>
<p>市場需求所造成的變化則較為緩和，以反覆或漸進的方式來演進技術。它是針對市場的反應來改進已存在的技術以提昇績效、安全性、品質或降低成本。因此，<a href="http://www.ideal-rd.com.tw/redirect.php?fid=23&amp;tid=503&amp;goto=nextnewset&amp;sid=KVWeDr">創新不等於高科技</a>，有時候，我們只需要重新組合所擁有技術、產品、流程或服務，便可以用全新的思維來思考企業的生產程序與商業模式，以更有效率的方式來應用技術，這樣也是一種成功的技術創新。</p>
<p>國內目前正處於技術的發展開始遇到瓶頸的狀況。以資訊服務業在企業應用為例，一些研究報告顯示，因為經濟情勢的轉變，企業對資訊系統的投資愈來愈保守，有精準化的趨勢，大部分都是整合既有系統而非建置新的資訊系統，所以技術創新對台灣的科技產業是何其重要呀。如同 <a href="http://mmdays.wordpress.com/category/mr-monday">Mr. Monday</a> 在〈<a href="http://mmdays.wordpress.com/2007/10/28/web-industry">Web 產業繼續向前: 技術創新是一切的根本</a>〉所提到的：</p>
<blockquote><p>台灣從以前到現在為止，代工都是強項，代工強調的創新能量是相對較小的，因為這有許多的風險，投入研發經費，不見得會有收穫。然而不投入技術創新，長久看來，在技術上面就會被箝制，除此之外，沒辦法創造高度的進入門檻。沒有進入門檻，沒有高度技術，那麼所賺取的總是微薄的利潤，這也是為什麼台灣的廠商紛紛轉向品牌的原因。</p></blockquote>
<p>在台灣，技術創新的能量得確是有待加強的，至少在軟體開發的領域上是如此。大家重視成本更甚於技術的創新，於是就常常看見沒有技術創新的低成本被競爭對手模仿的惡性循環，使得大家不得不在紅海中割喉嘶殺，而這對整體的科技產業而言，這可是亟待改善的現象呀。</p>
<p>所以，我們需要技術創新。但我們必須明白，技術創新的主要目的並不在於創造品牌或是產生「先進者優勢」，<u>單一產品技術的創新並不能保證企業長期的成功</u>，技術創新最主要的價值是在使企業擁有<strong>持續快速應變的能力</strong>，而非確認今後不需要再改變。<a href="http://mag.udn.com/mag/newsstand/storypage.jsp?f_MAIN_ID=206&amp;f_SUB_ID=231&amp;f_ART_ID=71331">有創新，更要有市場</a>，忽略市場需求的產品或服務並非真正的技術創新。</p>
<p>所以，技術創新的意義是什麼呢？同人認為，技術創新的意義是運用科技來追求盡善盡美的生活，也就是《大學》中所說的「止於至善」的境界。換句話說，技術創新運用科技的效率來創造更美好的人生，其意義是為求善的極致呀。</p>
<p>科技產業的發展需要持續不斷地應變，科技已不只是因應環境變化的工具，同時也是企業轉變的驅動力了。科技已直接而深遠地影響我們的生活，它縮短了人們時間上及地理上的隔閡，造成了<u>全球化</u>的浪潮、產生了<u>知識經濟</u>體系的重大變化、並促成了<u>組織結構的轉型</u>。技術其實不只是手段而已，當我們專注在其創新的價值，也會顯露出它的不凡。</p>
<p>因此，對 <a href="http://blog.xuite.net/aug9/aug9">Aug 9</a> 對技術研發動機的看法，同人認為不全然是如此：</p>
<blockquote><p>眾多研發人員投入心力研發更新、更炫的技術，最後的目標也是為了能夠換取更多研究經費、更多股票與帶給家人更好的生活。</p></blockquote>
<p>「成就感」的價值對有些研發人員而言，往往是勝過個人與家庭的實質回饋的，前者的求真或求善的精神比後者從求美所得到的實質回饋更感動他們的內心。沒錯，他們希望帶來更好的生活，但全人類的幸福比個人或家庭的幸福還要令人動容，所以他們才會常常「不求名，不求利，但求爽」。當然，這不是對與錯的問題，而是選擇的問題，不過也說明了「技術」與「行銷」是必須<strong>相互尊重</strong>才能夠建立彼此互賴的關係，進而共創雙贏，這才是技術創新的真正意義呀。</p>
<p class="poweredbyperformancing">Powered by <a href="http://scribefire.com/">ScribeFire</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lifeparty.idv.tw/blog/archives/259/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>加薪與能力的賽局</title>
		<link>http://www.lifeparty.idv.tw/blog/archives/227</link>
		<comments>http://www.lifeparty.idv.tw/blog/archives/227#comments</comments>
		<pubDate>Mon, 17 Sep 2007 06:30:06 +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/archives/227</guid>
		<description><![CDATA[windlove 對同人所寫的〈如何滿足加薪的願望〉一文發表迴響。他覺得在台灣，當老闆知道員工的能力提升後，是會幫員工加薪，還是很高興地覺得用較少的金錢就可以請到能力較好的員工，這真是賺到了。windlove 並舉了一個他身邊的例子說明這種現象，他認為或許在台灣的老闆們眼裡，成本永遠是一切，cost down 萬萬歲。
同人的這篇文章，同步發表於兩性戰國論壇，網友梅子發表對我文章觀點的看法，她指出她非常同意「想要加薪的根本解決之道，其實是提昇自己的能力。」這句話，但她卻質疑在自己及老闆都認同自己的工作價值時，薪水是否真能自動上漲？她提到員工不主動吭聲，老闆當然樂得節省人力成本，除非老闆擔心重要員工有離職風險，但一般員工向老闆提加薪也會有離職與主僱關係變差的風險，因此不敢貿然進行。
梅子同時也指出，在台灣一般行業替代性都太高，如果無法確認自己在老闆心目中是重要的，很少人敢真的去跟老闆談薪資調整。她認為要是進公司時不小心談到一個差的價碼，短期內要翻身是很困難的，因此，提昇自己的能力外，多增進自己的談判技巧也是非常的重要。
windlove 與梅子所談的，都是在台灣職場生態上常見的現象。似乎加薪與否，是由老闆心中的核心價值觀所決定的；如果員工在工作上沒有很強的不可替代的能力，加上良好的溝通及談判技巧，那麼要期望得到良好的薪資待遇，可能全憑自己的工作機運了。
可是老闆不加薪真的是賺到了嗎？其實那也不盡然，站在老闆的角度來看，他認為他少付一點薪水可以請到能力超乎他預期的員工，看起來好像是賺到了，但事實上卻是不然的。我們可用下面這一場賽局來說明，實際上，不加薪的老闆是不會變成贏家的。


員工
老闆


加薪
不加薪


發揮能力
(2,2)
(0,1)


保留能力
(1,0)
(1,1)


對員工的發揮能力，老闆雖然對他的努力感到滿意，但為了節省薪資成本卻選擇不主動為員工加薪，但如此一來，當員工發現不管他如何努力時，薪資都不會增加時，員工便會開始在工作上保留他的能力，工作態度不再積極進取，因而這一場賽局的結果就是員工與老闆雙方都不是贏家。
當員工不願意在他的工作崗位中付出更多的努力時，老闆就必須把節省下來的薪資成本，變成用來監督員工工作不努力的人事管理成本。換句話說，老闆在薪資上節省了交易成本，卻在管理上增加了代理成本，從這個觀點來看，老闆不但不是贏家，而且還是徹徹底底的輸家。
在工作上，主僱之間常存在著資訊不對稱的現象，同時也因為立場的不同所造成的利害衝突，更會增加了對員工管理的困難度。當老闆為了讓員工盡其所能地為公司貢獻心力，想辦法降低資訊不對稱的現象時，員工也會為了讓自身利益，對工作有所保留而增加資訊不對稱的現象。主僱雙方鬥法的結果，會產生類似同人之前曾提過的資訊部門與委外提供者相互鬥法的動態模型，結果就是資訊不對稱的現象不可能被消除，於是大量增加了管理上的代理成本。

換言之，雇用員工的整體成本並沒有實質減少，但卻沒有獲得員工的努力而得到更好的工作績效，有能力的人才在找到更好的工作機會後必然會離開，所以成本考量的老闆的手下不會有人才，而只會存在一般的庸才而已。
對於專業工作者而言，要讓自己成為人才而不是庸才，我們並不是為了提昇現在的薪水而努力，而是為了自己將來的能力的成長而努力，所以就算目前的待遇並不是令人滿意的，但今天的努力將成為明日的跳板，只要具有足夠的能力，員工何必擔心如梅子所言，這家公司有讓他待不下去的風險；相反地，老闆卻要深刻反省，為何公司總是變成為其它公司訓練人才的跳板。
如果我以辭職要脅老闆，結果他反而同意了怎麼辦？
主動提加薪，老闆不接受的話，這公司是不是待不下去了？
當我們發現自己會開始擔心上面的問題發生時，其實正代表我們的能力是不足的，或許待在現在的工作上是還過的去的，但卻無法產生讓老闆為我們加薪的驅動力。所以想加薪，問題並不在老闆身上，而是我們自己的能力必須加強。
當然，如同梅子所說的，在台灣，就算自己的能力增加了，老闆還是不見得會為我們加薪的。沒錯，這在台灣得確是普遍的現象，但如此一來，吃虧的會是老闆而非員工，因為不幫員工加薪的老闆，你的員工隨時有被競爭對手挖走的危險，那裡還敢不善待有能力的員工，員工不是不吭氣，只是你選擇刻意忽略他們的心情很久了。
所以，等到有能力且吃苦耐操勞的員工向老闆表示他要換跑道時，用薪資要留住員工通常已是為時已晚，因為此時薪資不再有激勵效果了，對掛冠求去的員工而言，多加一點錢的意義只是消除不滿意的保健因子，你的競爭對手會提出更多的激勵因子。所以，對於有上進心的員工而言，努力投資在自己能力上是絕對不會吃虧的呀。
]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.lifeparty.idv.tw/blog/archives/225#comments">windlove</a> 對同人所寫的〈如何滿足加薪的願望〉一文發表迴響。他覺得在台灣，當老闆知道員工的能力提升後，是會幫員工加薪，還是很高興地覺得用較少的金錢就可以請到能力較好的員工，這真是賺到了。windlove 並舉了一個他身邊的例子說明這種現象，他認為或許在台灣的老闆們眼裡，成本永遠是一切，cost down 萬萬歲。</p>
<p>同人的這篇文章，同步發表於<a href="http://phpbb.genderwars.org/viewtopic.php?t=2285&amp;start=0&amp;postdays=0&amp;postorder=asc&amp;highlight=">兩性戰國論壇</a>，網友梅子發表對我文章觀點的看法，她指出她非常同意「想要加薪的根本解決之道，其實是提昇自己的能力。」這句話，但她卻質疑在自己及老闆都認同自己的工作價值時，薪水是否真能自動上漲？她提到員工不主動吭聲，老闆當然樂得節省人力成本，除非老闆擔心重要員工有離職風險，但一般員工向老闆提加薪也會有離職與主僱關係變差的風險，因此不敢貿然進行。</p>
<p>梅子同時也指出，在台灣一般行業替代性都太高，如果無法確認自己在老闆心目中是重要的，很少人敢真的去跟老闆談薪資調整。她認為要是進公司時不小心談到一個差的價碼，短期內要翻身是很困難的，因此，提昇自己的能力外，多增進自己的談判技巧也是非常的重要。</p>
<p>windlove 與梅子所談的，都是在台灣職場生態上常見的現象。似乎加薪與否，是由老闆心中的核心價值觀所決定的；如果員工在工作上沒有很強的不可替代的能力，加上良好的溝通及談判技巧，那麼要期望得到良好的薪資待遇，可能全憑自己的工作機運了。</p>
<p>可是老闆不加薪真的是賺到了嗎？其實那也不盡然，站在老闆的角度來看，他認為他少付一點薪水可以請到能力超乎他預期的員工，看起來好像是賺到了，但事實上卻是不然的。我們可用下面這一場賽局來說明，實際上，不加薪的老闆是不會變成贏家的。</p>
<table border="2" cellpadding="6" cellspacing="0">
<tr>
<td rowspan="2" align="center" valign="bottom">員工</td>
<td colspan="2" align="center">老闆</td>
</tr>
<tr>
<td align="center">加薪</td>
<td align="center">不加薪</td>
</tr>
<tr>
<td>發揮能力</td>
<td align="center">(2,2)</td>
<td align="center">(0,1)</td>
</tr>
<tr>
<td>保留能力</td>
<td align="center">(1,0)</td>
<td align="center">(1,1)</td>
</tr>
</table>
<p>對員工的發揮能力，老闆雖然對他的努力感到滿意，但為了節省薪資成本卻選擇不主動為員工加薪，但如此一來，當員工發現不管他如何努力時，薪資都不會增加時，員工便會開始在工作上保留他的能力，工作態度不再積極進取，因而這一場賽局的結果就是員工與老闆雙方都不是贏家。</p>
<p>當員工不願意在他的工作崗位中付出更多的努力時，老闆就必須把節省下來的薪資成本，變成用來監督員工工作不努力的人事管理成本。換句話說，老闆在薪資上節省了<a href="http://en.wikipedia.org/wiki/Transactions_costs">交易成本</a>，卻在管理上增加了<a href="http://en.wikipedia.org/wiki/Agency_cost">代理成本</a>，從這個觀點來看，老闆不但不是贏家，而且還是徹徹底底的輸家。</p>
<p>在工作上，主僱之間常存在著<a href="http://en.wikipedia.org/wiki/Information_asymmetry">資訊不對稱</a>的現象，同時也因為立場的不同所造成的利害衝突，更會增加了對員工管理的困難度。當老闆為了讓員工盡其所能地為公司貢獻心力，想辦法降低資訊不對稱的現象時，員工也會為了讓自身利益，對工作有所保留而增加資訊不對稱的現象。主僱雙方鬥法的結果，會產生類似同人<a href="http://www.lifeparty.idv.tw/blog/archives/146">之前曾提過</a>的資訊部門與委外提供者相互鬥法的動態模型，結果就是資訊不對稱的現象不可能被消除，於是大量增加了管理上的代理成本。</p>
<p><img src="http://www.lifeparty.idv.tw/blog/wp-content/uploads/2007/05/project-agency.png" /></p>
<p>換言之，雇用員工的整體成本並沒有實質減少，但卻沒有獲得員工的努力而得到更好的工作績效，有能力的人才在找到更好的工作機會後必然會離開，所以成本考量的老闆的手下不會有人才，而只會存在一般的庸才而已。</p>
<p>對於專業工作者而言，要讓自己成為人才而不是庸才，<strong>我們並不是為了提昇現在的薪水而努力，而是為了自己將來的能力的成長而努力</strong>，所以就算目前的待遇並不是令人滿意的，但今天的努力將成為明日的跳板，只要具有足夠的能力，員工何必擔心如梅子所言，這家公司有讓他待不下去的風險；相反地，老闆卻要深刻反省，為何公司總是變成為其它公司訓練人才的跳板。</p>
<blockquote><p>如果我以辭職要脅老闆，結果他反而同意了怎麼辦？<br />
主動提加薪，老闆不接受的話，這公司是不是待不下去了？</p></blockquote>
<p>當我們發現自己會開始擔心上面的問題發生時，其實正代表我們的能力是不足的，或許待在現在的工作上是還過的去的，但卻無法產生讓老闆為我們加薪的驅動力。所以想加薪，問題並不在老闆身上，而是我們自己的能力必須加強。</p>
<p>當然，如同梅子所說的，在台灣，就算自己的能力增加了，老闆還是不見得會為我們加薪的。沒錯，這在台灣得確是普遍的現象，但如此一來，吃虧的會是老闆而非員工，因為不幫員工加薪的老闆，你的員工隨時有被競爭對手挖走的危險，那裡還敢不善待有能力的員工，員工不是不吭氣，只是你選擇刻意忽略他們的心情很久了。</p>
<p>所以，等到有能力且吃苦耐操勞的員工向老闆表示他要換跑道時，用薪資要留住員工通常已是為時已晚，因為此時薪資不再有<a href="http://en.wikipedia.org/wiki/Motivation">激勵</a>效果了，對掛冠求去的員工而言，多加一點錢的意義只是消除不滿意的<a href="http://en.wikipedia.org/wiki/Hygiene_factors">保健因子</a>，你的競爭對手會提出更多的<a href="http://en.wikipedia.org/wiki/Motivator-Hygiene_theory">激勵因子</a>。所以，對於有上進心的員工而言，努力投資在自己能力上是絕對不會吃虧的呀。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lifeparty.idv.tw/blog/archives/227/feed</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>如何滿足加薪的願望</title>
		<link>http://www.lifeparty.idv.tw/blog/archives/225</link>
		<comments>http://www.lifeparty.idv.tw/blog/archives/225#comments</comments>
		<pubDate>Fri, 14 Sep 2007 03:29:51 +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/archives/225</guid>
		<description><![CDATA[同人在兩性戰國論壇的職場點滴的討論中，看到梅子回應淡紫的文字中，提到爭取加薪的問題，她提到：
如果妳是想要趁年輕多賺點錢，那就要勇於爭取自己的價碼，不要讓自己成為廉價勞工～
這段文字讓我覺得有些不對勁，剛進入社會工作的年輕人，常常會去計較自己的薪資酬勞是不是夠高，最好是能找到那種錢多事少的工作，然而他們卻常會忽略了一句名言，那就是「天下沒有白吃的午餐」。
記得上次和同事去參加朋友的喜宴，回程他告訴我有關我們公司其他同事的近況，他說那位同事找到更好的發展，薪水比現在公司高很多（我們所服務的公司，其薪資水準比業界要低很多），我聽了之後很替那位同事高興。不過，同行的同事卻說，那位同事覺得很不平，因為比他早一年進新公司工作的人，已經領了一年高薪的待遇，那位同事怨嘆，為什麼他不早一年跟其他同事進入那家公司呢。
聽了同事的故事之後，我告訴他，薪水的高低重點不在於公司的好壞，而是在於被雇用者能力的高低，如果我們能力夠，才有可能爭取到較好的薪資，所以年輕人不要急著抬高自己的價錢，而是要學習無可取代的能力，創造自己的價值，否則就會變成：年輕人很有本錢，可是不努力就不值錢了，而只有價錢了。而且，那位同事之所以可以找到好工作，他也不該忽略這一年來，在我們公司所磨鍊而來的能力呀。
同事對我的觀點表示認同。然而，我的觀點也可以用動態系統來思考，這也就是我對梅子的那段話認為不對勁的地方，一般人會對「勇於爭取自己的價碼」認為是向老闆要求加薪，但我認為這並無法爭取到（自認）「合理」的價碼，請參考下面這張圖。

如圖所示，表面上加薪的願望可以由爭取加薪的行動來獲得滿足，但事實上，爭取加薪卻可能形成一種對問題捨本逐末的動態系統，因為在這種情況下，主管慢慢地會發現員工要求的比他付出的還多，於是會降低對員工的滿意度，當然不可能會心甘情願地幫員工加薪，反而形成一個愈演愈烈的惡性循環。
那員工該怎麼辦呢？想要加薪的根本解決之道，其實是提昇自己的能力。能力提昇了，讓主管發現公司沒有你不行，何愁薪水不會增加？但如何讓主管發現我們可以為公司創造價值呢？在平時，就應該站在公司的角度思考，我可以創造出公司所需要而缺乏的東西嗎，即使現在我沒有這方面的能力，我如何可以學到呢，然後多向主管談一談這方面的想法，他自然會比別人更容易看到我們。
我理解梅子建議的目的是要促成工作者的積極思考，先想清楚自己要什麼。然而，我卻認為不能不對「趁年輕多賺點錢」的基本信念做一番審視，我們憑著什麼賺錢呢？否則我們將很容易會被自己想法所框住了，最後常會發現，結果並不如我們所想像的那樣。
Powered by ScribeFire.
]]></description>
			<content:encoded><![CDATA[<p>同人在<a href="http://phpbb.genderwars.org/index.php">兩性戰國論壇</a>的職場點滴的<a href="http://phpbb.genderwars.org/viewtopic.php?p=22783">討論</a>中，看到梅子回應淡紫的文字中，提到爭取加薪的問題，她提到：</p>
<blockquote><p>如果妳是想要趁年輕多賺點錢，那就要勇於爭取自己的價碼，不要讓自己成為廉價勞工～</p></blockquote>
<p>這段文字讓我覺得有些不對勁，剛進入社會工作的年輕人，常常會去計較自己的薪資酬勞是不是夠高，最好是能找到那種錢多事少的工作，然而他們卻常會忽略了一句名言，那就是「天下沒有白吃的午餐」。</p>
<p>記得上次和同事去參加朋友的喜宴，回程他告訴我有關我們公司其他同事的近況，他說那位同事找到更好的發展，薪水比現在公司高很多（我們所服務的公司，其薪資水準比業界要低很多），我聽了之後很替那位同事高興。不過，同行的同事卻說，那位同事覺得很不平，因為比他早一年進新公司工作的人，已經領了一年高薪的待遇，那位同事怨嘆，為什麼他不早一年跟其他同事進入那家公司呢。</p>
<p>聽了同事的故事之後，我告訴他，薪水的高低重點不在於公司的好壞，而是在於被雇用者能力的高低，如果我們能力夠，才有可能爭取到較好的薪資，所以年輕人不要急著抬高自己的價錢，而是要學習無可取代的能力，創造自己的價值，否則就會變成：年輕人很有本錢，可是不努力就不值錢了，而只有價錢了。而且，那位同事之所以可以找到好工作，他也不該忽略這一年來，在我們公司所磨鍊而來的能力呀。</p>
<p>同事對我的觀點表示認同。然而，我的觀點也可以用動態系統來思考，這也就是我對梅子的那段話認為不對勁的地方，一般人會對「勇於爭取自己的價碼」認為是向老闆要求加薪，但我認為這並無法爭取到（自認）「合理」的價碼，請參考下面這張圖。</p>
<p><img src="http://www.lifeparty.idv.tw/blog/wp-content/uploads/2007/09/salary.png" /></p>
<p>如圖所示，表面上加薪的願望可以由爭取加薪的行動來獲得滿足，但事實上，爭取加薪卻可能形成一種對問題捨本逐末的動態系統，因為在這種情況下，主管慢慢地會發現員工要求的比他付出的還多，於是會降低對員工的滿意度，當然不可能會心甘情願地幫員工加薪，反而形成一個愈演愈烈的惡性循環。</p>
<p>那員工該怎麼辦呢？想要加薪的根本解決之道，其實是提昇自己的能力。能力提昇了，讓主管發現公司沒有你不行，何愁薪水不會增加？但如何讓主管發現我們可以為公司創造價值呢？在平時，就應該站在公司的角度思考，我可以創造出公司所需要而缺乏的東西嗎，即使現在我沒有這方面的能力，我如何可以學到呢，然後多向主管談一談這方面的想法，他自然會比別人更容易看到我們。</p>
<p>我理解梅子建議的目的是要促成工作者的積極思考，先想清楚自己要什麼。然而，我卻認為不能不對「趁年輕多賺點錢」的基本信念做一番審視，我們憑著什麼賺錢呢？否則我們將很容易會被自己想法所框住了，最後常會發現，結果並不如我們所想像的那樣。</p>
<p class="poweredbyperformancing">Powered by <a href="http://scribefire.com/">ScribeFire</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lifeparty.idv.tw/blog/archives/225/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>合約與需求變更</title>
		<link>http://www.lifeparty.idv.tw/blog/archives/215</link>
		<comments>http://www.lifeparty.idv.tw/blog/archives/215#comments</comments>
		<pubDate>Tue, 04 Sep 2007 03:25: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>

		<guid isPermaLink="false">http://www.lifeparty.idv.tw/blog/archives/215</guid>
		<description><![CDATA[Julian 又對我在〈需求過程的溝通問題〉提出看法，他認為需求可以改變應該基於兩大前提，亦即：

 客戶同意專案時程或是時程內的完成工作項目也要可以隨需求一起變動。
客戶同意專案費用也可以隨需求一起變動。

Julian 用了一些經驗來指出開發者對於允許需求變動會遭遇的困難，最後對於需求變動提出他的結論：
需求應該要可以變動，但是前提是客戶夠好可以負擔多出的時程和費用；如果不行，就要向客戶強調一個穩定的需求對專案能否順利完成的重要性，並盡可能的防止變動的發生。誰叫顧客永遠是對的，開發廠商永遠是被坳的哪一方。
同人認為 Julian 說的都是實情，開發者常會覺得很無奈，有很多事看起來是「形勢比人強」的問題，所以要讓專案順利進行下去，不得不採用權宜之計。但變動真的可以防止嗎？軟體專案的實情常會顯示著一個現象，你愈不讓客戶變更需求，客戶就愈會去變更需求。
為什麼會有這種結果呢？因為甲乙雙方的利益不相容，會讓雙方不斷地嘗試增加或減低資訊不對稱的現象，因而造成彼此相互鬥法的動態系統。但如果變更無法避免，那麼要客戶負擔因變更而多出來的成本及時程是可能的嗎？同人認為要視甲乙雙方所簽訂的合約類型而定，從 Julian 的回應看來，我想他所做的專案都是 fixed-price 或 lump-sum 合約而不是 T&#38;M (time and material) 合約。
本來專案合約的類型就不是開發者可以決定的，而是軟體公司與客戶高層間的協議，然而如果開發者如果清楚合約類型的不同，與成本風險息息相關，或許就更可以不去抱持不必要的期望，也就不會有那麼多的抱怨了，至少抱怨的對象可以換一下。;^)
fixed-price 合約就是所謂的總價合約，意指買方只會依據當初協議好的固定價格來支付金額，如果合約沒有額外的獎勵或補償條款，那麼賣方將不會得到更多的酬勞，總價合約專案的成本風險本來就是賣方支付，這對客戶沒什麼好抱怨的，而是應該問公司高層，為什麼這個有成本風險的專案要用固定賣價的總價合約。
所以關於 Julian 所言的前提 2，如果是總價合約，其實是不會成立的，因為這將會違背合約內容；如果是 T&#38;M 合約，才能成立，因為這種合約的賣價是視開發者花費的時間及花費的資源而定，所以對買方有較高的成本風險，通常用在複雜度較高的專案。
同人與那位專案經理所談的專案，就是採用 T&#38;M 合約的軟體專案，而且相當湊巧的是此專案正好是用敏捷開發方法來開發軟體，雖不敢說是完全採用 eXtreme Programming，但我們的開發方法得確是參考 XP 精神所規劃出來的，在這個專案中同人深刻地體會到，允許需求變動與否，不在於方法論本身，而是如何適度與客戶溝通，掌握敏捷與紀律的平衡。至於成本計價的問題根本不用開發者費心，專案的行政支援會盡心來打理一切。
至於 Julian 所說的前提 1，以總價合約來看，如果變更衝擊到專案範疇，那麼可以與賣方協調修改合約，如果沒有，延期所增加的成本必須由賣方自行吸收。當然，T&#38;M 合約變更後對專案的範疇、時程及成本之三重限制是由買方負擔。在此附帶提一點，客戶支付的價格與開發成本應該分開來看，請參考〈專案成本估算之軟體價格的迷思〉，所以變更所增加的成本並不一定就應該反映在軟體價格上，尤其是在總價合約專案中，這種現象更是明顯。
由上可知，Julian 提出的兩大前提，純粹是以開發者身處組織的利益來考量需求變更。但站在客戶的角度不見得會認同這樣的看法，專案的合約是由甲乙雙方協議具有法律的效力，它也專案很重要的限制之一，因此當用合約限制來看時，會發現以這兩大前提來看變更管理其實是不能讓甲乙雙方有一致性的觀點的，而有過於片面性的缺點。換言之，專案不能只站在開發者的角度來思考問題。
同人在此必須要澄清一個觀念，客戶可以提供他們的領域知識及現場作業知識，但那些知識並不是軟體需求（requirements），而是只能顯露出他們對系統的需要（needs），需要是抽象而片斷的，本身是非結構化的，而可用的軟體需求卻必須是具體而完整一致的，具備結構化的特性。
因此，如果開發者沒有針對客戶需要分析他們的問題，設計解決方案，只是直接把客戶的想法直接轉成軟體規格的話，客戶心中想的那朵雲，隨時都會變幻出各種不同的形狀，需求不斷變動當然是必然的，如果開發者沒做適切的分析及設計，只靠實作技能又怎麼可能滿足客戶多變的渴望與需要呢？
同人認為，開發者不應該只專注在 coding 上，自許為知識工作者，你的知識不是只有程式設計而已，而是要花足夠的時間在問題領域的分析上，才可能為客戶設計出可以解決他們問題的軟體，這才是開發者真正的專業所在呀。
當然，同人可以體會開發者希望＂客戶夠好＂的渴望，但我更相信，要讓客戶夠好，開發者也應該展現出足夠的專業，良性的溝通是雙向的，在希望客戶為我們著想的同時，我們是否真的願意多花一點時間問自己：＂客戶真正需要的什麼，我是不是遺漏了什麼，我如何能創造客戶的價值？＂。
一旦開發者願意自我反省，思考以上問題時，思想將會反映在行為上，客戶將會感受到你的專業與誠意，彼此才會有良好的互動，否則雙方的立場永遠是對立的，相互抗衡的後果將不會有贏的一方。彼此相互信任才能讓專案有好的開始，此時，我們才會看到，客戶與開發者的目標原來就是一致的，讓專案成功共創雙贏，大家其實都是對的，只是我們是否願意退一步，反省看清楚我們原來所看不到的事物。
Powered by ScribeFire.
]]></description>
			<content:encoded><![CDATA[<p>Julian 又對我在〈需求過程的溝通問題〉提出<a href="http://www.lifeparty.idv.tw/blog/archives/214#comment-3519">看法</a>，他認為需求可以改變應該基於兩大前提，亦即：</p>
<ol>
<li> 客戶同意專案時程或是時程內的完成工作項目也要可以隨需求一起變動。</li>
<li>客戶同意專案費用也可以隨需求一起變動。</li>
</ol>
<p>Julian 用了一些經驗來指出開發者對於允許需求變動會遭遇的困難，最後對於需求變動提出他的結論：</p>
<blockquote><p>需求應該要可以變動，但是前提是客戶夠好可以負擔多出的時程和費用；如果不行，就要向客戶強調一個穩定的需求對專案能否順利完成的重要性，並盡可能的防止變動的發生。誰叫顧客永遠是對的，開發廠商永遠是被坳的哪一方。</p></blockquote>
<p>同人認為 Julian 說的都是實情，開發者常會覺得很無奈，有很多事看起來是「形勢比人強」的問題，所以要讓專案順利進行下去，不得不採用權宜之計。但變動真的可以防止嗎？軟體專案的實情常會顯示著一個現象，你愈不讓客戶變更需求，客戶就愈會去變更需求。</p>
<p>為什麼會有這種結果呢？因為甲乙雙方的利益不相容，會讓雙方不斷地嘗試增加或減低資訊不對稱的現象，因而造成<a href="http://www.lifeparty.idv.tw/blog/archives/146">彼此相互鬥法的動態系統</a>。但如果變更無法避免，那麼要客戶負擔因變更而多出來的成本及時程是可能的嗎？同人認為要視甲乙雙方所簽訂的合約類型而定，從 Julian 的回應看來，我想他所做的專案都是 fixed-price 或 lump-sum 合約而不是 T&amp;M (time and material) 合約。</p>
<p>本來專案合約的類型就不是開發者可以決定的，而是軟體公司與客戶高層間的協議，然而如果開發者如果清楚合約類型的不同，與成本風險息息相關，或許就更可以不去抱持不必要的期望，也就不會有那麼多的抱怨了，至少抱怨的對象可以換一下。;^)</p>
<p>fixed-price 合約就是所謂的總價合約，意指買方只會依據當初協議好的固定價格來支付金額，如果合約沒有額外的獎勵或補償條款，那麼賣方將不會得到更多的酬勞，總價合約專案的成本風險本來就是賣方支付，這對客戶沒什麼好抱怨的，而是應該問公司高層，為什麼這個有成本風險的專案要用固定賣價的總價合約。</p>
<p>所以關於 Julian 所言的前提 2，如果是總價合約，其實是不會成立的，因為這將會違背合約內容；如果是 T&amp;M 合約，才能成立，因為這種合約的賣價是視開發者花費的時間及花費的資源而定，所以對買方有較高的成本風險，通常用在複雜度較高的專案。</p>
<p>同人與那位專案經理所談的專案，就是採用 T&amp;M 合約的軟體專案，而且相當湊巧的是此專案正好是用<a href="http://en.wikipedia.org/wiki/Agile_software_development">敏捷開發方法</a>來開發軟體，雖不敢說是完全採用 <a href="http://en.wikipedia.org/wiki/Extreme_Programming">eXtreme Programming</a>，但我們的開發方法得確是參考 XP 精神所規劃出來的，在這個專案中同人深刻地體會到，允許需求變動與否，不在於方法論本身，而是<a href="http://www.lifeparty.idv.tw/blog/archives/179">如何適度與客戶溝通</a>，掌握敏捷與紀律的平衡。至於成本計價的問題根本不用開發者費心，專案的行政支援會盡心來打理一切。</p>
<p>至於 Julian 所說的前提 1，以總價合約來看，如果變更衝擊到專案範疇，那麼可以與賣方協調修改合約，如果沒有，延期所增加的成本必須由賣方自行吸收。當然，T&amp;M 合約變更後對專案的範疇、時程及成本之三重限制是由買方負擔。在此附帶提一點，客戶支付的價格與開發成本應該分開來看，請參考〈<a href="http://www.lifeparty.idv.tw/blog/archives/150">專案成本估算之軟體價格的迷思</a>〉，所以變更所增加的成本並不一定就應該反映在軟體價格上，尤其是在總價合約專案中，這種現象更是明顯。</p>
<p>由上可知，Julian 提出的兩大前提，純粹是以開發者身處組織的利益來考量需求變更。但站在客戶的角度不見得會認同這樣的看法，專案的合約是由甲乙雙方協議具有法律的效力，它也專案很重要的限制之一，因此當用合約限制來看時，會發現以這兩大前提來看變更管理其實是不能讓甲乙雙方有一致性的觀點的，而有過於片面性的缺點。換言之，專案不能只站在開發者的角度來思考問題。</p>
<p>同人在此必須要澄清一個觀念，客戶可以提供他們的領域知識及現場作業知識，但那些知識並不是軟體需求（requirements），而是只能顯露出他們對系統的需要（needs），需要是抽象而片斷的，本身是非結構化的，而可用的軟體需求卻必須是具體而完整一致的，具備結構化的特性。</p>
<p>因此，如果開發者沒有針對客戶需要分析他們的問題，設計解決方案，只是直接把客戶的想法直接轉成軟體規格的話，客戶心中想的那朵雲，隨時都會變幻出各種不同的形狀，需求不斷變動當然是必然的，如果開發者沒做適切的分析及設計，只靠實作技能又怎麼可能滿足客戶多變的渴望與需要呢？</p>
<p>同人認為，開發者不應該只專注在 coding 上，自許為知識工作者，你的知識不是只有程式設計而已，而是要花足夠的時間在問題領域的分析上，才可能為客戶設計出可以解決他們問題的軟體，這才是開發者真正的專業所在呀。</p>
<p>當然，同人可以體會開發者希望＂客戶夠好＂的渴望，但我更相信，要讓客戶夠好，開發者也應該展現出足夠的專業，良性的溝通是雙向的，在希望客戶為我們著想的同時，我們是否真的願意多花一點時間問自己：＂客戶真正需要的什麼，我是不是遺漏了什麼，我如何能創造客戶的價值？＂。</p>
<p>一旦開發者願意自我反省，思考以上問題時，思想將會反映在行為上，客戶將會感受到你的專業與誠意，彼此才會有良好的互動，否則雙方的立場永遠是對立的，相互抗衡的後果將不會有贏的一方。彼此相互信任才能讓專案有好的開始，此時，我們才會看到，客戶與開發者的目標原來就是一致的，讓專案成功共創雙贏，大家其實都是對的，只是我們是否願意退一步，反省看清楚我們原來所看不到的事物。</p>
<p class="poweredbyperformancing">Powered by <a href="http://scribefire.com/">ScribeFire</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lifeparty.idv.tw/blog/archives/215/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>工作時間與知識分享</title>
		<link>http://www.lifeparty.idv.tw/blog/archives/173</link>
		<comments>http://www.lifeparty.idv.tw/blog/archives/173#comments</comments>
		<pubDate>Tue, 03 Jul 2007 06:48: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>

		<guid isPermaLink="false">http://www.lifeparty.idv.tw/blog/archives/173</guid>
		<description><![CDATA[喲哪桑說：
優秀的工作者，不論是管理職，還是技術職，其工作時數都很長。  因為，這不只是工作時間的問題，而是工作態度的問題。
石頭成針對喲哪桑學長的這個觀點，認為不能把管理者工作認同和管理者工作績效混為一談，提到了：
一個無法讓下屬準時收工的管理者是抱著什麼心態在執行「管理工作」。是否只是為了滿足自己的權力與控制欲望？所以我說管理者要用下屬做 reflection ，透過下屬反觀自己是否「做好管理工作」。
當然，如果下屬也能從工作中得到認同，並願意延長工作時數也沒什麼不好。但那是下屬的事。管理者要學會把自己的感覺和下屬的感覺分開考量。
同人也為此主題，寫了一篇〈核心價值觀與工作態度〉，提出工作者可以選擇適合自己的工作環境，然後從工作中創造出個人的價值與意義，並不需要迎合對自己生命無意義的價值觀，消極地藉由超時工作才能讓經營者肯定我們的表現，因而為此付出青春而追悔莫及。
但同人的文章並非否定工作態度的意義，工作態度當然很重要，但一旦經營者或管理者把它當成批判工作者的工具時，它就不具任何意義了。用自己的核心價值觀來看待他人的世界，怎麼看都不對，經營者或管理者應該學會用更理性、更客觀的角度來看問題，才不會對工作者造成無謂的偏見。
我的文章得到哈米尼斯的迴響，他提道：
 面對自己的人生（包含工作），我們應該秉持的態度問題，我們可以選擇工作=賣時間的觀念，但同時也可以選擇把工作當成是一種事業的態度來經營。這兩者所會產生的能量是很不同的，也如同您所提到的，超時工作是一種選擇，沒有對錯，但是如果我們可以透過這種行為進而拿到自己想要的東西，也許這種想法就會產生另外的價值也不一定。
這期的Career談到了Me世代、也談到了21世紀新人才的競爭力。
要發展什麼能力、要用何種態度面對，其實就像公司的核心價值一樣，是取決於「經營者」的。
當個人的角色重新定位成「一人公司」的時候，其實問題不也是一樣的嗎？
當許多人在怨嘆環境不好、競爭規則的改變；也不妨想想你曾經建立過自己的核心價值嗎？
哈米尼斯說的沒錯，成功要有決心、要付出代價，可是在努力之前，請先問一問自己，我們是否確認了目標、認清了方向，培養「以終為始」的習慣[1]。「努力會有結果，但不見得會有好結果」，如果沒有在努力前，先弄清楚方向，我們將會誤入歧途，白費工夫，就算我們的努力，可以得到再多卻不見得會有絲毫的意義，因為那將不是我們人生真正需要的東西。
同人一再強調，身處知識經濟時代，競爭力的來源並不在勞力與資源，而是資訊與知識。windlove 說的好：＂台灣陷在製造業的思維太久了，花個一段時間想出一個更有效率的方法，才是真的解決之道。不然，人一天在多也只有24小時，不是嗎??＂，所以，工作時間拉長或許表面上，在勞力與資源的運用上會很有效率，但卻會造成邊際效應遞減及心理層面因素而造成工作上的捨本逐末，因而降低效能。其實，還有一個更嚴重的問題，那就是一個忙碌的工作團隊，將會形成不利創新的企業文化，造成知識分享的障礙並且管理者會付出相當高的代理成本。
過去，同人曾接受一位高階主管之請託，要藉重我在設計上的見解，來幫公司軟體開發部門開設一系列的 GRASP/GoF design pattern 讀書會，希望提昇部門的軟體開發能力。許多開發人員都很期待有這樣的一個機會能學習加強設計能力，然而正當一切籌劃就緒之際，有一位專案經理卻跑來跟我說：
Jim，你去跟部門經理說，專案都趕不完了，不要浪費時間來搞什麼讀書會了。
我聽到了這句話，當下除了陪笑臉外，實在不知道該說什麼。站在專案的角度，那位專案經理的想法是合理的，然而，提昇了成員設計能力，專案可以執行得更有效率、增加專案的成功機會，難得高階管理者有心，專案經理卻認為是浪費時間。這故事當然也是心理層面因素而造成工作上的捨本逐末的最佳例證，但形成不重視知識分享與團隊學習的組織文化才是對公司最大的傷害呀！那位專案經理希望這個專案團隊工作要有效率，如果團隊成員自己工作都忙不完了，怎麼可能有時間來作資訊的溝通交流與知識分享呢？但缺乏資訊的溝通與知識的分享，團隊將會缺乏效能與創新呀。因此，同人認為：長期處於忙碌的狀況，其實不是工作態度的問題，而是組織知識管理的最大障礙！工作時間長其實不須沾沾自喜，優秀工作者是必須有自知之明的呀。

如果我們工作真的很忙，最好細細思量，為什麼我們為那麼忙呢？或許因為沒有人可以分担我們的工作，於是乎，許多工作等著我們去親力親為，造成我們不得不以增加我們的工作時數來應付大量的工作負擔。但為什麼別人沒有辦法來分担這些工作呢？或許因為這些工作太重要了，同時要具備足夠的專業能力才能勝任，我不相信別人可能做得好，更何況教會他們的時間，足以讓我把事情做好，我何必浪費這些機會成本。於是乎，和心理層面因素所造成的工作上捨本逐末相似的模式將再度重演，表面上是人在江湖身不由己，實際上是藉由忙碌來展現個人無可取代的獨特價值，然而這種心理因素卻造成團隊知識分享上的障礙，而管理者也將為此付出大量的代理成本。
為什麼我會說管理者也將為此付出大量的代理成本呢？當團隊中的工作內容，存在著資訊不對稱的特性，而在知識分享上，管理者又無法提供足夠的誘因，讓團隊成員願意分享他知識。團隊中將會產生嚴重的代理問題，所以管理者將付出大量的代理成本。所以，增加工作時間，從勞力的層面看來，似乎增加資源的工作效率，降低了交易成本，但對知識工作者而言，沒有足夠的激勵因素來讓團隊中知識可以流動，更不用說可以進一步地產生知識的創新，即使付出大量的監督代理成本，效果也會很差，徒然增加了管理的困難而造成規模不經濟的現象。對公司而言，知識工作者的價值在於他腦中的知識而非他的勞力。因此，有遠見的經營者多半了解組織鬆弛（slack）的重要性，為了讓組織更有效能，不斷創新，以富有彈性使公司比競爭對手更能適應變化，所以，他們自然會了解別讓員工瞎忙的道理呀。
Powered by ScribeFire.
附註：
&#160;參考史蒂芬．柯維著（2005），《與成功有約》中的第二個習慣。]]></description>
			<content:encoded><![CDATA[<p><a href="http://jonathanspeaking.blogspot.com">喲哪桑</a>說：</p>
<blockquote><p>優秀的工作者，不論是管理職，還是技術職，其工作時數都很長。  因為，這不只是工作時間的問題，而是工作態度的問題。</p></blockquote>
<p><a href="http://blog.roodo.com/rocksaying">石頭成</a>針對喲哪桑學長的這個觀點，認為<a href="http://jonathanspeaking.blogspot.com/2007/06/blog-post_14.html#comment-861068093208763856">不能把管理者工作認同和管理者工作績效混為一談</a>，提到了：</p>
<blockquote><p>一個無法讓下屬準時收工的管理者是抱著什麼心態在執行「管理工作」。是否只是為了滿足自己的權力與控制欲望？所以我說管理者要用下屬做 reflection ，透過下屬反觀自己是否「做好管理工作」。</p>
<p>當然，如果下屬也能從工作中得到認同，並願意延長工作時數也沒什麼不好。但那是下屬的事。管理者要學會把自己的感覺和下屬的感覺分開考量。</p></blockquote>
<p>同人也為此主題，寫了一篇〈核心價值觀與工作態度〉，提出工作者可以選擇適合自己的工作環境，然後從工作中創造出個人的價值與意義，並不需要迎合對自己生命無意義的價值觀，消極地藉由超時工作才能讓經營者肯定我們的表現，因而為此付出青春而追悔莫及。</p>
<p>但同人的文章並非否定工作態度的意義，<strong>工作態度當然很重要，但一旦經營者或管理者把它當成批判工作者的工具時，它就不具任何意義了。</strong>用自己的核心價值觀來看待他人的世界，怎麼看都不對，經營者或管理者應該學會用更理性、更客觀的角度來看問題，才不會對工作者造成無謂的偏見。</p>
<p>我的文章得到<a href="http://blog.pixnet.net/geminis">哈米尼斯</a>的迴響，他提道：</p>
<blockquote><p> 面對自己的人生（包含工作），我們應該秉持的態度問題，我們可以選擇工作=賣時間的觀念，但同時也可以選擇把工作當成是一種事業的態度來經營。這兩者所會產生的能量是很不同的，也如同您所提到的，超時工作是一種選擇，沒有對錯，但是如果我們可以透過這種行為進而拿到自己想要的東西，也許這種想法就會產生另外的價值也不一定。</p>
<p>這期的Career談到了Me世代、也談到了21世紀新人才的競爭力。<br />
要發展什麼能力、要用何種態度面對，其實就像公司的核心價值一樣，是取決於「經營者」的。</p>
<p>當個人的角色重新定位成「一人公司」的時候，其實問題不也是一樣的嗎？<br />
當許多人在怨嘆環境不好、競爭規則的改變；也不妨想想你曾經建立過自己的核心價值嗎？</p></blockquote>
<p>哈米尼斯說的沒錯，成功要有決心、要付出代價，可是在努力之前，請先問一問自己，我們是否確認了目標、認清了方向，培養「以終為始」的習慣<sup>[1]</sup>。「努力會有結果，但不見得會有好結果」，如果沒有在努力前，先弄清楚方向，我們將會誤入歧途，白費工夫，就算我們的努力，可以得到再多卻不見得會有絲毫的意義，因為那將不是我們人生真正需要的東西。</p>
<p>同人一再強調，身處<a href="http://www.moneydj.com/z/glossary/glexp_4747.asp.htm">知識經濟</a>時代，競爭力的來源並不在勞力與資源，而是資訊與知識。<a href="http://www.lifeparty.idv.tw/blog/archives/170#comment-3129">windlove 說的好</a>：＂台灣陷在製造業的思維太久了，花個一段時間想出一個更有效率的方法，才是真的解決之道。不然，人一天在多也只有24小時，不是嗎??＂，所以，工作時間拉長或許表面上，在勞力與資源的運用上會很有效率，但卻會<a href="http://www.lifeparty.idv.tw/blog/archives/165">造成邊際效應遞減</a>及<a href="http://www.lifeparty.idv.tw/blog/archives/169">心理層面因素而造成工作上的捨本逐末</a>，因而降低效能。其實，還有一個更嚴重的問題，那就是一個忙碌的工作團隊，將會形成不利創新的企業文化，造成知識分享的障礙並且管理者會付出相當高的代理成本。</p>
<p>過去，同人曾接受一位高階主管之請託，要藉重我在設計上的見解，來幫公司軟體開發部門開設一系列的 <a href="http://en.wikipedia.org/wiki/GRASP_%28Object_Oriented_Design%29">GRASP</a>/<a href="http://en.wikipedia.org/wiki/Gang_of_Four_%28software%29">GoF design pattern</a> 讀書會，希望提昇部門的軟體開發能力。許多開發人員都很期待有這樣的一個機會能學習加強設計能力，然而正當一切籌劃就緒之際，有一位專案經理卻跑來跟我說：</p>
<blockquote><p>Jim，你去跟部門經理說，專案都趕不完了，不要浪費時間來搞什麼讀書會了。</p></blockquote>
<p>我聽到了這句話，當下除了陪笑臉外，實在不知道該說什麼。站在專案的角度，那位專案經理的想法是合理的，然而，提昇了成員設計能力，專案可以執行得更有效率、增加專案的成功機會，難得高階管理者有心，專案經理卻認為是浪費時間。這故事當然也是心理層面因素而造成工作上的捨本逐末的最佳例證，但形成不重視知識分享與<a href="http://en.wikipedia.org/wiki/Team_learning">團隊學習</a>的<a href="http://zh.wikipedia.org/wiki/%E4%BC%81%E4%B8%9A%E6%96%87%E5%8C%96">組織文化</a>才是對公司最大的傷害呀！那位專案經理希望這個專案團隊工作要有效率，如果團隊成員自己工作都忙不完了，怎麼可能有時間來作資訊的溝通交流與知識分享呢？但缺乏資訊的溝通與知識的分享，團隊將會缺乏效能與創新呀。因此，同人認為：<strong>長期處於忙碌的狀況，其實不是工作態度的問題，而是組織知識管理的最大障礙！</strong>工作時間長其實不須沾沾自喜，優秀工作者是必須有<a href="http://en.wikipedia.org/wiki/Self-awareness">自知之明</a>的呀。</p>
<p><img src="http://www.lifeparty.idv.tw/blog/wp-content/uploads/2007/07/teamwork.png" alt="teamwork.png" /><br />
如果我們工作真的很忙，最好細細思量，為什麼我們為那麼忙呢？<em>或許</em>因為沒有人可以分担我們的工作，於是乎，許多工作等著我們去親力親為，造成我們不得不以增加我們的工作時數來應付大量的工作負擔。但為什麼別人沒有辦法來分担這些工作呢？<em>或許</em>因為這些工作太重要了，同時要具備足夠的專業能力才能勝任，我不相信別人可能做得好，更何況教會他們的時間，足以讓我把事情做好，我何必浪費這些<a href="http://en.wikipedia.org/wiki/Opportunity_cost">機會成本</a>。於是乎，和心理層面因素所造成的工作上捨本逐末相似的模式將再度重演，<strong>表面上是人在江湖身不由己，實際上是藉由忙碌來展現個人無可取代的獨特價值，然而這種心理因素卻造成團隊知識分享上的障礙，而管理者也將為此付出大量的<a href="http://en.wikipedia.org/wiki/Agency_cost">代理成本</a>。</strong></p>
<p>為什麼我會說管理者也將為此付出大量的代理成本呢？當團隊中的工作內容，存在著<a href="http://en.wikipedia.org/wiki/Information_asymmetry">資訊不對稱</a>的特性，而在知識分享上，管理者又無法提供足夠的誘因，讓團隊成員願意分享他知識。團隊中將會產生嚴重的<a href="http://en.wikipedia.org/wiki/Principal-agent_problem">代理問題</a>，所以管理者將付出大量的代理成本。所以，增加工作時間，從勞力的層面看來，似乎增加資源的工作效率，降低了<a href="http://en.wikipedia.org/wiki/Transaction_cost">交易成本</a>，但對知識工作者而言，沒有足夠的激勵因素來讓團隊中知識可以流動，更不用說可以進一步地產生知識的創新，即使付出大量的監督代理成本，效果也會很差，徒然增加了管理的困難而造成<a href="http://en.wikipedia.org/wiki/Diseconomies_of_scale">規模不經濟</a>的現象。<strong>對公司而言，知識工作者的價值在於他腦中的知識而非他的勞力。</strong>因此，有遠見的經營者多半了解組織鬆弛（slack）的重要性，為了讓組織更有效能，不斷創新，以富有彈性使公司比競爭對手更能適應變化，所以，他們自然會了解<a href="http://www.anobii.com/books/0119940ada5028f8e5" title="更多關於別讓員工瞎忙">別讓員工瞎忙</a>的道理呀。</p>
<p class="poweredbyperformancing">Powered by <a href="http://scribefire.com/">ScribeFire</a>.</p>
附註：
&nbsp;<hr/><ol class="footnotes"><li id="footnote_0_173" class="footnote">參考史蒂芬．柯維著（2005），《<a href="http://www.anobii.com/books/00902b6508b6f40e1f" title="更多關於與成功有約">與成功有約</a>》中的第二個習慣。</li></ol>]]></content:encoded>
			<wfw:commentRss>http://www.lifeparty.idv.tw/blog/archives/173/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
