就像一位讲师所讲的那样,每个人去参加培训都是带着他自己的问题去的,因此我记录的笔记大多是针对目前我面临问题的。
微软进行设计的一个好的方法:假如一个十二人的小组,全部拉到外面,比如三位成员一组分为四组,每组针对问题进行设计再发表自己的看法;然后两两合并相近的设计,再进行讨论协调……直到最后大家同意通过。这样既可以发挥群体智慧,又充分调动了开发人员的积极性,由于是大家协调的结果,也比较容易实施。
微软的“三驾马车”——program manager、developer、tester。developer负责开发,tester负责测试,program manager只管事不管人,对developer和tester没有人事上的管理权,但是必须要推动整个项目流程。program manager分为两类,一类基本是由developer转换而来,常常负责设计,一类是process pm,类似传统意义上的项目经理,推动整个项目流程。program manager生成设计文档,developer根据文档做开发,tester根据文档做相应的测试,凡是和设计文档不一致的地方都当作是bug,在developer和tester之间出现的冲突和矛盾由program manager负责仲裁协调。微软流程设计的作用就是用法治来代替人治,微软把这种团队结构当成“三权分立”,项目经理是立法权,开发人员是执行权,测试人员是监督权,在开发流程的不同阶段不同的人起着主导作用。
在项目进度制定的评估上,先是项目经理进行总体评估,估计出大概的时间;然后由负责各个具体部分的开发人员估计各自每个功能需要的开发时间,并详细记录;各个开发组长、测试组长评估组员的开发时间,并进行协调汇总;项目经理评估从各个组长收集的时间和功能进度,并制定出进度表,设置里程碑。
微软开发团队的日常工作:开发人员上班第一件事是查看昨天Daily Build的结果,担心由于自己代码的check in而造成build broken。如果造成了build broken,则当天最紧急的任务就是修改代码,使之能通过build,因为每天的工作都是建立在昨天的build版本上的。如果没有出错,则开发人员接着打开bug管理工具,查看指定给自己的bug,解决高优先度的bug或新功能,在本机上build和单元测试,如果可以则请开发组同事做code review,再check in 代码,在bug管理工具中修改bug状态。开发人员以一封daily report结束一天的工作,包括修改了哪些bug或添加了哪些新功能,哪些问题没有解决等等。测试人员上班第一件事情是打开bug管理工具,看看指定给自己的bug,验证已解决的bug。接着测试人员从发布服务器上去的当天的build版本,根据测试用例检查当天的build,并在bug管理工具中登记新发现的bug,等待开发人员解决。下班前测试人员会发送当天或者一周的bug报告和测试用例报告。项目经理的工作是主持bug专家会诊,更新项目计划、日程表、产品规格书、风险控制列表,发送status report等等。
根据微软开发团队的日常工作,目前我们做的不足的地方有:daily build、unit test、code review以及daily report。在code review上,微软有三种方式,一种是peer to peer,互看代码;一种是group review,比如一个团队每个礼拜三下午抽出两个小时,一起通过幻灯片等方式浏览,另一种是从其他团队或请第三方公司来做code review。本来公司是有daily report的,不仅下班后需要提交一天的工作报告,原本我还规定上班后半个小时内需要提交一份当天的工作计划(模板固定),可惜是没有能够坚持下去,不少开发人员认为这是浪费时间,如果对于计划性很强的开发人员来说,这项工作的确是浪费时间,但是对于大部分计划性不强的开发人员,先把当天的计划写下来,便于提醒他当天需要完成哪些任务,不至于A事还没做完,又去做做B事,导致每样事情都完成一点点,却没有一样能够拿出手来。一位讲师一句话说的非常好,他说其实微软也没什么,无非在一些细节和执行上做的非常好,我对这个观点很赞同。其实上面的很多观点我们都知道,但是细节上的处理和能否坚持下去就成了我们和微软的区别。
PMO是project manager office(program manager office?),它的三类职责是识别和培养项目经理、为项目经理提供支持、管理项目经理。这对于国内大部分中小企业来说还是一个奢侈的机构。这个机构的出现主要是为了针对这类情况:一个公司里面同时进行了好多项目,某些项目经理有出色的技能,能够让项目顺利进行,但是某些项目经理还缺乏一定的技能,不能保证项目的顺利完成,因此就需要一个这样的机构来为项目经理进行支持和管理,也能从公司内部发掘出适合做项目经理的人才。要注意的是PMO是为了增加价值而不是增加负担,enough is enough,不要仅仅是为了一种形式而去做某样事情。
怎样才算一个好的项目经理?项目经理需要具体一系列的技能和应有的态度,技能是可以学的,但是态度很难教会。在优秀项目经理所具有的特征中,促进发展的能力是一个很重要的能力,而我在这一点上还有欠缺。每位经理都可以让事情开始,但是在碰到各种各样的困难后,如何还能推动项目往前进,去克服困难,这个我还需要提高。
微软在人员管理上是pay for performance,not pay for effect,这一点上我们公司的做法也是一致的。一些开发人员进公司后为了完成任务经常加班,看上去很努力很辛苦,可是事实上这是他应该做的,因为分配的任务如果给同级别其他人做肯定是工作时间内能解决的事情,由于自己能力方面的问题造成一些加班和辛苦,公司是没有什么补贴的,要不会提倡了一种上班时间拖沓,把要做的事情留到下班后去做,奖励努力而不重结果的文化。
微软有一种卓有成效的“师傅”制度。因为直接请教上级会让员工觉得不自在,担心什么地方做的不好会造成上级的坏印象,所以新员工进入公司后会分配一位师傅,新员工有任何问题都可以请教。员工进入公司工作一段时间后可以自愿申请成为“师傅”。师傅制度一来让员工快速上手和熟悉工作环境,二来可以培养“师傅”的领导和影响他人的能力,给工作增加心得挑战和活力,使之感觉受到重视,与众不同,有成就感。
唐骏先生在最后讲座上讲到了目前中国IT企业成功需要的一些条件:1.机会 2.成功的商业模式 3.关系。另外好几位讲师都提到了中国IT企业成功所需要的一条,就是制订标准。
最后简单分享一下唐骏先生讲的几个有意思的案例,由于实际上的案例比较长,这里只是简单写出来,希望大家也能领会这些举动背后的含义。
1.微软公司的以人为本。微软中国研究中心办公楼的电梯有问题,六部电梯中只要有一部准备降到底楼,其他的就不会回落到底楼,结果早上上班高峰时大家都在楼下等电梯。微软中国和物业协商无用,最后派几位打扫卫生的阿姨每天早上上班的时候呆在电梯里当电梯小姐,只要电梯上去了就将电梯按回到1层,已缓解高峰状态电梯紧张。
2.中秋基本所有公司都会给员工发月饼,但是微软中国与众不同的是只需要员工提供一个地址,公司会把月饼快递过去,这样员工就可以寄月饼回给父母等等。更不同的是,唐骏先生在月饼包装里夹了一张贺卡,其中汇报了今年微软中国取得的成就,感谢他(她)为微软中国培养了这么一位优秀的员工。
3.微软中国规定每若干时间要选一次优秀员工,每个部门只有几个指标能能选自己部门的人,其他都需要选其他部门员工,这样子最后优秀员工肯定是那些做人好,会帮助其他人的员工。然后微软中国规定所有的晋升者都必须是优秀员工,因为一个优秀的管理者必然要会做人,要善于帮助别人,这样由于晋升者必须是优秀员工,一方面可以帮助实现自己的利益,一方面就在公司内部倡导了一种互相帮助的企业文化,使各部门相互合作。
相关推荐
【微软认证:高级项目管理MSF】是一种专业的项目管理认证,旨在提升个人在信息技术领域内的项目管理和领导能力。MSF,全称为Microsoft Solutions Framework,是微软公司推出的一种结构化的方法论,它为软件开发和IT...
描述中提到的“杨中科.Net培训实况教学视频学习笔记”是指由讲师杨中科主讲的一系列.Net框架的培训课程。.Net是微软公司开发的一个全面的开发平台,用于构建各种类型的应用程序,包括Web、移动、桌面和云应用。...
作者:周家安,微软最有价值专家(MVP)。pdf书籍270M,分为两个压缩包,注意两个包下载完后一起解压缩。本书全面系统地论述了C# 6.0的开发环境、语法基础、程序结构、编程技巧及编程案例。全书共包括21章,分别介绍了...
3. **开发工具Visual Studio**: 作为.NET开发的主要IDE,Visual Studio提供了强大的代码编辑、调试、版本控制和项目管理功能。学习者会了解到解决方案管理器,它用于组织项目和文件,以及错误列表,帮助开发者快速...
7. 教师专业发展:除了基础的工具和服务,微软还提供了一系列培训资源,帮助教师熟悉和掌握这些新技术,提升其在数字化教育环境下的教学能力。 8. 整合与定制:微软教育云平台能够与学校现有的IT系统无缝集成,并可...
10. **OneNote 2010**:作为笔记工具,OneNote可以帮助整理和共享信息,包括数据整理技巧和项目管理,提高团队协作效率。 通过这个内部培训,用户不仅能掌握Office 2010的基本操作,还能深入理解数据管理的最佳实践...
作者:周家安,微软最有价值专家(MVP)。pdf书籍270M,分为两个压缩包,注意两个包下载完后一起解压缩。本书全面系统地论述了C# 6.0的开发环境、语法基础、程序结构、编程技巧及编程案例。全书共包括21章,分别介绍了...
.NET框架是微软开发的一个用于构建各种类型应用程序的平台,C#是其主要的编程语言。学生管理系统是常见的管理信息系统项目,它涉及数据库操作、用户界面设计、业务逻辑处理等。通过这个项目,开发者可以学习到C#的...
- **Microsoft SQL Server**:这是一种由微软开发的关系型数据库管理系统,用于存储和管理数据。在《学生管理系统》项目中,可能会使用到该数据库来存储学生信息等数据。 #### 四、参考资料 - **软件工程书籍与...
这个压缩包文件“个人外部培训申请表.zip”包含了“个人外部培训申请表.doc”,这很可能是微软Word格式的文档,用于详细记录员工的培训需求和计划。 以下是一些关于个人外部培训申请表和其在IT管理中的重要性的详细...
Visual Studio提供了丰富的功能,如代码编辑、调试、版本控制、项目管理等。在.Net框架下,有多种编程语言可以选择,如C#、VB.Net和F#。此外,IronPython等语言也可通过.Net Framework提供的类库和API进行编程。 ...
【亚嵌就业班笔记和面试题】是一份针对嵌入式系统学习者和求职者的宝贵资源,主要由在亚洲嵌入式学院(亚嵌)培训的学员所整理。这份资料包含了一位学员在就业班期间的学习笔记以及面试过程中遇到的问题和解答,旨在...
Office Online是微软提供的一个在线版本的办公套件,它包括了Word、Excel、PowerPoint、OneNote等常用应用,让用户可以在网页浏览器上直接编辑和共享文档。本培训课程旨在帮助用户掌握Office Online的基础操作和高级...
该报告由赛迪为微软制作,详述了教育信息化的组织架构、职能、投资情况以及存在的问题。以下是报告中的关键知识点: 1. **教育信息化组织架构**:教育信息化在中国的领导机构包括信息化领导小组、各级司局和专门...
OneNote是一款由微软公司开发的电子笔记本软件,它是Office办公软件套装的一部分,主要为用户提供了一个可以随时随地记录笔记的平台。OneNote的强大之处在于其灵活性和多样的功能,可以用于工作、家庭、学习等不同的...
6. **Azure云服务**:了解微软的云平台,学习如何部署和管理.NET应用程序在云端。 7. **单元测试与持续集成**:学习使用NUnit、MSTest等工具进行测试驱动开发,以及如何配置CI/CD流程。 8. **设计模式与最佳实践**...
这个系统通常包括员工信息管理、考勤记录、薪资计算、福利管理、招聘与培训等功能。基于ASP构建的人事管理系统,能够通过网络实现远程访问,提高信息共享和工作效率。 【源代码分析】 源代码是理解系统运作机制的...
5. **Notion**:集笔记、知识库、项目管理于一身,多功能且灵活。 6. **Google Workspace**(原G Suite):包括Gmail、Drive、Calendar等,适合依赖云服务的企业。 在选择前,建议试用这些软件的免费版或试用期,...
- **项目管理**:利用任务列表和看板,可以高效管理项目进度,确保团队协同工作。 - **门户构建**:企业可以创建统一的入口,整合各种信息源,提供个性化的工作体验。 - **合规性与安全性**:具备严格的权限控制...