• 对项目目标的一点想法


            公司已经有一个比较成熟的产品了,而且销售情况也不错。现在作的项目是该产品的后续产品,但是并不是简单的升级,如果仅仅是用.net来把以前的VB作的东西来实现一遍,就没有什么实际的意义了。由于要和先前的产品相比有质的飞跃,所以从结构和业务上几乎都是重新设计,但是由于新的架构的实现难度比较大,造成现有的人力和技术实力无法完成具体的实现。形成了一种高不成,低不就的情况,一方面,目标太高,达不到,另一方面,如果调整目标,前面作的很多工作都要推倒重来。最终,项目变成了“鸡肋”,高层也不关心,把精力都放到了赚钱的项目上,但是由于前期投入了大量的人力物力,在一些方面作了很多的探索,放弃又不甘心。但是实际的情况是,如果不作调整,砍掉一些不切实际的功能,那么只能是越走越远,最后只有失败一个结果。

    所以,我觉得:
    1.定位很重要,在项目启动前明确这个软件到底是什么,一个升级版本?一个新的产品?他的价值是什么,不要说启动就启动。
    2.这个软件的核心功能应该是什么,在架构上实现的难点是什么,可行性如何,这些部分对其它部分的影响有多大。  如果风险太高,就砍掉,用其它的简化的办法来代替。
    3.在开发中放弃对一些不切实际的功能。一些需求有可能会出现,但是在实际中几乎不会出现或出现的机率很小,更重要的是  实现它的难度较高,要耗费大量的人力,时间,而且还有可能影响到其它部分的设计。
    4.在开发过程中对管理层提出的新的功能要更加谨慎。管理层有时提出一个新的功能需求不是经过深思熟虑的,但是你一时还  找不到理由来反驳他,因为他说的也有道理。但是,因为这些需求,你不得不一再调整计划,同时修改现有的东西来兼容。  到最后你却发现这个东西根本就没什么用或者向第三点所说的,提高了项目的风险,得不偿失。虽然现在都在说“拥抱变化”,  但是“拥抱”前先看看代价。
     
    写了这么多,还是言不达意。
    总结一下:从真正的实际出发,放弃对完美的追求。

  • 相关阅读:
    Cognitive Radio Cognitive Network Simulator (NS3 based)
    RCU(Read-Copy Update)synchronize原理分析
    英雄黑客:一个试图提高物联网安全性的“义务警员”
    Android NDK放弃GCC,全面转向Clang
    Why is FreeBSD deprecating GCC in favor of Clang/LLVM?
    (Low Level Virtual Machine) LLVM 与 Clang介绍
    RMS谈GCC、LLVM和Copyleft
    LLVM和Clang背后的故事
    FEP: 测试 lineage, 获得 CPU, MEMORY 统计信息
    以wifi-example-sim.cc为例说明NS3统计数据模型
  • 原文地址:https://www.cnblogs.com/dahuzizyd/p/36383.html
Copyright © 2020-2023  润新知