我目前正在带薪实习中,并且负责维护由过去五年来由多个开发人员(在不同时间)开发的过时系统。管理层同意“该系统具有生命支持”,并且我从当前使用该系统的最终用户那里收到定期报告的错误报告。
如果人们仍在使用该系统并且该系统支持业务活动,则该系统并不会过时。由于仍在使用它,因此业务不能只是丢弃它-需要支持它,直到不再需要该系统为止。这可能是业务目标的变化,或者已经开发,测试了新系统并将其成功部署到最终用户。
真的,五年不那么长。我使用的是10年前的代码。如果仍然可以满足用户的需求,为什么要丢弃它呢?这浪费了开发的大量资金。直到由于成本增加而无法进行维护或需求发生巨大变化之前,没有商业理由将其丢弃。
管理层现在希望将该项目再延长一年,在此过程中,用户群几乎增加了两倍。
如果管理层说该系统是“终身支持”的,那么为什么他们要进一步部署它呢?通常,维护活动会在旧系统上继续进行,直到被替换为止,但是,如果系统处于使用寿命终止,则通常不会将其部署给更多的人。扩展维护是一回事,但是添加依赖系统的用户却是另一回事。
在我看来,这实际上并不是寿命的尽头,而是处于维护阶段,并且将继续存在直到系统不再满足用户需求为止。
作为一名实习生(或任何入门级职位),我该如何“退缩”?我已经写了一份报告,陈述了我的担忧,尽管它是开放式文档。是否有用于建议更改的协议或文档类型?我是否可以提出建议,还是应该继续支持旧系统?
您需要继续支持旧系统。后来,您提到软件不是您公司的主要业务。在这样的环境中,软件团队的工作是支持公司的主要业务。但是,软件团队还需要牢记业务目标。
同时,以一种不容忍的方式捕获您的建议。指出在创建新系统时/可以与系统集成或使用的其他技术或方法及其优点/缺点。如何执行此操作取决于公司,但是考虑到以后的观点,也许建立Wiki或其他协作站点会很有用。
在非软件业务中,软件是一项成本,因此软件团队(尤其是软件项目/程序经理)应努力在满足最终用户需求的同时,尽可能降低构建和维护软件系统的成本。 。抛弃满足用户需求的软件(据我所知,无论如何,从您的帖子中可以看出)与软件团队的最大利益背道而驰。
*澄清一下,软件开发不是我公司的主要业务。因此,不存在内部协议。此外,该项目根本没有正式文档,也没有需求文档。发展是非常特别的。
对我来说,这就是问题所在。不产生文档,不按照规范进行开发以及缺乏一致性会增加开发软件的成本。修复此问题将是我的最高优先事项,而我将通过诸如编码标准,版本控制,生成自文档代码和设计文档,缺陷跟踪以及需求规范之类的工作来做到这一点。