谁在为这种发展模式付钱

时间:2011-09-15 00:56:31

标签: architecture re-engineering

我曾与几家小型开发公司合作,而且他们似乎有一个共同点(从我在小型软件公司看来常见的小问题)是他们拥有软件开发的商业模式这本身意味着除非有人为软件开发付费,否则它就无法完成。

问题在于这意味着:

  1. 可以增强软件(并可能增加销售额)的好功能无法开发
  2. 没有足够的时间来进行重构和代码维护,除非你能够将它装入客户为此付出的代价中。
  3. 我的经验和我读到的内容表明这导致了糟糕的软件。

    如何以业务人员理解的方式向管理层解释这一点?

    我们需要花时间以客户不会支付的方式开发软件,但会为业务带来长期利益。

3 个答案:

答案 0 :(得分:3)

虽然确定实际增加收入的功能通常是一个废话,而实际客户并没有推动开发。另一方面,客户经常有 线索他们真正想要的东西,直到为时已晚,并且由于没有时间适当地扩展架构,所以大肆挥霍。

当用简单的小词解释时,TCO是人们理解的东西。我经常回去对已经实施不佳的功能进行验尸,查看回购中的流失以识别热点,并使用时间表/回购提交/问题跟踪系统来突出显示可以通过技术更好地完成工作的地方和管理观点。

我发现采取渐进的方法告诉人们高于我的薪水需要做什么,为什么,通常是最好的方法。填补您的估算以允许追溯测试,小规模重构等很少会增加底线成本,但在短期和长期都会产生红利。

有时隐身是实际完成这些事情的唯一方法:毕竟,最终,通过让事情更容易处理来增强开发者的生活。诀窍是以这样的方式摊销成本:如果你不能说服任何人这是必须的,你仍然可以完成它。

答案 1 :(得分:2)

我认为您需要进行成本/收益分析。

如果有一个有利的底线,这些人只会看到某些东西的价值。

因此,如果您可以通过销售或储蓄表达(功能),那么我认为您是赢家。

如果您愿意,可以采用(未来)开发时间的方式节省

答案 2 :(得分:0)

如果您投资建立一个能够提高效率或获得竞争优势的系统 - 换句话说,您在公司中创造价值 - 那么您的公司可以长期获益。 OTOH如果你的所有目标都是外部驱动的,那么你的工作最终会得到报酬,但你的公司将不会有任何价值。但是,建立这个价值需要花钱,或者至少是时间,因为你必须将资源用于短期内不会直接影响你的底线的工作。

这里弥补差距的一种方法是构建它一次自定义,再次构建它自定义有点不同,第三次 - 重构到您的可重用代码库。这将花费金钱,因为重构工作不直接支付,但显然是对你的公司有价值的东西工作,所以应该更容易销售基础的东西(我需要花费六个月建立一个代码库之前我可以开始客户工作......)。