【軟工做業&思考】關於軟工的一些概念性理解暨第一次閱讀做業html
其實呢,之前自己我這塊不存在特別多的直接疑惑,畢竟之前本人有過至關的項目實踐經驗,對有些事情仍是相對了解的。設計模式
既然如此,那在這裏筆者就簡單說下以前的問題在本學期中所面臨的一些真實情況。安全
這塊的話,咱們團隊總體作的還算能夠。分工相對明確,你們都有必定的熱情和積極性。並無出現寡頭壟斷的狀況,因此天然也不存在後續的崩盤之類的。多線程
這部分的話,咱們團隊內各自對這個項目,以及這個項目中本身的得與失,還算是基本拎得清的。總而言之總體上合做愉快。架構
筆者以前的話,其實在多個技術團隊作過事情,基本上沒啥問題。app
可是,以前的團隊無論怎麼說,協做者都是有着至關完善的工做經驗的。而在軟工課程中所面對的這個團隊確實一羣完徹底全的學生。因而在不少地方就存在了思想上的衝突:工具
這樣的矛盾其實很顯然,雖然我某種意義上大概能理解爲啥不少人會有這樣的學生思惟(實際上很早之前的我也差很少,只不過經歷的比較早而已),可是不少時候爲了更長遠的利益,卻又不能妥協。然而講道理卻又不是何時都能行得通的,畢竟視野深度和廣度存在明顯的代差。單元測試
因而在這樣的狀況下,如何和具備代差的人相處並作好事,就是一個亟待思考的問題了。學習
正如筆者在前面的博客中所寫:測試
世上只有利益上相互依存的關係,纔多是穩定的關係。
同時,基於上面一點的論述,不難發現技術段位差距較大的人,已經容易存在眼界和視角上的代差。那麼在現實的組織架構中,一個高層管理所能看到和察覺到的問題,可就和下層的人相比起來差異大了去了。
因此,在這樣情報嚴重不對等,甚至不少時候連深層的信賴關係都難以達成的狀況下,能依賴的惟一紐帶就是共同的利益關係。或者也能夠說,正是由於不少的下層人員與上層所共同考慮的問題也基本只有利益(996事件中,大部分基層程序猿的發聲,基本邏輯都是如此),因此利益也是最靠得住的一種紐帶。
那麼問題來了,在這樣嚴重不對等且沒有信賴關係的狀況下,利益共同體該如何達成?是否有一些通常性的思路。
先說說我的目前的一些粗淺認識,思路有兩種:
綜上,實際上在上下級這一層的關係維繫上,是存在這樣一個很尷尬的僵局的。因此,這塊應該仍是須要一系列更成熟的思路和解決方案。還望不吝賜教。
一樣的,實際上在合做方之間,也會存在這樣的一層問題。
簡單來講,人家也有人家的利益。人家不可能由於你胡吹出來的那點所謂的「情懷」、「信仰」,就來和你談合做,由於人家也是人,也得吃飯,也和你同樣沒有太多的時間作無心義的事。
和上面一條基本相似,此處再也不作詳細描述。
首先,需求層面,須要從兩個角度來分析:
在需求層面基本明確的狀況下,那麼設計也就該提上日程了。
設計也分爲幾個層面:
實現這塊,則須要在總體架構設計相對明確的狀況下進行。
此外,在實現的過程當中,最好伴隨着主幹功能的實現,一併將單元測試也進行實現。
除此以外,還須要在開發實現的過程當中,注意後續的可維護性(實際上我的感受開發與維護這塊自己就是一體的)。
本學期對我而言,實際上只至關於把之前作過得事情再次弄了一遍。惟一一點比較重要的差別,在於此次的團隊配置和之前大不同(前文有說到)。因此能總結的內容其實頗有限。
不過實際上,筆者也在思考這個課程的一些得與失。同時,筆者也在這個學期當OO的助教,對有些問題也算是有那麼一些略微的認識,在這個部分我就着重說下這方面的問題吧。
首先,這個課程是一個只有一學期的課程。並且一學期時間,涵蓋了三個階段,包含了那麼多個環節。
老實說,以我以前作創業項目的實際體驗來看,除特殊狀況外,通常不會有周期如此之短的事情。
並且這樣的短週期還會帶來另外一個問題,那就是不少要素的重要性的體驗嚴重不足。例如:
實際上,在OO課程哪邊,也同樣存在相似的問題。OO和軟工的一個共同特色,那就是有些內容是很概念化抽象化的,與其說是技術技能倒不如說更像是概念機能。在短週期內想作到這件事,並不容易,甚至必定程度上,軟工比OO面臨的形勢只會更加嚴峻。
在這樣的環境下,如何把握好整個週期,如何把有些該體現的內容充分體現出來,讓學生在學習過程當中把這些內容落到實處而不是流於形式,則是須要課程組好好考慮的問題。
如題,不少的指導仍是偏向了理論,和實際操做的結合有必定的錯位。這就致使一些組或者我的,到了必定階段會開始陷入很大的迷茫,並且尚未辦法經過理論課的講解來進行補足。
其實,這件事說來並不能全怪這門課程。學生在學習這門課程以前,實際上一些前置知識仍是比較匱乏的。好比一些考慮問題的基本方式,以及一些架構佈置方面的基本功(這塊2016級及以上會表現的比較明顯,由於OO這塊的總體學習質量不夠好;相比之下2017級,也就是明年開始,由於今年OO大規模課改,同窗們的這塊能力會有明顯的好轉)。因而實際上,咱們的指導須要分爲幾個階段:
personal development
to team-working
programming
to coding
, and then to developing
and producting
doing homework
to exploring
and creating
其實OO也有相似的一些過程:
今年所採用的模式,是兩部分交織着進行。在第二單元多線程結束後基本完成起步階段的教學,可是正軌部分實際上第一單元就開始了。保證學生作到不至於養分不良,也不至於養分過剩,飯一口一口吃,事情一點一點作。到了起步階段徹底結束的時候,一多半的同窗已經具有了完整的架構思惟,剩下的就是不斷優化追求卓越了。
因此建議課程組也在這個問題上多下一些功夫,要切實瞭解起來學生的真實狀況。
如題,實際上助教在同窗這邊的存在感實在是很低(相比於機組和OO課程而言),一整個學期除了通知消息以外基本見不到助教出沒,甚至通知消息也都是高階助教一我的在不斷的通知。
助教,實際上是個很微妙的職業。說微妙,其實緣由以下:
助教的這一特色其實很微妙,老師、學生,都總體上缺少某一方的資源,而助教卻徹底有這種可能打破資源時空分佈不均的困局(甚至部分比較厲害的助教本身一我的就能完整的掌握兩頭的情報)。
因而,我的認爲,助教的一個職責就是——充當起師生情報傳遞的橋樑。
若是追求更深層次的話,那就是——基於雙邊的情報,優化雙邊資源配置,一達到一個全局更優的解。
因此,其實建議助教們看到這句話也能好好思考一下。我相信助教們也都應該是有志於改進整個課程的人,那就好好思考思考我說的這些,想一想看本身到底該作點什麼,而不是隻是一味充當苦力,或者乾脆只是一個傳話筒子(並且搞很差仍是單向的)。