全端開發之“兩端開發策略”

曹化宇發表於2015-12-23

理論探索,歡迎交流!

全端開發者,也稱為“全棧開發者”,是指能夠獨立完成軟體所有工作的開發者,大家在討論時可能更多的是在說Web開發者;不過,我們認為,任何型別的軟體專案都會有全端開發者,這並不是什麼遙不可及的事情!

為什麼要提全端開發呢?因為本文的主題就是從專案的整體來討論相關的軟體方法,我們稱之為“兩端開發策略”,此為何物,下面道來。

首先,我們看一看軟體開發的一般流程,如下面的示意圖。 enter image description here

當然,實際的開發工作中還包括更多的細節,這裡就不一一討論了。在這裡,我們主要關注流程中的方向及相關的節點。在這一流程中,雖然每一步都有開發者的參與,但兩端的“獲取需求”和“交付”環節,使用者都起著決定性的作用,即從使用者提出要求到確認專案交付。

實際上,開發者與使用者就是整個軟體專案過程中的關鍵,因為任何技術或軟體產品,最終都是人們製造的產品,也同時是人們生活和工作中的工具。那麼,我們是不是可以換個角度來思考軟體的開發工作。

我們可以將自己看作比開發者更高的角色,也就是作為能夠掌握軟體專案全域性的全端開發者,而實際的開發者和使用者(需求)就是“兩端開發策略”概念中的“兩端”;這是從“人”的角度上看待軟體專案,而他們的交匯點就是對於軟體專案的“認知與理解”。

另一方面,我們也知道,軟體是要有很多技術來支撐的,所以,從技術的角度上講,“兩端”就是指“開發技術”和“軟體功能”,而它們的交匯點就是“開發方法”。

下面就是關於“兩端開發策略”概念的示意圖。 enter image description here

實際上,我們可以看到,“兩端開發策略”的本質就是從“人”的角度來思考軟體的開發問題,而這其中的兩個主角就是“開發者”與“使用者”,但我們知道,人和人是有很大區別的,而重要的是,不同的人對於相同的事物,理解上可能會有著天壤之別,所以,人在軟體專案中的影響,以及所帶來的不可預知性永遠都是不容忽視的。

整個軟體專案的開發過程中,開發者和使用者就是主角,而他們之間的交匯點就是決定軟體專案成功的關鍵所在,也就是說,對於軟體的認識和理解,以及正確的開發方法才是軟體專案成功的關鍵所在。

開發者。飈程式碼、拖控制元件、加加班、不停地學習新技術、……,這也許是很多開發者的真實寫照;不過,作為開發者,我們完全可以做的更多,比如,真正地理解使用者對於軟體的需求、合理地使用技術與方法、高效地開發軟體,最終,開發者和使用者都會從中受益。

使用者。有時候,他們會對軟體功能,甚至是開發技術誇誇其談,而事實是,他們並不是軟體開發者(如果他們是,不如自己開發得了,對吧?!)。那麼,問題來了,開發者應該如何應對使用者的要求呢?如何從中提煉出真正的需求呢?作為開發者,需要的不是個性化的使用者要求,而是真正懂得實際工作的使用者,他們是能夠完整地、正確地描述實際工作流程、方法和結果的人,而這一過程所得到的成果,也就是真正的軟體需求,應該是使用者能夠使用軟體提高工作效率的那部分內容(軟體型別不同,目標也會有所差異)。

交匯點。實際上,交匯點上的內容是軟體專案成功的關鍵所在,但是,人,也就是開發者和使用者的影響依然是決定性的。其中,開發者是最終做出決定的人,只不過,對於使用者的影響,開發者必須做出抉擇。但是,開發者不是神,他們依然會受自己的技術水平範圍、性格、認知,以及對事物的理解等眾多方面的影響;所以,開發者的決定一定是正確嗎?如果你的軟體讓使用者感到滿意,甚至是有些驚喜,那麼,答案就是肯定的!要達到這一目標,有太多的工作要做,不是嗎?!

好了,先討論到這裡,這是我對軟體開發過程的一些理解,歡迎大家進一步交流,共同進步。

當然,不是每一個開發者都會進行全端開發,那也是不實際的,但是,能夠從整體上把握專案,並在每個開發環節都能夠向正確的、統一的目標前進,那麼,相信軟體的整體質量也會有著強有力的保證!

最後,祝大家聖誕快樂!天天快樂!^^

相關文章