项目 | 内容 |
---|---|
班级博客链接 | 20级卓越班 |
本次作业要求链接 | 实验一 软件工程准备 |
我的课程学习目标 | 1. 深入使用博客园进行学习 2.了解Github的基本操作 3.拓展关于软件工程的知识 |
本次作业在哪些方面帮我实现学习目标 | 1.学会了使用markdown编辑器的基本操作 2.通过提问题来翻阅课外书籍增加知识储备 |
任务一至五完成情况说明
任务1:提交课程调查问卷
已经如实填写了本次调查问卷
任务2:在博客园平台注册个人博客账号和加入班级博客
由于之前就已经使用博客园,故只需要点击链接加入班级即可
任务3:注册Github账号
1.首先完成了Github账号的注册
2.尝试建立了第一个仓库,并按照手册进行了简单的仓库增删改操作
3.阅读了git的操作使用说明,与小学期所使用的操作相似,能够基本掌握
任务4:点击以下链接填写博客园、github账号信息
按照要求如实填写了博客园,github账号信息
任务5:构建之法与博客首秀
1.问题一敏捷过程
敏捷流程概述:
找出完成产品需要做的事情→决定当前的冲刺(Sprint)需要解决的事情→冲刺(冲刺期间每天开每日例会)→得到软件的一个增量版本并发布
敏捷开发原则:
-
尽早并持续地交付有价值的软件以满足顾客需求
-
敏捷流程欢迎需求的变化,并利用这些变化来提高用户的竞争优势
-
经常发布可用的软件,发布间隔可以从几周到几个月,能短则短
-
业务人员和开发人员在项目开发过程中应该每天共同工作
-
以有进取心的人为项目核心,充分支持信任他们
-
无论团队内外,面对面的交流始终是最有效的沟通方式
-
可用的软件是衡量项目进展的主要指标
-
敏捷流程应能保持可持续的发展。领导、团队和用户应该能按照目前的步调持续合作下去
-
只有不断关注技术和设计,才能越来越敏捷
-
保持简明——尽可能简化工作量的技艺
-
只有能自我管理的团队才能创造优秀的架构、需求和设计
-
时时总结如何提高团队效率并付诸行动
2.问题二为什么MSF团队模型是网状,而不是层次结构
微软公司中关于软件开发的思想和宣言有一个方法论——微软解决方案框架(Microsoft Solution Framework,MSF),也就是微软推荐的软件开发方法
MSF基本原则
-
推动信息共享与沟通(Foster open communications)
-
为共同的远景而工作(Work toward a shared vision)
-
充分授权和信任(Empower team members)
这一点的关键是“授权”这个词,授权(Empower)有两个意思:
给某人权力和权威
给予某人更多自信和自尊在一个高效的团队中,所有的成员都应该能得到充分的授权,他们有权在职权范围内按照自己的承诺完成任务,同时,他们也充分信任其他同事能实现各自的承诺。类似地,团队的顾客(包括内部和外部的顾客)也认为团队能兑现承诺,并进行相应的规划
充分授权的管理方式是MSF的核心观念之一。MSF团队模型就是建立在以下两个原则上的:
平等协作—成员之间、团队之间是平等协作的关系
充分授权给团队和成员
这就是为什么MSF团队模型是网状,而不是层次结构。这样做有什么好处?好处有两点:
被授权的人会承担起自己对项目的责任,同时也期望同事们也同样对项目负责
MSF提倡自下而上的计划,每个人有充分的权力估计并决定自己的任务需要多长时间,而不是上级交给的时间,这意味着让真正做这件事的人按照自己的估计去完成任务。这样做的结果是啥?是人人都会支持项目的计划和时间表,因为这个时间表是每个人自下而上订出来的
充分授权在MSF团队模型的另一个含义是:信任,鼓励团队成员成长,每人都可以在某一时段。
-
各司其职,对项目共同负责(Establish clear accountability and shared responsibility)
-
交付增量的价值(Deliver incremental value)
-
保持敏捷,预期和适应变化(Stay agile, expect and adapt change)
-
投资质量(Invest in quality)
-
学习所有的经验(Learn from all experiences)
-
与顾客合作(Partner with internal and external customers)
3.问题三竞争性需求分析的框架——NABCD模型
- N(Need,需求)
你的创意解决了用户的什么需求?这个需求可以是明确的、公开的(例如:希望能上网玩三国杀)也可能是说不清道不明的,例如——以前没人说:嗯,如果我能找到这样一个网站,我可以去偷菜,就好了……我们要充分了解用户的痛苦,他们对已有软件、服务不满意的地方。
- A(Approach,做法)
好,你找到了需求,下一步怎么办,得看看你有什么招数,特别是独特的招数,来解决用户的痛苦。你不能说我会C++,所以我一定可以写好这个软件。你得有独特的办法,例如,有人脸识别技术,会做超大规模的数据处理。那你(你的团队)会什么呢?只会冒泡排序?这些招数不光是技术上的,也可以是商业模式上的(例如,我们第一个做众包的服务)、地域的(例如,我们对本市的公交线路很熟)、人脉的(例如,我们认识很多大学生)、行业的(例如,我们有地图测绘行业的资质),或者是成本上的(例如,我们能找到更便宜的资源来维护网站)。
- B(Benefit,好处)
这时候你已经有了独特的做法,那你这个产品/服务会给客户/用户带来什么好处呢?如果用户已经有一个解决方案(例如用户已经在用QQ聊天),那你的新的聊天软件具体有哪些好处,能让用户离开现有产品,使用你的产品呢?这还有一个用户迁移成本的问题——用户要花费多少精力、时间、金钱才能得到你的产品的好处?如果你要求用户必须有8GB内存、最好的显卡、10Mbps以上的宽带连接,才能使用你的“更好的”视频聊天工具,那么会有多少用户愿意支付这个成本呢?
- C(Competitors,竞争)
竞争对手也没有闲着,这个市场有多大,目前有多少竞争者在瓜分,你了解么?你的产品如果不是最先进入某个市场的,你还能赢么?先进入市场的产品,有所谓的先发优势(FirstMover Advantage,FMA),当然也有劣势。后面进入市场的产品,有种种不利的因素,但是也有后发优势(Second Mover Advantage,SMA)。
- D(Delivery,推广)
在实际项目中经历多次的NABC之后,许多人意识到这个框架还应该加一个元素D:Delivery。怎样把你的创新产品交到用户的手中?例一,你想到了一个好主意,建一个比hao123更好的导航页面!我们姑且认为NABC都没问题,那如何把这么好、这么简单的产品交到(Deliver)用户手中呢?例二,你想到了一个手机的应用,NABC都不错,那如何把产品交到千万个用户手中呢?
标签:郭思彤,博客园,用户,软件工程,敏捷,MSF,团队,202031603143 From: https://www.cnblogs.com/u3152089/p/17279651.html