助程序員在不加班的情況下把項(xiàng)目做好?
在筆者帶項(xiàng)目和監(jiān)控項(xiàng)目的過程中發(fā)現(xiàn),程序員工作效率不高的原因除了技能因素外,還有幾個重要的因素在影響著程序員的工作績效:
1.工作無計(jì)劃:很多程序員根本不知道每天要做哪些事情,每天必須做完哪些事情。很少有程序員對當(dāng)天的工作進(jìn)行計(jì)劃,
2.工作無重點(diǎn):很多程序員通常按事情發(fā)生的先后順序來做事。有時(shí),有些程序員忙碌了一天下來卻發(fā)現(xiàn)當(dāng)天其實(shí)沒有做什么有用的事情。
3.工作無目的:程序員不知道當(dāng)天要把事情做到什么程度,完全是憑心情做事,憑良心做事。事情沒有做完,別人下班自己也跟著下班,認(rèn)為反正明天還有時(shí)間,還沒有到最后期限。
4.工作不到位:工作起來總是覺得差不多就行。把代碼寫完和功能能夠運(yùn)行當(dāng)作兩回事情。工作到位就是一次就把工作做好,達(dá)到可交付。
5.工作無積極性:被動式工作,就算工作做完也不提交,一定要等到最后期限才提交。如果比承諾時(shí)間提前提交工作,馬上就會帶來新的工作,多干和少干一個樣,誰愿意多干呢?
我們可以提出一個概念叫做“工作成熟度”。工作成熟度高的程序員通常會有計(jì)劃性、工作有重點(diǎn)、有目的性、工作做到位。而成熟度低的程序員通常是無計(jì)劃的,工作不分輕重,很容易被突發(fā)事件打斷當(dāng)前工作,工作要通過多次修改才能夠完成。所以,我發(fā)現(xiàn),工作成熟度對程序員生產(chǎn)率造成最直接的影響。
筆者在監(jiān)控項(xiàng)目的過程中也發(fā)現(xiàn)造成項(xiàng)目組效率低下、進(jìn)度落后的一些因素:
1.項(xiàng)目經(jīng)理不了解項(xiàng)目當(dāng)日狀態(tài)。是的,有些項(xiàng)目經(jīng)理根本不知道今天每個程序員會干些什么?該干些什么?
2.項(xiàng)目經(jīng)理不了解項(xiàng)目實(shí)情。沒錯,項(xiàng)目經(jīng)理根本就不知道每個程序員當(dāng)天干了多少活,干到什么程度,還要干多久?也就不知道項(xiàng)目到了什么程序,還有多少工作量要做?
3.項(xiàng)目經(jīng)理不知道每個人是否能夠按期交貨。項(xiàng)目經(jīng)理只能是望天收成,期望程序員憑良心、憑職業(yè)道德做事。但是,至于程序是否能夠按期交貨,只有鬼才知道。
4.項(xiàng)目經(jīng)理不知道工作的重點(diǎn)是什么?哪些工作是本階段必須要完成的?哪些是可以拖后的?
5.不良溝通。項(xiàng)目組的溝通不良,產(chǎn)生大量重復(fù)代碼。甚至?xí)袃蓚€程序同時(shí)開發(fā)一個功能,但是彼此間卻不知道。
6.信息不能共享。程序員彼此之間不知道別人干得怎么樣?也不知道項(xiàng)目整體情況到底怎么樣?這也難為程序員了,因?yàn)轫?xiàng)目經(jīng)理也不知道。
糟糕的項(xiàng)目都存在著一個黑洞。通常會是在編碼階段,整個項(xiàng)目組就像在黑洞中穿行一樣,誰也看不清對方,不知道黑洞的盡頭在哪里,誰也不知道走過多少地方,還要多久才能走出黑洞??傊?,項(xiàng)目經(jīng)理只能拼命的喊:“快點(diǎn),快點(diǎn),兄弟們,我們的時(shí)間不多了?!彼?,項(xiàng)目經(jīng)理只能讓所有的人每天加班,星期六不能休息,到最后,星期天也不能休息。
這就是我們可以提出的另一個概念——“團(tuán)隊(duì)成熟度”。
“噢,伙計(jì),我已經(jīng)聽煩了。好像是有那么回事!可是又能怎么樣呢?所有的項(xiàng)目不都是這樣過來的嗎?”
四、日計(jì)劃做什么?
程序員的工作成熟度直接影響了程序員的生產(chǎn)率;項(xiàng)目的團(tuán)隊(duì)成熟度直接影響了項(xiàng)目的生產(chǎn)率。如果我們能夠提高程序員工作成熟度和團(tuán)隊(duì)成熟度,就一定可以提高項(xiàng)目的生產(chǎn)率。
而程序員工作成熟度和項(xiàng)目團(tuán)隊(duì)成熟度的共同核心點(diǎn)就是計(jì)劃。在筆者的研究和實(shí)踐過程中,可以通過在項(xiàng)目中實(shí)施日計(jì)劃來提高程序員的工作成熟度和項(xiàng)目的團(tuán)隊(duì)成熟度,從而提高程序員的生產(chǎn)率和項(xiàng)目的生產(chǎn)率。
實(shí)施日計(jì)劃的流程: