其實我們每個程序員都有一個夢想,那就是打造一個完美的軟件開發框架,只可惜這個夢想太難實現了,並不是我們不努力而是只能責怪時代發展太快了。
C#快速開發架構推銷過程中遇到的各種困難小結:
1:我們的思維、對業務的深入理解程度、對專業知識的深入程度往往沒老外那么深,分工明確、職責明確、定位明確都難做到,容易思維混亂,開發框架經不起推敲的更多一些。
2:軟件技術發展實在太快了,你剛掌握好一個技術,另外一個更新更牛更先進的開發技術又出來了,一個人真的很難一直能保持技術領先,而且是全方面的領先,不可能比專業技術公司做得更強大,例如比微軟更強大、比IBM更強大、蘋果更強大,人家是幾百幾千的全球精英團隊,我們只是普通老百姓一個人。
3:軟件的開發周期相對較長,系統又要穩定、又要好用、又要性能高,需要一個很長的成熟期,在這期間難抵擋各種社會的誘惑一直埋頭精心完善維護軟件系統,也容易閉門造車。
4:技術人員往往誰都不服誰,全領域做得都比任何人強大太難了,每個人都有自己的側重點、自己的優勢,自己的獨門絕招,所以都看不上別人的系統的整體優勢,往往更看自己精通的局部功能對比。
5:一個良好的系統架構與一個能將就過得去的架構,從公司管理層領導的角度看起來效果並不明顯,因為修修補補照樣可以用用,性價比差距不大,我們的業務也不是多如毛,很多時候無所事事的時候也很多,修修補補反而還有事情可干了。
6:軟件架構太復雜了,菜鳥都無法上手,甚至高手也難理解,真正的高手又不需要什么框架等,自己都有能力打造起來,所以銷售的市場很有局限性,只能銷售給經濟良好,又不想耗費時間自己研究琢磨的軟件類或者接近有軟件業務的公司推銷。
以上幾個比較重要的問題導致專門銷售軟件系統架構的公司都很難生存發展,但是已經投入了很多精力了就難放棄這個領域了,堅持了好多年的宣傳推廣后,知名度是越來越高了,也有些潛在的客戶一直在關注,就像蘇州工業園區的這個客戶,也是關注了很長一段時間才能給領導推薦決策。
客戶購買C#軟件開發架構的原因小結:
2012年年底,有幸被蘇州工業區的某家公司看重,采購了通用權限管理系統組件。他們采購我們軟件的原因主要有以下幾點,也給同行們參考一下。
1:公司本身研究地理信息系統為主的,所以信息化系統的開發相對是屬於公司的輔助領域,沒有過多的在這方面有投入,這部分靠外包系統架構為主,也沒打算在系統架構的研究上加大投資,非核心業務外包的思路,這個其實是一點兒沒錯。
2:公司需要快速開發一個WEB系統,以前是主要是以C\S系統為主,需要開發一套相對兼容性高的B\S系統,這樣又能滿足B\S,又能滿足C\S架構的,那就是我們的組件的特點被看中了。
3:其實軟件公司人員的變動都很大,就算是比較成熟的軟件公司,甚至是待遇還不錯的軟件公司,人員的變動照樣很大,有去考研究生的,有去出國的,有去當公務員的,而且軟件公司招人也越來越難了,高端的虎口打開,否則不跳槽,甚至有些低端的人也不是非常好找,就是找來了也干不來大事情,對新項目的推動力不高,甚至有可能成為累贅。
4:希望新系統又能支持Oracle,又能支持sqlServer,有多數據庫的要求,那我們的又一個優點被看中了。
5:當然客戶也需要一個輕量級的個性化定制的審批流程組件,當然也需要提供源碼,需要提供技術支持。
6:需要把其他幾個地理信息系統相關的子系統也都實現好單點登錄,需要提供技術支持,提供解決方案,用戶的權限、登錄授權等可以實現集中管理。
快速開發架構實施過程中遇到的困難小結:
特別是給軟件公司推銷開發架構是最頭疼的事情,所以我把實施過程總遇到的問題也簡單整理一下給大家參考一下:
1:任何開發人員都會習慣性排斥外來的東西,所以解決這個問題的方法就跟對方成為好朋友,首先從心里上搞定,當對方成為你的好朋友了,他就不會對反對你,不會有太多排斥心里,慢慢的就會從當初的反對你變成支持你,這個只要拿出誠心誠意,開發人員還是相對單純,好溝通的,把心掏出來給對方看看就可以了。
2:從內心尊重別人,每個人都有每個人的優點,多看別人的優點,多學會尊重別人,這樣很多時候更容易溝通協調,更容易合作,更容易得到別人的支持,從內心發出善良的誠意,這樣別人也願意指點,願意協助,所以跟其他外包人員也需要有良好的溝通協調,把大家都看成自己的兄弟姐妹一樣,這樣辦事情就順利很多了。
3:需要說服客戶,不是1-2周就能見效,甚至是需要1-2個月或者更長的時間才能見效,需要得到客戶的長期的支持,是大家一起完善維護這個系統,而不是看我的笑話,大家一起把這個事情做好的心態,才能把系統改進得更好、更成熟、更好用,有時候支持甚至是需要3-4年或者更長久,畢竟我們有共同的目標,就是把這個基礎數據管理功能做得好用、穩定、強大。
4:需要能聽得進客戶的意見建議,在最短的時間里修正好錯誤,並給客戶一個滿意的答復。雖然這個說說簡單,但是真正做好很難,一直堅持更難。
5:在客戶不斷深入使用軟件后會發現很多問題,有需要改進的、有需要溝通理解確認的、有需要更新錯誤的等等很多細節,每次更新又會容易引起一些新的問題,編譯不通過,函數有變化等等,遇到各種不愉快時雙方需要壓一壓火氣,有時甚至需要冷靜一下,否則很容易擦搶走火、失去一個好朋友,因為遇到這類問題是很懊惱的事情,但是畢竟有問題需要解決,有明確的目標了,解決一個問題就是向勝利邁進了一步,雖然我們是希望一帆風順但是由於能力、水平、業務能力等等各方面的制約,總是難進行得與想象的那么順利。畢竟人家技術強大的公司您也請不起,人家也未必願意給你提供服務,例如你讓微軟、IBM等等技術頂尖公司的人來給你提供服務絕對會好很多,但是人家沒千萬級別的合作也未必肯派頂尖高手來服務了。
軟件架構成功的原因
軟件架構的成功實施相對都不容易,很容易失敗。
1:公司的領導層支持,首先公司的一把手支持這個工作100%,其次是開發部的主管是絕對90%支持這個事情,開發主力至少需要支持80%,沒有大家比較大力的支持很容易項目失敗,其實大家想明白了,都是開心的事情,對公司領導來說新產品可以至少提前2-3個月可以出來,甚至可以更短時間能開發出來,見到效果,降低了軟件項目開發的風險,當然我們也不鼓吹是整體費用降低了,至少是項目失敗的風險價低了。對部門經理來說也減少了一些頭痛的架構技術問題,對開發人員來說,需要開發的部分更少了,難題困難也有別人協助分擔了,而且還可以跟其他開發高手切磋一下,還可以參考一下別人的做法,可以適當自己也得到提高,也多了幾個同行的朋友,開拓了人脈。
客戶的選型也很關鍵,需要什么層次的架構,什么功能的產品,自己是否有駕馭的能力、修改的能力,對方是否可靠?
2:開發費用支付得及時,甚至剛簽訂好了合同,費用馬上就打過來了,搞得我們做開發的都不好意思不賣力,人家連測試,驗收都沒進行,甚至你連一行代碼都沒交付,人家把合同額度全款都打給你了,人家第你如此信任,你還不給人家做好,你能好意思嗎?所以對方一反饋問題錯誤,都給第一時間解決了,能不拖延的一天都不給拖延,這么多年遇到的難得的好客戶啊。
3:對方的開發人員性格脾氣超級好,一般不發火,也不推托,更不狡辯,也不抱怨,運氣好遇上了一個脾氣性格超級好的家伙,大家都知道軟件開發不是光動嘴就可以了,有時候需要很多頭痛的程序優化,bug調試,難免提供給客戶的程序有不少問題,但是發牢騷抱怨不是解決問題的方法,有一個問題就解決一個問題少一個問題,明確一個功能就是離成功近了一步,所以遇上了一個性格這么好的項目經理,也是合作成功的必然因素,甚至是不可缺少的關鍵因素之一。
4:杭州蘇州距離近,交通方便一路都高速暢通,想過去溝通一下2個小時就到了,網絡也暢通,遠程調試遠程協助都比較順利,這也是項目成功的必要因素之一,前后跑了3-4次現場提供面對面的交流,技術支持,本着溝通交流,互相提高的謙虛態度,得到了客戶開發人員的支持與理解,這也是項目成功的核心之一。
5:外包人員分工定位明確,由於這個項目經理性格比較好,在這幾年的工作期間有很好的人脈,開發類的、美工類的、架構類的都與相應的以前的同事好友協助,所以我這邊主要負責架構類的、流程審批類的問題就可以了,其他各種美工問題、業務開發問題不需要我接入了,我可以安心把自己負責的部分開發好。所以一個人的性格脾氣很重要,將來你的好友是否多,也看這個,有需要別人幫忙時,就看人脈有多少好,自己開發項目需要有10的能力來比喻,控制管理好異地甚至是多地的外包團隊,有效降低項目失敗的風險可能需要50-100的能力,而且是管控從來不認識的陌生人隊伍。
6:天時地利人和,合適的時候遇到了合適的人,客戶沒折騰太多,幾下就確認了軟件的功能、售價、服務期限、分工。這個不能天天指望能有正好需求對口的客戶,可遇不可求,平時注意了積累,也積極努力推廣了,總會遇到有需求的客戶,畢竟我們的國家很大,有各種各樣的需求,各種發展階段的客戶,各種規模的客戶,好的軟件就不用愁銷售不出去。
