采访往届ASE课程学员李潇,他所在的团队blog戳这里http://www.cnblogs.com/smart-code/

Q1:师兄你觉得在团队项目中,有哪些需要注意的事情?

A1:团队合作吧。首先是分工,大家在提Proposal的时候都是异想天开,最终实践的时候想法要实际。这就要求组员们充分讨论自己的team work,实现的功能都要well define,定下各阶段的milestone,合理分配任务;然后要进行充分的沟通和协调,每天拿出10~12分钟大家碰个头开个小会,分享一下彼此的进展,有什么bug不能藏起来,有困难,找队友;最后你们可以选一个PM,每天协调分工,督促进展。我们当时每天都会写daily scrum,记录下进展,彼此鼓励~

Q2:那像现在很多同学自己组里也有很多事情要忙,又该怎么协调时间呢?

A2:首先任务分配要合理,自己也要有时间规划。每天开会就是碰个头,如果是个饭团的话直接就在吃饭的时候讨论掉了。特别感谢当时mentor对我们的支持,实际上Coding是很辛苦的部分,不花足够的时间也根本搞不定。

Q3:那你们最后搞定了吗?

A3:当然搞定了~(具体戳这里http://blog.sina.com.cn/s/blog_6e3160cb01015h29.html)软件开发的整个历程,从设定scenario, feature list, schema, 到daily scrum都 是我们队员一起讨论,共同解决的。有些同学本身不是CS出身的,这门课程让我们接触到了正规的软件开发流程,学习到了软件开发的系统思想。就算最后的成品低于预期,回想一下,那时候大家一起努力还真是非常充实呢!

Q4:作为这门课程的往届学员,给这门课程提点建议吧?

A4:这门课程其实很有挑战,老师只扮演一个引导和把关的角色,具体的问题要团队和个人来解决~大家一定要认真对待这门课程,作为一个团队共同努力,这样才能避免不必要的工作,提高效率。还是前面所说的那样,团队合作最重要!

----------------------------------------------------------------------------我是分析的分割线-------------------------------------------------------------------------------------------------------------------

我们Azure Wrapper的每位成员都认真浏览了smart code组和其他组的blog,进行了横向的比较和纵向的分析。除却具体的项目分析,在进行团队项目时,总结起来大致有这么几个要点:

团队合作很重要,BigPicture不能少;

勤总结来勤沟通,合理分工效率高;

性能测试补bug,阶段总结出新意;

进度须赶直须赶,莫待最后deadline;

下面就是每个同学对项目的具体分析了:

冯晓云

1.“Smart Code”小组做的是一个将搜索结果以树的形式展示出来的软件,当用户想要持续关注某一条新闻的发展时,只需要输入关键词,然后软件会生成一棵挂着搜索结果的树,以后会自动地从网上抓取结果,在树上长成新枝。用户不想关注某一条新闻,可以将其剪掉。这本身是一个非常有趣的idea,UI界面的互动性很强,也增强了整个开发过程的趣味,很能调动起大家的积极性。

2.每天都会写daily scrum,记录下大家的工作分配和完成情况,分析当前工作进展,分配新的工作任务面对的问题以及相应的解决方案,并贴出来Burndoan & Burnrate。他们组的daily scrum写的比较认真,善于总结,整个工作的进程推进也比较有条不紊,因此可见团队之间充分沟通,协作并进对于团队项目的重要性。

3.虽然是在初始阶段对团队项目进行了充分的讨论,依照个人能力进行了分工。实际完成时仍然面对着许多挑战和变化,这时候就要及时做出相应的调整。并且随着项目的深入,也会有一些新的想法出现,在保持大框架不变的情况下,对软件功能做出相应的调整和补充,不要被原来定下的东西框死。

林建平

1, 做得好的地方。

比较炫酷的桌面设计,多棵树的自适应生长,比较好地解决了数据同步问题。

2, 可以改进的地方。

(1)可以做出3D的自适应生长树。

(2)在工作安排上,我们一开始并不需要定死每个人负责的部分,有些开发能力比较强的同学可以同时负责多个部分,对于没什么开发经验的同学可以主要负责其中一块,这样的工作安排会比较有弹性,不会出现任务比较紧张但是只能依靠一个人开发其他人却什么也做不了的情况。

张葳

优点:该软件可以针对特定关键词,结合Bing相关接口,实时获取关注点的发展动态,使得持续获取信息更为便捷,免去重复搜索和回溯事件发展进程的麻烦。同时,原始信息的访问也十分便捷,这就特别适用于关注热点事件。若能结合用户反馈,对根据关注度对节点大小进行调整或增删节点则会使用户更为方便。

朱玉影

1.虽然知道在大的项目中时间规划是重要的,但是在其实这个良好的习惯应该从小项目开始养成,想想自己最近做的大数计算项目就是完全没有想过怎么安排时间,任务。并且虽然知道自己码代码速度不够高,但是完全没有估计过,但这对于我们预估要多长时间完成任务是有很大帮助的。看了前辈的博客发现他们在开始之前都会估计代码量是多大,需要多长时间来完成,进而合理安排时间

2.看到有的师兄在做整个项目时会有意识地计算每部分的时间花费,这样在项目结束时能够更好的反思自己的不足之处,得到大的提高。

3.我看了好几个小组的博客发现在项目后期普遍时间不够,原本想要实现的没能够实现或者有bug不能用,所以顺利完成一个项目我觉得核心就在于从前期到后期历时2个多页的详细时间规划与分工安排。并且这需要我们在一开始就知道我们的idea到底要怎么实现,实现那些功能,并且中途不能随意改变。

周以舟

1、任务分配时,要注意个任务间的耦合度不能过大,尽量保持不同任务间的关系不是串行二是并行,以免出现任务间互相等待的局面。

2、工作量分配要动态调整。每一个阶段通过一些统计数据来记录组每个成员的负载量,在下一阶段要据此调整工作量,使每个人都在合适的工作量下达到较高的效率。

3、刚入手时,具体细节不宜讨论过多,先做出整体框架,预留足够多的接口,在项目发展的过程中不断完善细节。

ASE past project:interview & analysis的更多相关文章

  1. Project Management Process

    Project Management ProcessDescription .............................................................. ...

  2. FlexPaper 2.3.6 远程命令执行漏洞 附Exp

    影响版本:小于FlexPaper 2.3.6的所有版本 FlexPaper (https://www.flowpaper.com) 是一个开源项目,遵循GPL协议,在互联网上非常流行.它为web客户端 ...

  3. Salience Model

    Who is a stakeholder? Simply anyone with a stake in the project either direct or indirect. PMBOK say ...

  4. Oracle EBS Model Function Technical

    ♡.Oracle EBS(ERP)Oracle 是公司名字,这个我估计大家都知道.EBS是E-Business Suite的缩写,简单的说,就是Oracle做的一个企业级的信息化软件或者系统,里面包含 ...

  5. Leetcode-Combinations Sum II

    Given a collection of candidate numbers (C) and a target number (T), find all unique combinations in ...

  6. cvpr2015papers

    @http://www-cs-faculty.stanford.edu/people/karpathy/cvpr2015papers/ CVPR 2015 papers (in nicer forma ...

  7. Analysis of Web.xml in Hello1 project

    一.web.xml文件介绍 The web.xml file contains several elements that are required for a Facelets applicatio ...

  8. 【interview——Ali】project interview_18 summer

    完全没有准备的一次面试……意外 两部分:Word2vec + 中位数 (还有聊对科研的想法和自己研究能力的评价? word2vec //解释模型 原本是one-hot,存在缺点:稀疏和无法表现语义,词 ...

  9. 微软BI 之SSAS 系列 - 在SQL Server 2012 中开发 Analysis Services Multidimensional Project

    SQL Server 2012 中提供了开发 SSAS 项目的两种模型,一种是新增加的 Tabular Model 表格模型,另一种就是原始的 Multidimensional Model 多维模型. ...

随机推荐

  1. 基础的linux命令(一)

    我练习使用的 Linux 系统是 CentOS 7 它是通过把 RHEL 系统重新编译并发布给用户免费使用的 Linux 系统. 首先你需要一台Linux虚拟机,如果没有,也没关系,点这里 一.命令格 ...

  2. 粒子群优化算法(PSO)之基于离散化的特征选择(FS)(三)

    作者:Geppetto 前面我们介绍了特征选择(Feature Selection,FS)与离散化数据的重要性,总览的介绍了PSO在FS中的重要性和一些常用的方法,介绍了FS与离散化的背景,介绍本文所 ...

  3. 生产-消费者,C++11实现

    C++11中新增加了线程库<thread>和原子操作库<atomic>,使用这两个库可以实现生产——消费者模型.上代码 //生产者生产函数 void product(std:: ...

  4. Make编译Ardupilot源码的两种方法

    编译环境准备 ​ Ardupilot源码下载和PX4 toolchain工具链下载 ​ (见https://www.cnblogs.com/BlogsOfLei/p/7707485.html) ​ 注 ...

  5. 通过pip控制台查看已安装第三方库版本及最新版本

    首先执行[pip --help]查看pip命令: 由Commands知:[pip list]命令查看已安装第三方库,另[pip list --outdated]可查看有新版本的第三方库.

  6. CVE-2020-7961 Liferay Portal 复现分析

    漏洞说明: Liferay是一个开源的Portal(认证)产品,提供对多个独立系统的内容集成,为企业信息.流程等的整合提供了一套完整的解决方案,和其他商业产品相比,Liferay有着很多优良的特性,而 ...

  7. [vijos1460&Metocode P223]拉力赛<LCA>

    题目链接:https://vijos.org/p/1460 http://oj.fjaxyz.com:3389/problem.php?id=223 我不禁开始怀疑,这,真的是最近公共祖先的题吗,我是 ...

  8. 使用golang理解mysql的两阶段提交

    使用golang理解mysql的两阶段提交 文章源于一个问题:如果我们现在有两个mysql实例,在我们要尽量简单地完成分布式事务,怎么处理? 场景重现 比如我们现在有两个数据库,mysql3306和m ...

  9. Day17---轻量级、高性能的服务器--Nginx

    Nginx基础 一.nginx的介绍 简介:Nginx是一个高性能的HTTP和反向代理服务器,也是一个IMPA/POP3/SMTR代理服务器. 二.编译安装nginx 1.首先要安装PRCE(PRCE ...

  10. Html,css构建一个对话框,练习201911281028

    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/stri ...