项目 | 内容 |
---|---|
这个作业属于哪个课程 | 2023年北航敏捷软件工程社区-CSDN社区云 |
这个作业的要求在哪里 | 个人作业-提问回顾与个人总结-CSDN社区 |
我在这个课程的目标是 | 了解并实践软件开发流程 |
这个作业在哪个具体方面帮助我实现目标 | 软工实践总结 |
问题一:结对编程是否高效?(不认同的观点)
在结对编程的模式下,一对程序员面对同一个显示器,使用同一个键盘一起编码。
结对编程中有两个角色,:
1.驾驶员:控制键盘输入
2.领航员:起到领航、提醒的作用
结对编程效率偏低,相较而言采用复审的方式更加高效。
问题二:如何适度的泛化
有的程序本来是解决一个特定环境下的具体问题,有的程序员一想,我们能不能做一个平台处理所有类似的问题。这样的前景的确美妙,但是要了解必要性、难度和时机。
一定要以需求为导向,如果明确了之后迭代开发的方向,那就要做好相应的泛化。如何采用敏捷的方式,那就着重于功能的实现。
问题三:如何判断功能的优先级
要把用户从竞争对手那里吸引过来,团队自己的产品要用一个差异性的焦点,在这个焦点上,我们的团队能做的比别人好10倍,高一个数量级。这种功能又叫做杀手功能。
仍然是无法解决的问题。客观收集用户需求本身就十分困难,加上用户体验又会受到各种因素影响,使得实际量化评估是十分困难的。只好采取敏捷开发的方式在迭代中不断改进。
问题四:如何平衡敏捷开发与计划驱动
实际上是效率与灵活取舍的问题,如何平衡主要看需求是否稳定。
问题五:如何进行绩效管理
软件团队如何做人员的绩效管理?这个问题较难回答,因为所有人的工作被集成在一个软件产品中,互相依赖,产品功能收到用户赞扬或批评,都不能简单地完全对应于某一个人的工作。
仍然无法回答,实际贡献和花费的实践,甚至工作量都无明显关系,只好用bug率等不易钻空子的指标近似评估。
阶段 | 知识点 |
---|---|
需求 | 问卷设计不能有引导性 |
设计 | 明确进出口指标 |
实现 | 明确代码风格规范 |
测试 | 明确测试目的,选择合适测试种类 |
发布 | 学习配置管理和持续集成/持续交付(CI/CD)流程 |
维护 | 学习日志分析和调试技巧 |
我在软工项目中主要负责前端开发与联络,着实收获了许多心得。设计一定要明确具体,有明确的进出口指标,这样才能高效的把大家离散的开发整合到一起。此外沟通时一定要收到反馈,确保消息传达到了。