zoukankan      html  css  js  c++  java
  • 路在,人在,心在 (软工实践总结)

    一、 回望来路

    曾经的期待和目标

    大三的目标就是,在JAVA的基础上,研究透Android Studio 的开发


    * 目标已经完成,只是对于它的深入,还需进一步努力! * 曾经摸不懂Java的包和类,也不明白Android Studio的Project与Android的区别,抱着一本书练习着一个个小Demo,到现在在Java上,写一些基于Java的Json文件的处理和分解,解决实际问题,可以说是一种从书本到实战的体验,感觉对于期待和目标来说,已经超额完成。当然,这也算是一个入门,只能说摆脱了C++一门语言走天下的窘境,也算是掌握了如何去在短时间,学会一门语言的能力。
    * 超额的内容,绝不仅仅是Java和Android Studio这么简单,这门课,让我“无可奈何”的学习了很多的东西从一般的编辑软件Atom到VS code写markdown,以及接触了Unity3D和C#,莫名感觉可以学的东西还有很多。
    * 但是如果把软工实践单独当做学习开发工具,熟练编程语言课的话,现在看来,显然狭隘了很多,四个月下来,编程语言,开发工具都只是这门课的配菜,真正的主菜则是跟随一个团队一起进步,一起成长。因此,很欣慰作为软工团队的PM,了解了一系列的软件设计开发流程,真正能让一个程序员从幕后走到了台前,当然了,新鲜事物总带着神秘感引人向往,但是做到这个位置才知道其中的不易。这里面有太多可以学习的东西,也有太多可以汲取的教训。总之就是不要抱怨你现在的艰难,其实在困境中走出的每一步,都是成长。

    总结和提升

    1.代码总量

    • 大概:4K+

    2.时间:

    作业次数 花费时间
    建立博客阐述心声 3个小时左右
    数独输出与游戏 总共跨越4天,后期修改的部分也跨越了一两天
    结对原型设计 第一个版本大概用了4个小时左右,第二个版本3个小时
    结对随机匹配 从10.1-10.6,一个人边在宿舍打代码,边过节
    团队展示 3个小时左右,p图和博客排版
    选题报告 4个小时左右
    团队采访 2个小时采访,1个小时博客
    需求规格说明书 10个小时,通宵卡在Markdown导出PDF的绝望
    系统设计 4个小时左右
    UML设计 4个小时
    团队小测同学录 8:20-21:40 体验了一把极限编程
    华为云评测 3个小时
    Alpha版本冲刺 12次的冲刺,即使参与但是由于部门工作,很遗憾没有全心投入
    Beta版本冲刺 5天冲刺,这次的参与,才叫团队的力量

    3. 最深刻的作业

    • 1> 数独

      • 的确是一种兴趣,那种作出一个小游戏的感觉,真的是最大的动力,其实开始真的没有想什么1000000数据的输出问题,完全就是奔着附加题做的,因为那是自己的兴趣,而之后做1000000输出的时候,又再次学到了很多的知识,其实累点苦点无所谓,重在在这之后学到的内容,收获的东西,这才是最重要的东西。
    • 2> 部门学生匹配
      - 10.1-10.8,从不想学Json,写了一个手动生成Json的C++程序,一个个比对,到Json.cn验证,确保没有问题。到读取无奈必须学习Json,从C++查到Java,最后决定用自己只懂皮毛的Java,找包,导入,学习方法,到之后算法的修改,一遍遍的迭代。10.1假期不再寂寞。

    • 3> 团队同学录

      • 极限编程,有之前的基础,加上团队的合作,功能模块明确,分配开工,协调配合,让我第一次感觉到团队的力量,很强,很大!及其充实的一天
    • 4> Beta版本冲刺

      • 由于个人的部门原因,Alpha版本的确进展没有达到预期,分配任务也不是太明确,在Beta版本汲取教训,同时更改团队的管理模式,再次感受到团队的力量。

    4. 累计花的时间,和每周的时间

    • 依稀记着第一次作业时候说的话,软工需要的时间,都是我的空闲时间。的确,就像计划里写的一样,虽然只是在Alpha版本有所拖延,但是其他的时间,可以保证软工第一,学习第二,所以累计花的时间,可以说是:吃饭的时候想着,学习的时候念着,睡觉的时候梦着,打游戏的时候担心着!

    • 每周的话,除了冲刺的每一个晚上,除了10.1国庆的每一天里,还有数不清的夜里,写着个人的博客,结对的博客,团队的博客,还记着数独博客,是在早上8点要飞福州的凌晨2点半迭代完的。记着被Markdown导出PDF无奈,那个Atom的插件bug我后来感觉知道,也不怪Atom和VS Code识别问题,应该是马克飞象太兼容我的bug了,其实很多比如#后面应该打的空格都没有打,emmmmm,所以还是自己才疏学浅吧。该付出的成本,该付出应该付的!明白了就好。

    5. 学习和使用新的软件

    1> MockPlus原型设计工具

    2> Android Studio

    3> exe4j

    4> Atom

    5> VS Code

    6> Eclipse

    7> Unity3D

    6. 新语言、新平台、工具和方法

    1> Java

    2> Android

    3> 稍微接触了C’#’

    4> 接触了一些Html

    5> Json语句

    6> 一些数据的处理方法

    7. 其他方面的内容

    • 学习到了一整个软件的开发流程,从最开始的需求规格说明书,到之后的UML设计,开发接口,以及管理一个团队的方式,如何才可以更有效率的团队开发。

    二、实践总结

    • 个人的学习,CSDN,博客园,还有各种大大小小的学习网站,这些资源足够在现阶段自学很多东西,学东西不应仅仅停留在DEMO,或者是书本的一段段代码,虽然这些代码打完了可以有一种成就感,也就是学会这门语言或者工具的感觉。但是真正会运用,最好还是去做一个完整的项目。这样的过程,包括遇到问题,解决问题的能力才会让以后少走弯路吧。

    • 熬夜不一定是好事,因为可能效率并不高,有时候选择自己有效率的时候做事情,也是一种能力吧。记住,凌晨四点的福大,不是熬到的,而是给自己的计划,让自己精力充沛,从4点开始的。熬夜到凌晨,睡到中午的生活,之后浑浑噩噩一定是一件值得称道的事情吗?我觉得未必吧。

    • 作为一个PM,要把握每一个模块的内容,做的越细化,越好操作,方向才能够明确,所谓的细化,不仅仅是每一次会议,主要还是在UML图上下功夫,以及需求规格说明书的内容上写的越细越好。

    • 掌握每一个模块的进度,让团队运行在并行的轨道上,这就要求衔接好每一步。

    • 学习东西,不能避重就轻,该做的迟早要做,会了都是提升,就像Json的学习一样,费劲的写一个生成,却
      终究逃不过的读取,而学会了这个,对团队的同学录制作,也是一个大大的帮助。

    • 做程序,也要懂得放松和生活,太大的压力会让自己也难以应付,所以嘛,还是那句话,要调配好自己的生活和学习。

    三、给下一届萌新的建议

    • 其实吧,开始的时候看着学长学姐们的建议,嘻嘻哈哈,段子频出,好不快活的感觉。但是经历过,才知道其中的苦中作乐,就像我第一次作业写得一样,最苦的日子,也是自己记忆最深刻的时候,让自己不断成长的时候,敢尝试,愿付出,不逃避,按时交付,你敢挑战自己,这门课就会给你充足的空间展示自己。
    • 对于我而言,我不想说这门课坑或者不坑的话,因为一切的写作手法都不如告诉你要做什么来得实在:
      • 1.首先,你要失去一大部分打游戏的时间。不知道下届,吃鸡还会不会这么热门吧,反正忙的时候一个赛季一般也就跳20几次。
      • 2.其次,你要学会如何去学,因为软工实践,虽然目的是要做一个团队敏捷开发的流程,但是必要的工具学习是必须的,所以呢,如何去学习,怎么要求自己按计划学习,要求自律。
      • 3.再次,学会和团队同学相处,和老师和助教沟通。身处团队,交流相处是必须的,几个臭皮匠顶过一个诸葛亮嘛~,一个蒸蒸日上的团队,力量比想象大得多。而星型的团队,没有经历过,也不好去评价。总之,一个优秀的团队给我的感觉就是,每个人都有自己的一席之地,各司其职的模式,也会让每一个成员都有存在感。
      • 4.最后,讲一下团队换人吧
        • 其实,就像栋哥说的,没有尝试过,不知道对错,就应该去尝试。的确,我同意这个道理,也敬佩这里面的勇气。就我们的团队来说吧,的确从中获益,因为换人,给我们带来了一种新的管理模式,以及新的团队热情和动力。
        • 但是,在我看来,客观的说,对于一个由认识的同学组成的团队来说,的确有点残忍吧。因为从感性这个层面来讲,这里面不只是一个工作相关的关系,更像是短时间,大家积累下的感情,大家一起努力的过程。如果,离开的是一个大牛,对于他自身可能没有什么影响,但是对于团队的工作,是否能够继续下去,是否团队的每一个人都认同他的离开,后续的开发主心骨会不会有变动。因为这不是工作,不是人人擅长的跳转而已。如果离开的是一个后进者,可能对他的团队影响并不大,那么他会怎么面对这个结局呢?也许他希望自己提高,然而不得不去选择离开。还是那句话,因为这里不是公司,不是人人的能力对等,交换的只是位置而已的状况。
        • 而理性来说,适应现状,是一个团队,一个人必须拥有的能力,从这个方面来看,锻炼能力也是必要的,我们需要这种能力。所以,综上考虑两个方面,我对此给出的建议是,对于想离开的队员应该打开一道门,让他们跳槽或者说是交换,因为他们希望主动锻炼自己的能力,而不是被迫退队打击自己的积极性。而对于本身发展良好的团队,应该听从团队自身的一个想法吧。让他们吸纳,或者交换一部分人员。因为这个短时间组织好的团队,肯定有他的闪光点,做一个交流保持继续的动力,也很重要。
      • 哦对了,少说了一点,那就是有女票^未选软工实践的同志,考虑一下,自己的时间……嗯,剩下的,你懂得~

    四、自己团队所处的阶段

    • 就像构建之法所讲的领导力,一个团队的磨合期到规范期,再到创造阶段,我觉得我们就在经历这个阶段,从开始,大家一些人之间不熟悉,到后来慢慢熟络,有的时候也会有一些争执,也会有一些问题,在一些使用的问题上也存在一些分歧,不断磨合之后。在beta版本的冲刺中就可以体会到,每个人各司其职,作为PM也不需要过多的亲力亲为,规定好的内容,按时交付,而作为PM,我需要做的内容就是决定一些大的框架和方向,然后安排每天的工作。组织会议,并且给每一个人信任,每个组都有自己的做事方式,配合模式,而我只需要顺应每一个模式,然后组织组间的沟通,这种状态,就是一个真团队的样子,信任和效率挂钩,积极的处事态度,会让事情的处理更加便捷。而不断的成功,会让团队的自信得到增长,然后达到良性循环的状态。

    五、 学会了软工

    • 1.我们的应用发布在三个公共平台

    • 2.团队合作Issue以及每日的燃尽图,规划每日的工作。

    • 3.GitHub代码,接口文档,以及项目策划,代码规范有注释。确保项目是可以维护和继续发展的,因为对于游戏而言,可以加入很多的元素,所以注重后期的迭代是我们要做的事情。一份没有注释的代码,或者命名不规范的代码,的确是让费解的。也不易于接手继续开发。而接口文档就更像是两个层面交互必须的东西,没有这个东西一切的迭代开发,都要重新去写实现,加大了很多的迭代开发难度。

    六、写在最后,杂谈

    • 8月24日第一次作业,到2017年的最后几天,完成了最后一次个人软工作业,也许软工实践也即将带着他的高压和苦涩离开我。此时,让我回想到了2016的那次C++,同样高压,同样痛苦,但是比起那次,这次的我,应该说是按时按质的交付了每一次的作业。欣慰自己在这一年之后的高压下,可以有这样的表现。
    • 欣慰的同时,还有一次别样的惊喜,那就是那件黄杉,既算是意外,也算是肯定吧,让我能够积累下一份自信。更加自信得面对未知的困境,未来也会遇到各种各样的困难,自信得坚持,相信自己可以做到。
    • 也许开始的我,担心上台答辩,担心作分析,对管理只有一个模糊的概念,慢慢地去适应上台的感觉,适应被提问的感觉,从担心,也慢慢变得从容,不再去惧怕的同时,自信和乐观也让自己更加相信自己的团队,相信和支持每一个成员。PM对我的意义,整体来看,真的很大。
    • 人总会错过一些东西,或者一些东西无法尽善尽美,有些是能力所限,有些是天命难为,但是能够在这些客观因素下,把自己能做的做到让自己满意,问心无愧,我认为已经足够,所谓尽人事,听天命吧!而错过终究不能再弥补,能做的就是汲取教训,以一个乐观的态度,把握今天的时间,做好明天的计划吧。
    • 最后,当然是感谢栋哥,感谢刘乾学长,和emmmmmmm,考拉?小吴?(尬了)学长,还有为这门课付出努力的各位老师,长辈们。谢谢你们!
  • 相关阅读:
    关于同余最短路
    【水】关于 __attribute__
    题解【AtCoder
    一些简单图论问题
    浅谈简单动态规划
    关于博客园主题(美化博客园)
    Algebra, Topology, Differential Calculus, and Optimization Theory For Computer Science and Machine Learning 第47章 读书笔记(待更新)
    Algebra, Topology, Differential Calculus, and Optimization Theory For Computer Science and Machine Learning 第46章 读书笔记(待更新)
    Algebra, Topology, Differential Calculus, and Optimization Theory For Computer Science and Machine Learning 第45章 读书笔记(待更新)
    Algebra, Topology, Differential Calculus, and Optimization Theory For Computer Science and Machine Learning 第44章 读书笔记(待更新)
  • 原文地址:https://www.cnblogs.com/kobe961231/p/8123905.html
Copyright © 2011-2022 走看看