1.1什么是团队?工具
团队是由不一样的人员组成的一个共同体,它合理利用每个成员的知识和技能协同工做,解决问题,达到共同的目标。测试
1.2团队有什么特色?ui
(1)团队有一致的集体目标,要集体一块儿完成这个目标。spa
(2)一团队的成员不必定要同时工做。设计
(3)团队成员有各自的分工,互相依赖合做,共同完成任务。orm
1.3团队模式有哪些?项目管理
- 一窝蜂模式(Chaos Team)
- 主治医生模式(Chief Programmer Team,Surgical Team)
- 明星模式(Super-star Model)
- 社区模式(Community Model)
- 业余剧团模式(Amateur Theater Team)
- 秘密团队(Skunk Work Team)
- 特工团队(SWAT)
- 交响乐团模式(Orchestra)
- 爵士乐模式(Jazz Band)
- 功能团队模式(Feature Team)
- 官僚模式(Bureaucratic Model)
软件团队有各类形式,适用于不一样的人员和需求。
1.4团队合做的不一样阶段开发
- 萌芽阶段(Forming):我的的角色和职责不清楚,容易忽略作事的规程,每一个人都想队友采纳本身的观点,重要的事情并不能真正获得解决,成员也都在琢磨问题有多大,怎么去完成它,开始各类各样的讨论。
- 磨合阶段(Storming):随着讨论的深刻,有些人会沉不住气,成员之间会出现意见分歧和冲突;成员之间会出现竞争,很多人都想成为某个领域的“拥有者”;有时即便你们有相同的论点,仍是有争论。在团队中解决争端的方法:投票、咨询、独裁、交换决定权以及追求最大和谐,达到全体共识 。
- 规范阶段(Norming): 成员们意识到光争吵是没用的,你们还要协同做战;团队公开第讨论流程和工做的方式,有能力的成员分担了一些领导职责,并获得你们的尊重;做为一个总体,团队要作什么、不作什么,都更加明确,团队定下更现实的目标和决心;经过聆听、讨论,成员之间更加了解,在工做中互相支持、尊重。
- 创造阶段(Performing):团队知道为什么而战,并将注意力集中到如何创造、实现目标上;高度自治,再也不须要领导的时时教诲与介入;角色和职责可以根据项目的要求天然地转换。
2.1软件开发流程的目的是什么?
提升软件开发、运营和维护的效率,以及提高用户满意度、软件的可靠性和可维护性。rem
2.2软件开发流程部署
- 写了再改模式(Code-and-Fix):看起来和一窝蜂团队模式很是像,可是这个流程也有好处,不须要太多其余准备或相关知识,你们上来就写代码,写不出来就改;要写一个有实际用户、解决实际需求的软件,这个方法就不行了。
- 瀑布模型(Waterfall Model):【分析->设计->实现->销售->维护】各步骤之间是分离的,回溯修改很困难甚至不可能,最终产品直到最后才出现;为解决瀑布模型的问题,你们在实践中提出了各类变形,生鱼片模型和大瀑布带着小瀑布。
- Rational Unified Process统一流程(RUP):业务建模(Business Modeling,工做流用精确的语言把用户的活动描述出来)-- 需求(Requirement,分析并确认软件系统得提供什么样的功能来知足客户的要求)-- 分析和设计(Analysis & Design,将需求转化成系统的设计)-- 实现(Implementation,工程师按照计划实现上一步产出的设计,并将开发出的组件,连同验证模块提交到系统中)-- 测试(Test,验证现阶段交付的全部组件的正确性、组件之间交互的正确性,以及检验全部的需求已被正确地实现)-- 部署(Deployment,生成最终版本并将软件分发给最终用户)-- 配置和变动管理(Configuration and Change Management,负责管理RUP各个阶段产生的各类工做结果,要记录修改人员、修改缘由、修改时间等属性)-- 项目管理(Project Management,平衡各类可能产生冲突的目标,管理风险、克服各类约束并成功地在各个阶段交付达到要求的产品)-- 环境(Environment,向软件开发组织提供软件开发环境,包括过程和工具)。RUP的四个阶段:初始阶段、细化阶段、构造阶段、交付阶段。
- 老板驱动的流程(Boss-Driven Process):开发流程由行政领导主导,或者由公司的老板驱动。
- 渐进交付的流程(Evolutionary Delivery),MVP和MBP:开发->发布->听取反馈->根据反馈作改进。