某日关于项目delay的总结

本文探讨了在软件开发过程中遇到的问题,包括开发环境与测试环境差异、需求变更管理、并行任务分配、版本管理、接口改动、测试覆盖与协调、加班与团队士气以及重构时间管理。提出了具体改进措施,旨在提升团队效率与产品质量。

存在问题:
1:开发环境与测试环境差异过大,很多问题无法直接开发环境验证。


2:开发过程不可控,需求的变更有点频繁(微博需求单号DBANKDEV-3216,从215日提出至331日仍不间断更新),并且需求的变更没有很好的管理起来,导致需求的遗漏和追踪困难。


3:开发并行的任务过多,并且没有注意优先级别,很多人都是来回几个工程来回切换,或者是一个人负责好几个模块。站长需求,统计需求,微薄需求的公示的转测时间相冲突。


4:版本管理不严格,版本发布目标不明确,现网积累的部分问题都归纳于此版本解决(共享问题),并且没做好现网版本的归档。

 

5:涉及接口的改动过多,并且从策划到开发到测试的响应效率不高,改动成本过高。


6:测试没有全面完整的测试用例覆盖,并且bug单的优先级别没有被很好的管理,开发与测试由于是两个不同的公司负责,协调和管理上存在一定难度。


7:连续加班,团队气势低落,影响团队稳定。

以下是各项的改进措施及建议
1:降低开发环境与测试环境的差异化,目前,微薄的开发已经基本和测试环境一致(后期才改进统一的),但还有一些比如获取文件目录,树信息,发邮件无法和测试环境统一起来。


2:敏捷不代表忽视项目管理的重要性,需求的变更直接关系到成本的大小和过程的可控,需要有项目经理参与到变更的流程和管理中来。

 

3:资源有限的情况下,并行的任务不宜过多,否则影响质量不说,进度也不好控制。建议增加人员,目前由于资源有限,很多开发人员都需要横向的负责多个模块,或者整个工程或者多个工程,并且负责模块不固定,这样会导致模块问题模糊,难于确责和追责,引起所谓的"责任心"问题。


4:版本的管理不严格,规划不明确,现网版本改动的问题没有归档到现网版本中,而是直接在主线的开发版本进行,这样会产生难于预料的问题,建议版本之间要归档,对现网的改动需要马上更新的需要在现网版本中进行,而不是在当前版本中进行,两个版本需要并行开发或者是说分步发布,建议建立版本分支,然后各版本特性通过svn合并到主线版本中。


5:外部接口,尤其是php的接口,需要做单元测试,建议提高接口的设计抽象程度,毕竟接口的改动不宜频繁。建议难沟通的,需要马上响应的都要到位沟通


6:我不太清楚现在测试是什么驱动去覆盖功能点的,建议以用例的形式去做,不光开发的需要重视用例驱动的概念,测试和项目经理也需要有这样的概念,至少现在给我感觉不强,开发首先不重视用例驱动覆盖,所以会导致开发功能的盲点,项目管理不以用例去驱动,必然会导致需求管理质量管理,进度管理的盲点,测试不以用例去驱动,会导致测试的盲点,这就是为什么就快发布到镜像的时候,才发觉游客用户在微薄处理的情况和需求有一定出入。ps.策划也应该重视用例。


7:测试和开发工作不好协调,在发布到测试环境中,工作都是以测试的驱动去进行,测试的有问题单,开发才好修改,在进度紧迫的时候,测试需要额外的投入资源去做这快,而不是等开发解决问题单,然后测试再验证问题,主次颠倒,这样重大问题的发现往往到后面才发现到。建议可以安排XX的合作方的测试与XX的一起,这样协调门槛低一些。


8:加班难免,团队愿意连续加班至少说明责任心没问题,方式上或许有点问题,长期下来对团队的建设也是不健康的,之前做的绩效考核制度需要把质量的指标和具体的绩效考核联系起来,并且真正有效执行,以奖励为主罚为辅,客观的说合作方的开发属于指哪打哪型,在开发过程中,很少主导权,如果不分析真正原因,不客观的分析,处罚是达不到目的,且会有反效果的。

 

