感受OMG!团队的软件开发经历----by Yishi

2023-10-25 00:40

本文主要是介绍感受OMG!团队的软件开发经历----by Yishi,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

课程的第一个任务是阅读师兄师姐们从前的项目经历,并从中吸取经验。我选择的是OMG!团队,不仅是因为对Dongliang和Haifeng师兄的熟悉,更是由于他们充满激情的队名吸引了我。

 

在他们的博客中,对于当时project内容的brainstorm非常有参考价值,尤其是对我这种没有项目经验的人来说弥足珍贵。他们的ideas有个非常大的侧重点,就是着眼于手机应用。在这个安卓,苹果,wp争相抢占市场的时代,我觉得他们的眼光是非常准确的。从以聊天社交为主要内容的微社区应和“呆呆Mobile”到Academic Search电子书架,都很好的把握了手机这种小型终端的特性。而且我对他们的“高校申请指南”这个项目方案非常有兴趣,第一是这个方案很有“市场前景”:现在大学生们申请出国留学的人数越来越多,大家也更倾向于DIY申请流程而非单纯依靠中介。网上庞杂的信息可能让人手足无措,如果此时有这样一个智能的申请指导将会有很大的助益。他们还对这个项目进行了NABC分析,即(Need, Approach, Benefit, Competition)。我想他们最后之所以放弃了这个方案,大概是Approach方面觉得不好实现,确实在申请时什么重要什么不重要、什么是有效信息就算对于专业的申请中介也不是很清楚,要让机器来完成这样一种学习就更难了。

 

他们最后的选题是conference helper(会议助手)。相比高校申请指南要简单不少,因为省去了从网上筛选信息并分类这样一个复杂的学习过程。当然这个题目也有其难度所在,第一是软件平台在大家都不熟悉的wp上运行,有一定的编程技术难度;第二,对于手机应用,UI设计非常重要,毕竟用户体验对于移动App是第一位的。而我本人对于这个项目其实并不怎么觉得感冒,原因在于当前大多数智能手机的calendar都能与outlook或者google calendar同步,时间安排可以非常方便的同步进手机中,没有必要为academic conference专门搞一个应用;第二会议的内容流程在会议主页上会列出得相当清楚,我也觉得没有必要再以应用的形式呈现;第三学术圈毕竟不大,如此的用户群定位使得受众天生很少。

 

在Beta版本时OMG!团队有过自己的反思。他们首先回首了自己对于user scenarios的把握,他们也发现如果这样一款软件仅仅是把会议内容和流程展现出来是没有办法吸引用户的(即使是好奇心很强的学术人士),很后悔没有加入社交功能。PM同学又分析了任务分配的结果,发现按照代码能力合理的分配任务层级是一个很好的做法,但是在层次化以后没有进一步的量化各个人的具体任务,如果当初有这样做的话就能达到更高的效率。看完他们的blog以后我觉得daily scrum是一个很好的方式,用列表的形式把每天每个人该做的事情清清楚楚的列了出来,这样团队中的每个人都知道大家干到什么程度了,心里也就有了底。下面是从他们博客盗的图,可以作为我们team以后daily scrum的参考:

 

总的来说,看完他们的blog我觉得对于ASE课的team work更有了期待,如果能做出影响更多人的应用就更好啦~

这是OMG!队的blog地址:http://www.cnblogs.com/OMG-Team 。

 

下面是我对Haifeng师兄的一段问答:

Q1:  为什么当时要把你们组的队名取为OMG?

A1: OMG 最普通的意思就是 oh,my god, 只是个名字而已,听上去很炫很牛逼的样子,也期望着我们的产品做的会很好~

Q2: Brainstorm你们team project的时候是从什么方向出发去想idea的?是从用户的need还是队伍成员的interest?

A2: 我们想了很多Idea,你可以从我们的博客中看出,以前都是用户需求出发,当然每个人都会想出idea,个人想出的都是印象深刻有意思的,然后大家最后vote,只可惜我们的方案没有得到其他人的支持,被邹老大安排了一个。

Q3: 最后为什么把项目选择为conference helper? 我觉得开始想到的idea之一“高校申请指南”很有价值,如果能够实现的话能给许多以申请国外高校的同学们省下大量时间和精力,为什么放弃了呢?

A3: 之所以选了conference helper是最后邹老大的意思,我们队的idea没有得到其他人的认可。那个高校申请指南是我想的,我也感觉很有价值,也是我力推的,邹老大也很赞成这个想法,只是其他队员认为我想的不切合实际,而且难度较大,自己编程能力也不怎么强,所以也没多大底气,只好quit了这个idea,其实我很看好那个想法,而且如果做好之后不仅服务同学而且里面有很大的商业价值。

Q4: 每天进行的scrum会不会让人觉得非常exhausted?这种例会对于快速开发的好处大么?

A4: 每天的daily scrum还好,毕竟scrum时间较少,而且都是汇报自己的工作,好处还是挺大的,毕竟每天都会监督你push你完成你的工作,大家一起干活其实很少觉得累

Q5: 你们对alpha版本进行review的时候提到任务粒度不够细,时间消耗估计不足,我想问对于我们这种不熟悉软件开发的人来说要怎样快速的学会把这两点做好?

A5: 任务粒度不细最主要原因是对开发不了解,其实慢慢就好了,我们最主要是遇到技术问题可能会耽误我们的进度,所以很多未知的因素,如何做好,最好PM能够从实战中快速积累经验,针对每个人的能力分配合适的工作。

