采访往届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. xmake v2.3.2 发布, 带来和ninja一样快的构建速度

    这个版本重点重构优化了下内部并行构建机制,实现多个target间源文件的并行编译,以及并行link的支持,同时优化了xmake的一些内部损耗,修复影响编译速度的一些bug. 通过测试对比,目前的整体构 ...

  2. 使用docker构建双主mysql

    我们有的时候需要双主mysql, 这样无论哪个数据库出现了问题的话都可以继续使用数据库.把两个数据库挂到一个代理上面,这样哪个服务出问题了,另外一个就可以继续服务了.当然本文不是主要谈代理的,所以这个 ...

  3. linux-manjaro下添加Yahei Hybrid Consola字体

    1.下载地址 http://www.win10zhijia.net/soft/20160921/3217.html 2.解压 unzip xxx 3.安装 sudo mkdir /usr/share/ ...

  4. OpenCV-Python 直方图-3:二维直方图 | 二十八

    目标 在本章中,我们将学习查找和绘制2D直方图.这将在以后的章节中有所帮助. 介绍 在第一篇文章中,我们计算并绘制了一维直方图. 之所以称为一维,是因为我们仅考虑一个特征,即像素的灰度强度值. 但是在 ...

  5. mongodb的更新语句

    MongoDB 使用 update() 和 save() 方法来更新集合中的文档: update()方法: update() 方法用于更新已存在的文档.语法格式如下: db.collection.up ...

  6. [noip模拟]小猫爬山<迭代深搜>

    [题目描述]: Freda和rainbow饲养了N只小猫,这天,小猫们要去爬山.经历了千辛万苦,小猫们终于爬上了山顶,但是疲倦的它们再也不想徒步走下山了(呜咕>_<). Freda和rai ...

  7. Python常用模块之configparser

    ConfigParser简介 ConfigParser 是用来读取配置文件的包.配置文件的格式如下:中括号“[ ]”内包含的为section.section 下面为类似于key-value 的配置内容 ...

  8. C++STL(二)——vector容器

    STL--vector容器 vector对象的概念 vector基本操作 vector对象的初始化.赋值 vector查找.替换(已在上一片 string类 博客总结过了,不再总结) vector添加 ...

  9. vscode 保存自动 格式化eslint 代码

    在网上找了很多种方法,大多都没有成功  一下是一种成功的 配置方法: 1) First, you need to install the ESLint extension in the VS code ...

  10. Redis 笔记(三)—— LIST 常用命令

    常用命令 命令 用例和描述 RPUSH RPUSH key value [value ...] —— 将一个或多个值推入列表的右端 LPUSH LPUSH key value [value ...] ...