事后分析做客观性的总结
一、设想和目标
1.我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述?
答:我们所设计的软件是一个网络爬虫程序,其主要功能为:为“网上问答系统”提供网络资源的获取和筛选功能,通过爬虫程序,该问答系统可以从爬取到的文件中获取到自身所需的各类资源、同时过滤掉无用的广告信息等;我们的爬虫程序有明确的定位——满足后继小组的需求,因此我们对自己的定位比较清楚,对用户和使用场景也有较好的认识。
2.是否有充足的时间来做计划?
答:我们的程序是在沿用上一届学长学的代码的基础上进行优化和更改的,但由于各种原因,使得我们并没有在计划时间内获取到代码,导致了后期工作的延误。不过在团队成员的共同努力下,还是准时地发布了Alpha版本。
3.团队在计划阶段是如何解决同事们对于计划的不同意见的?
bmob云
答:由于计划阶段是项目开发的前期,因此我们十分注重彼此的交流,在每次的Daily Scrum上,大多数队员都积极地表达自己的想法,同时和认真地听取了别人的意见,并由PM进行从中协调,这样一来,既能在最终使大家的意见基本达成一致,又能增进彼此的感情,有利于项目的进展。
用户量, 用户对重要功能的接受程度和我们事先的预想一致么? 我们离目标更近了么?
答:我们的用户目前基本定位为ILOVESE编程小队,所以与预想的一致。而据我们了解,他们对我们的程序还是比较满意的。如果进一步的对项目进行开拓的计划,我们则将进行更深层次的程序设计和功能完善。
有什么经验教训? 如果历史重来一遍, 我们会做什么改进?
答:这次团队编程任务中,最大的问题在于代码获取耗取的时间较长,因为多次联系学长都失败了。虽然这并不是一个很重要的问题,但确实对我们的开发进度造成了一定的影响。在以后的开发过程中,我们将进一步发挥大家的能力,让我们团队能在更短的时间内获取自己所需要的资源。如果历史重来一遍,我们会更尽力地联系学长,并考虑从其它途径获取我们需要的资源。
switch怎么写流程图
二、计划
1.你原计划的工作是否最后都做完了? 如果有没做完的,为什么?
答:原计划的工作并没有完全做完,因为原始代码的获取时间过长导致后期工作的延误,同时团队成员刚开始由自己实现爬虫程序,需要时间学习和适应,也耗费了一些时间。未完成的工作我们将在下一个版本继续进行开发。
2.有没有发现你做了一些事后看来没必要或没多大价值的事?
答:目前还没有,我们的工作进行还是比较顺利。比较明显的感触就是:在与客户交流时,我们并不能完全只考虑顾客的需求,而应该同时考虑顾客需求的实现的可能性和必要性,同时实时地向客户反应。
3.是否每一项任务都有清楚定义和衡量的交付件?
答:是的。我们的团队的Daily Scrum都有相应人员进行记录并发布博客。我们的程序的功能测试、使用说明、发布说明也一一按时地公布到博客上了。
4.是否项目的整个过程都按照计划进行?
答:不是的。正如前面所说,原始代码的获取这一部分的计划出现了问题。不过现在这个问题也已经解决。而且这个问题并不具有持续性,所以并不影响我们下一个版本的开发和发布。
5.在计划中有没有留下缓冲区,缓冲区有作用么?
答:有。主要功能为:用于计划之外的任务安排。例如客户需求出现更改,我们需要进一步协商,则可能需要有缓冲区来提供时间方便;在项目开发过程中出现重大问题,需要大家一起讨论,则增加一次或者多次的集体会议等。
6.将来的计划会做什么修改?(例如:缓冲区的定义,加班)
答:将来的计划:进一步加强对需求分析的计划,这样可以减少因为需求变动而改变开发计划所耗去的时间;横向地进行计划拓展,即在相同的时间长度内,丰富工作内容,增加计划项目,提高效率,这样更可以锻炼开发成员的能力,也可以有更多余力进行项目测试等内容。
我们学到了什么? 如果历史重来一遍, 我们会做什么改进?
答:我们真切地感受到了“计划赶不上变化”的事实,每一天的任务虽然都在进行,但团队中每个人都有自己除了软件开发之外的活动和任务,所以我们并不能死死地按照计划去进行。如果重来一遍,我们会考虑横向拓展计划,提高计划的执行效率,这样既可以节约时间,又可以提高大家的能力。
三、资源
1.我们有足够的资源来完成各项任务么?
答:有的。我们从学长那里获得了原始代码,这是我们最重要的开发资源。其次,老师多次对我们的项目提供帮助,解决了我们许多难题。这都使得我们更好地完成了我们的任务。另外的,我们也可以通过网络手段等获取所需的资源,解决相应的问题。总体来说,程序开发过程中还是很顺利的。
2.各项任务所需的时间和其他资源是如何估计的,精度如何?
答:各项任务所需时间的估计是通过询问已经开发过此类项目的前辈加上对自己能力的考虑等多个方面综合之后进行的。简单的说,就是我们既从客观上了解了爬虫开发所需的时间和资源要求等,再从主观上根据自己平时编程所需消耗时间来判断,综合之后,得出了相应结果。
3.测试的时间,人力和软件/硬件资源是否足够? 对于那些不需要编程的资源 (美工设计/文案)是否低估难度?
答:测试时所需要的时间和人力资源都是足够的。爬虫程序对硬件的要求比较低,我们在比较理想的测试条件下完成了测试。目前,在美工方面,我们仅仅考虑了比较简陋的美工设计,因此所消耗资源不多,在Beta版本中,我们将进行这部分开发的资源估计、获取和分配。
4.你有没有感到你做的事情可以让别人来做(更有效率)?
答:在团队PM的带领下,团队每个成员都积极地投入到了项目开发过程中去,所以大家完成任务的情况还是让团队里每个成员都比较满意的。不过我们可以考虑进行任务分配的优化,这样也有利于项目开发的高效。
有什么经验教训? 如果历史重来一遍, 我们会做什么改进?
答:主要经验教训是:任务分配的灵活性。其实并不一定某项任务就一定只能由某个人或者某几个人完成。我们可以让团队内的成员自由选择任务,而并非简单的任务分配。这样一来,既可以调动大家的积极性,提高项目完成效率,也可以让大家都得到锻炼。
四、变更管理
internetopen failed1.每个相关的员工都及时知道了变更的消息?
答:我们在进行Daily Scrum时都实时进行变更消息的通知。同时因为开发成员都是本班同学,所以项目有什么新的进展大家都是非常清楚的。
2.我们采用了什么办法决定“推迟”和“必须实现”的功能?
答:主要方法为:对功能进行细致分析和讨论,再通过投票的方式决定某功能的重要性,之后如果有差别意见,则再进行新一轮简单论述后,进行新一轮投票,决定功能的“推迟”与“实现”。这个过程中如果有其它因素的导入,例如客户需求的改变,则以改变之后的设计为主。
 