9:其他,开发人员往往发现问题,有重构的心但没重构的时间和资源,建议有腾出或者挤出时间资源来做重构。
Hadoop作为一种分布式计算框架,广泛应用于处理大规模数据集的场景。以下是一些典型的Hadoop项目实例和案例分析,展示了其在实际应用中的强大功能和灵活性。 ### 日志数据分析 Hadoop在日志数据分析中表现出色,尤其是在处理海量日志数据时。例如,一个常见的需求是从某日的访问日志中提取出访问百度次数最多的IP地址。这种场景下,Hadoop的MapReduce模型可以有效地进行分布式处理,通过Map阶段将日志数据按IP分组,再通过Reduce阶段统计每个IP的访问次数,最终筛选出访问次数最多的IP地址 [^3]。 ### 文件处理与查询系统开发 在另一个案例中,网站的日志分析工作通过Hadoop完成,分析结果存储在MySQL或HBase中。随后,可以通过JSP或ASP.NET技术开发关键指标查询系统,供网站运营决策者查看和分析 [^4]。 ### 大规模数据统计 Hadoop也被用于统计大规模数据集中出现频率最高的N个数据。例如,当面对上千万或上亿条有重复的数据时,Hadoop可以通过MapReduce模型高效地统计每个数据的出现次数,并筛选出出现次数最多的N个数据 [^3]。 ### 数据去重与查找 在数据去重方面,Hadoop同样展现了其强大的处理能力。例如,面对2.5亿个整数,Hadoop可以利用外部排序和哈希表等技术,找出其中不重复的整数。此外,对于40亿个不重复的无符号整数,Hadoop可以通过位图(Bit Map)等方法快速判断某个数是否存在于这些数中 [^3]。 ### 分布式文件系统 Hadoop的核心组件之一是HDFS(Hadoop Distributed File System),它设计用于部署在低廉的硬件上,提供高吞吐量的数据访问能力。HDFS的高容错性使其非常适合处理超大数据集的应用程序 [^2]。 ### 实际应用示例 Hadoop还被广泛应用于实际的企业案例中。例如,Nutch项目的数据处理完全构建在Hadoop之上,展示了Hadoop在搜索引擎领域的应用 [^1]。此外,Hadoop还可以用于处理海量日志数据,提取出有价值的商业洞察 [^3]。 ```java // 示例代码:Hadoop MapReduce 程序的骨架 public class WordCount { public static class TokenizerMapper extends Mapper<LongWritable, Text, Text, IntWritable>{ private final static IntWritable one = new IntWritable(1); private Text word = new Text(); public void map(LongWritable key, Text value, Context context) throws IOException, InterruptedException { StringTokenizer itr = new StringTokenizer(value.toString()); while (itr.hasMoreTokens()) { word.set(itr.nextToken()); context.write(word, one); } } } public static class IntSumReducer extends Reducer<Text, IntWritable, Text, IntWritable> { private IntWritable result = new IntWritable(); public void reduce(Text key, Iterable<IntWritable> values, Context context) throws IOException, InterruptedException { int sum = 0; for (IntWritable val : values) { sum += val.get(); } result.set(sum); context.write(key, result); } } public static void main(String[] args) throws Exception { Configuration conf = new Configuration(); Job job = Job.getInstance(conf, "word count"); job.setJarByClass(WordCount.class); job.setMapperClass(TokenizerMapper.class); job.setCombinerClass(IntSumReducer.class); job.setReducerClass(IntSumReducer.class); job.setOutputKeyClass(Text.class); job.setOutputValueClass(IntWritable.class); FileInputFormat.addInputPath(job, new Path(args[0])); FileOutputFormat.setOutputPath(job, new Path(args[1])); System.exit(job.waitForCompletion(true) ? 0 : 1); } } ``` ###
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值