什麼是技術?
技術是人類解決某些問題、實現預定目標的方法與手段的彙總體, 它拓展了人的生存能力, 使得人們的生活更加便利。 在軟體領域, 技術通常是指由代碼、開發實踐、專案管理等形成的計算實體, 這種計算實體能夠協助人們更有效率地解決實際的問題。
技術必定是針對具體問題和目標的。 必須先挖掘出明確、具體而一定廣泛性的需求, 提出有效、敏銳的問題, 然後才探索技術去解決它。
什麼才算是新技術? 它是對現存世界的敏銳觀察, 對人類所面臨的本質性難題的深入思考和挑戰, 突破傳統解決模式, 以全新的方式解決以往難以解決的、或者無法想象的問題。 它不是修修補補, 不是微創新, 它是新生的力量, 是想象力的釋放和大膽的嘗試和變革。
在我看來, 以下可以算作是新技術:
1. 單核 向 多核 轉變;
2. 單機 向 分布式 轉變;
3. 互連網 與 web;
4. 串列 向 並發 轉變;
5. 同步模式 向 非同步模式 轉變;
6. 有線 向 無線 轉變;
7. 計算裝置 向 攜帶型、智能化 轉變;
8. 智能電腦的研究與創造, 基於神經網路(非傳統計算模型)的計算裝置;
9. 人機互動探索與應用;
10. 機器學習, 智能推薦, 多媒體資訊識別, 自然語言理解 ;
11. 跨學科應用, 比如科技與藝術的結合催生更人性化的電腦產品;
12. 更快的演算法, 高效能運算;
13. 大資料資料處理;
14. 物聯網, 萬物聯入;
15. 雲端運算, 計算能力的按需彈性供給;
16. 2D 向 3D , 更多維空間的拓展;
17. 開放平台;
18. 計算技術在社會各領域的創新式應用和變革;
在這些新技術的理念引領下, 必然催生各種開發架構, 用於更容易地應用這些新技術, 建立新應用。
需求 - 目標 - 設計 - 資源 - 成本 - 進度 - 實現 - 反饋
需求: 所面臨的本質性難題在哪裡? 需要滿足什麼樣的需要? 提出什麼樣的問題?
目標: 對需求和問題的仔細斟酌和定位, 制訂哪些具體目標最有助於滿足需求?
設計: 選擇最合適的技術和架構來指導實際活動, 確保能夠充分完成預期目標, 同時對未來保持一定的靈活性和應對力;
資源: 合理的設計必定需要考慮的因素, 人力、軟硬體、 團隊溝通、工具環境等, 這些是完成目標的必要件;
成本: 必須比較準確地估算成本; 沒有成本估算的項目和設計是不靠譜的;
進度: 制訂基本合理的進度, 作為對項目進程的監督和參考;
實現: 注重細節和過程, 實現預期目標, 同時保證較高的項目代碼品質。
反饋: 反饋、總結、 汲取經驗教訓。