3.项目的出口条件(Exit Criteria – 什么叫“做好了”)有清晰的定义么?
答:对于我们爬虫程序而言,所谓“做好了”是指:可以在满足客户需求的前提下,实现爬虫程序应有的功能。我们的程序虽然不是十全十美,但是已经可以达到客户的基本要求。在进一步的开发计划中,我们将继续与客户讨论,并进行新的功能设计和开发。
4.对于可能的变更是否能制定应急计划?
答:前一阶段的开发过程中,没有出现重大问题,所以我们还没有考虑太详尽的应急计划。但是我们在开发过程中,如果即将对功能进行修改,我们会让我们的成员对目前已完成的内容进行备份和暂存。如果发现变更后的设计不够理想,我们会回到原来的位置,重新进行开发。
5.员工是否能够有效地处理意料之外的工作请求?
答:我们的团队成员都是非常好相处的、性情温和、又不乏独立思考的成员。所以大家对于意料之外的工作请求都是能相互体谅、彼此之间协商调节的。
java怎么生成class文件五、设计/实现
1.设计工作在什么时候,由谁来完成的?是合适的时间,合适的人么?
整体设计是在项目开发的前期,由团队大家共同讨论决定的。在之后的项目开发里,不同的设计工作由不同的开发人员完成。这些工作最后都取得了良好的结果,所以可以说是合适的时间、合适的人。
2.设计工作有没有碰到模棱两可的情况,团队是如何解决的?
答:较少,主要解决方法还是通过Daily Scrum大家进行讨论后解决的。
3.团队是否运用单元测试(unit test),测试驱动的开发(TDD)、UML, 或者其他工具来帮助设计和实现?这些工具有效么?
答:用到了单元测试的工具,这是为了爬虫程序中不同部分的测试而使用的工具,收效还是比较理想的。
4.什么功能产生的Bug最多,为什么?在发布之后发现了什么重要的bug? 为什么我们在
设计/开发的时候没有想到这些情况?
sum函数是什么意思
答:在爬虫程序中,广告过滤的功能和文件下载功能Bug较多;因为不同的广告地址有不同的编码格式和文本内容,我们需要对不同地址的不同编码格式的URL地址进行处理,例如含有中文的地址等,这就导致的工作的复杂性;文件下载则是因为下载文件的类型多,下载分类复杂,导致代码编写复杂,容易出现编写错误等。
5.代码复审(Code Review)是如何进行的,是否严格执行了代码规范?
答:代码复审由主要的开发人员和测试人员进行。在使用简单测试用例的过程中一边测试、一边审查代码。我们较为严格的执行了代码规范
我们学到了什么? 如果历史重来一遍, 我们会做什么改进?
答:主要学习:结队编程技巧。我们团队内人员的软件开发技巧好坏不齐。为了让编程能力较差的同学也得到一定的锻炼,我们选择了结对编程的方法,让团队成员两两合作,相互学习,这样既能提高团队成员的编程能力,也进一步让大家的更好地进行了交流。
五、测试/发布
1.团队是否有一个测试计划?为什么没有?
答:有,但是不完善。我们项目的测试方法就是直接运行程序。通过多次的,给予程序不同输入的迭代式的测试。这个方法虽然比较方便操作,也能比较有效的得到所需的测试结果,但是操作起来确实不是很方便,也具有一定的偏差(跟测试条件的硬件环境有关)。
2.是否进行了正式的验收测试?
答:是的。我们将测试的结果进行了汇总之后攥写了测试报告。
3.团队是否有测试工具来帮助测试?
答:目前没有用到特殊的测试工具。所测试的网站都是由测试人员自己输入进行测试的和监控的,所以可能并没有十分准确。爬虫软件 app

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。