ms2软件开发和管理四周培训总结

转载 2006年06月09日 11:54:00
 Vision:  一个软件如果没有明确的Vision,就如同在旅途中失去了方向。而且此Vision要能被团队所有人接受,并能够激发大家的工作激情。所以在软件开发的开始阶段,确定Vision是件极其重要的事情。好的Vision会让团队所有人充满激情,并能够很容易的被外界所认可。我就经常拿着我们LLK的Link our lives这个Vision和We don't deliver game, we deliver pleasure and friendship这条Mission到处宣传,宣传之中充满自信和自豪:P。其实做任何事情也是这样需要明确Vision。人生更是如此,需要让自己过得充实过的激情的Vision。我们人生的Vision是什么?近期这几年的Vision又是什么?我们需要多多考虑这些问题。
       “要为自己的人生画饼“   -- 摘自维英某次演讲名言
 
       Scenario和Persona在软件开始开发之前,需要弄清楚这个软件的用户是谁,他们的需求是什么。找几个典型的Persona来体验几个典型的Scenario是非常重要的。这会让开发人员明白他们要做什么,软件究竟需要提供什么功能。我们的LLK最初的Scenario就没有从Sponsor的角度出发,绕了很大一个弯再回来。为人处事也是如此,如果能多站在别人的角色上想一想,我想事情做起来会很顺利。
 
       Feature List and Spec: 我想编程人员是很不愿意写着两个东西,总是Feature跟着程序变,spec很多时候也只是为了完成任务而已,包括我自己。一个成功的软件在开始coding之前,需要有详细的Feature List和Spec, 特别在一个团队中,而且它们需要在团队中一起讨论得到,每个人都要参与进来,每个人都应该清楚。如果没有这些文档,软件开发就会变得混乱。我们Team就没有详细的Spec,以至于很多时候在重复讨论一个问题,来回反复。
 
       Design and review: 软件的设计得好坏直接关系到软件的质量,代码的质量也是跟软件质量息息相关。如何做一个好的设计和编写高质量的代码呢,让团队一起来Review你的设计和代码,让别人尽可能多的Chanllenge你。团队每一个人的设计都需要让其他人知道,让问题尽可能在开发的早期全部暴露出来。Review也是学习的过程,年轻不怕犯错误。Review也会真正的让写程序变成一种态度。
 
        Test: 以前做的最多的Test就是写完后在程序里Debug几下走一遍流程。经过这课后发现原来有这么多种的Test。以前总是认为Unit Test没啥用,其实它是软件质量的一个很重要保证。最有趣的是usability test,也就是我们常说的用户体验。
 
        Commuication: 这个简直太重要了,血一样的教训。这也是为什么微软会设立PM这个职位。很佩服上上周四那位ATC的女PM,简简单单的评述一天生活就道出了PM所需要的素质。团队需要Commuication,不然就仅仅是几个人凑在一起而已。项目过程中出现的太多太多的问题都可以归功于Commuication上。
 
        Triage: 这个很有趣,一般是在很棘手的问题或者项目后期对一些Bug或者还没实现Feature的讨论。就是团队的人坐在一起讨论这些Bug是不是要Fix,哪些Feature一定还需要实现,哪些需要Cut掉。需要最后给出决定。
 
       Post Mortem: 中文翻译或许就叫经验总结大会。一般是在项目快结束的时候,团队所有人坐在一起讨论发自内心的讨论哪些地方做得好,哪些做得不好,为什么会这样。这个很重要也是很必要的,因为人生就需要经常总结和反思。我们Team前天两个小时的Post Mortem好的方面写了一张纸,需要improve的地方整整写了四张纸。慧城弟,等你的整理呢!昨天下午还意味无穷,接着和慧城弟两个人post mortem了一个下午,时常结合到了人生的高度:)
 
        Leader: 不是第一次做Leader了。小时候经常当班长,本科的时候当过数模协会会长,网站的技术总监。。。还有很多活动中的Leader(大多数情况下是没有人想当_-_)。但这一次是我做的最用心的一次了,不再是随随便便的没当回事,时常在想应该怎么做才能做好呢。感谢邹欣和Steven在这方面对我的指导,从你们身上我也学到Leader需要的一些素质。Leader需要把握项目的整体,驱动团队向前,把整个团队牢牢的团结在一起,而且很多时候要快速的对情况做出反应,快速的作出适当的决定。其实在这四周里,我们Team很多人都给我提了很多很好做Leader的建议。虚心并能快速的学习是我的一大财宝,我现在也越来越意识到自己的这一个优点。还好,对于结果来说,我这个Leader还是当的相当成功,因为我们的团队所有人给结果都打了80-90分。但过程并不是那么可控,没有严格的按照这套流程走下来,好多时候出现的危机是靠几个牛人加班加点的弥补。我想多多经历这样的过程,才会对软件开发和管理有更深的认识和理解。
 
       最后的总结:实践实践再实践,因为理论总是死的,只有在实践中思考,在实践中学习,在实践中总结才是最好的方法。软件是如此,人生也是如此。

嵌入式软件开发培训笔记——C高级 存储类、链接和内存管理

(1)概念:分配和释放内存的方式。 (2)管理方法: 1)静态内存管理方式     在程序中定义变量,在编译阶段为其分配内存空间,该内存空间的生命周期在程序运行过程中由系统帮助我们维护,不需要我们在代...

SAP公开课笔记:基于HANA的软件开发 - 第四周总结

第一章 通过OData暴露和消费数据的基础架构 这章的内容很简单。在开始真正开始开发之前,回顾了一下第一章所提到过的传统软件开发架构和使用XS架构的区别。值得记下来的是ICM是整个架构的一部分。 ...

《敏捷软件开发过程及最佳实践》培训总结

整理资料,发现很久以前的培训总结,分享之 fasiondog 敏捷不是“银弹” 当前“敏捷”是一个比较流行的词汇,当敏捷不是大家想象的银弹,对人员的培训及方法的掌握仍旧是不可替代的。敏捷开发来自欧...

Qt软件开发文档2---QT构建dll库,并使用dllmanager管理dll库

1.QT创建新项目 以treeViewDll为例 文件中含有treeviewdll_global.h 在treeview.cpp 中正常写入需要的内容 treeViewDll中声明在manag...

嵌入式软件开发培训笔记——Linux下SQLite3数据库编程

1、基本概念     数据库&数据库管理系统(DBMS)     关系型DBMS和SQL     通用型DBMS&嵌入式DBMS 2、SQLite     简介     命令行操作   ...

协同软件开发培训第一天 7-10

(7-10的博客放到了7-11来写,我真是疯了) 新手感想:        早上九点半准时到场,开个小会,看了时间表,我和我的小伙伴都惊呆了,上了大学以来似乎没有经历过太多这样忙碌...

嵌入式软件开发培训笔记——交叉工具链的安装arm-cortex_a8-linux-gnueabi-

1、如果要自己编译工具链,需要先下载源码 crosstools-ng下载地址为:http://ymorin.is-a-geek.org/download/crosstool-ng/ 另外,对每个版本都...

嵌入式软件开发培训笔记——ARM架构Linux系统下交叉编译环境搭建、NFS、TFTP服务配置及Nandflash的读写

bootloader原理和开发——>kernel构建——>文件系统/根文件系统(filesystem/rootfs)APP 一、配置交叉编译环境(可参考嵌入式Linux移植与驱动开...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ms2软件开发和管理四周培训总结
举报原因:
原因补充:

(最多只允许输入30个字)