Q6: 最后一个问题,软件工程课对于你现在的工作帮助有多大?

A6: 帮助应该说是有的,毕竟了解流程,锻炼编程,回想起来确实很充实,一起奋斗,一起吃饭,一起交流,那种日子是我在MSRA最充实的日子之一。

以上内容多谢Haifeng师兄的热心回答~

转载于:https://www.cnblogs.com/bigbadwolf/archive/2012/08/10/2631803.html

这篇关于感受OMG!团队的软件开发经历----by Yishi的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/278850

相关文章

CRtmpServer转推流到Nginx Rtmp及SRS(SimpleRtmpServer)的经历

转自:http://blog.csdn.net/fengyily/article/details/42557841 本人一直用的是CRtmpServer服务,在CRtmpServer服务中根据自已的想法也加入了许多功能,如通过http接口来加载配置等,苦于不支持HLS,自已添加ts分片水平又有限,思来想去决定借助SimpleRtmpServer的HLS功能。说干就干,马上查找相关资源

Science Robotics 首尔国立大学研究团队推出BBEX外骨骼,实现多维力量支持!

重复性举起物体可能会对脊柱和背部肌肉造成损伤,由此引发的腰椎损伤是工业环境等工作场所中一个普遍且令人关注的问题。为了减轻这类伤害,有研究人员已经研发出在举起任务中为工人提供辅助的背部支撑装置。然而,现有的这类装置通常无法在非对称性的举重过程中提供多维度的力量支持。此外,针对整个人体脊柱的设备安全性验证也一直是一个缺失的环节。 据探索前沿科技边界,传递前沿科技成果的X-robot投稿,来自首尔国立

腾讯社招面试经历

前提:本人2011年毕业于一个普通本科,工作不到2年。   15号晚上7点多,正在炒菜做饭,腾讯忽然打电话来问我对他们的Linux C++的职位是否感兴趣,我表达了我感兴趣之后,就开始了一段简短的电话面试,电话面试主要内容:C++和TCP socket通信的一些基础知识。之后就问我一道算法题:10亿个整数,随机生成,可重复,求最大的前1万个。当时我一下子就蒙了,没反应过来,何况我还正在烧

【软件工程】软件开发模型

三、瀑布模型  四、几种软件开发模型的主要特点 题目 判断题 选择题 小结

docker基于minio部署outline团队知识库

outline 介绍 Outline 是一个开源的Wiki 知识库和团队协作文档管理工具,美观、实时协作、功能丰富且兼容 Markdown,设计用于帮助团队和组织有效地创建、共享和管理文档。 Outline 具有简单易用的界面和强大的功能,可以替代传统的文档管理系统,如 Google Docs 或 Confluence。Outline 提供了一种结构化的方式来组织信息,使团队成员可以快速访问和

2024数学建模国赛选题建议+团队助攻资料(已更新完毕)

目录 一、题目特点和选题建议 二、模型选择 1、评价模型 2、预测模型 3、分类模型 4、优化模型 5、统计分析模型 三、white学长团队助攻资料 1、助攻代码 2、成品论文PDF版 3、成品论文word版 9月5日晚18:00就要公布题目了,根据历年竞赛题目,可以分析A/B/C/D/E题目大概的类型,提前了解题目特点,在选题上就不会浪费过多时间。下面总结了一下5个题目各

PMP–一、二、三模–分类–14.敏捷–技巧–帮助团队交付价值的执行实践迭代和增量如何帮助交付工作产品

文章目录 技巧一模14.敏捷--实践--帮助团队交付价值的执行实践--持续集成--在不同层面测试、验收测试驱动开发 (ATDD) 、测试驱动开发和行为驱动开发、刺探 。90、 [单选] 敏捷项目的第一次迭代即将开始。发起人召集团队、Scrum主管、产品负责人和其他项目干系人参加启动会议。发起人强调需要在项目尽可能早的时候以最小的成本识别和应对项目风险。与会者实现发起人要求的最佳方式是什么?

集成电路学习:什么是SDK软件开发工具包

SDK:软件开发工具包         SDK,即Software Development Kit(软件开发工具包),是一套由软件提供商或其他组织提供的开发工具集合。这些工具旨在帮助开发者更快速、更便捷地创建、测试和部署软件应用程序。以下是对SDK的详细解释: 一、SDK的定义与组成         定义:SDK是一套包含编程工具、代码示例、技术说明文档、调试和测试工具等内容的软件包,有

从知识视角理解软件开发

软件构造中的核心知识:业务知识与架构知识 在软件构造过程中,最关键的两类知识是业务知识和架构知识。业务知识回答“什么是正确的软件”,而架构知识解决“如何正确地构造软件”。从这两个方面深入理解软件构造,可以帮助我们在设计和开发过程中做出更明智的决策。 1. 业务知识:定义正确的软件 业务知识是关于如何解决现实问题的知识,包括业务的目标、规则、限制、和已有的解决方案。它定义了“正确的软件”是什么

一个人就能干一个团队剪辑工作?云微客就是这么神奇

你知道拍摄、剪辑一条视频需要花费多长时间吗?半个小时?还是一个小时呢?如果我想一天发布上百条视频,你觉得可能吗?很显然,仅凭个人是很难办到的,那么就需要借助工具,而云微客AI批量剪辑系统正好可以解决这个难题。 在当下这个短视频风靡的时代,不管是企业还是个人创作者们都需要借助各种工具和系统来提升创作内容的生产效率和传播效果。而云微客AI批量剪辑系统凭借着批量剪辑的功能,为创作者带来了很大的