背景
我对编程并不陌生,但是在处理客户及其需求方面我是新手。这是我与当前客户的历史:我继承了一个 PHP 应用程序,它已完成 2/3,继续使其 100% 完成,直到客户需要导致应用程序和数据库需要重写的(主要)功能。我花了两周时间起草新应用程序如何与新更改以及其他所需功能一起工作,在获得批准后,我再次开始构建应用程序。我现在被要求添加在新版本之前没有讨论过的新功能——而且,它们非常重要。此外,整个应用程序拥有 300 多个用户,这使得它变得更加困难。
问题
忽略客户要求最初未讨论的功能这一事实。如何使我构建的应用程序具有功能证明?在一个完美的世界中,客户会确切地知道应用程序应该具有哪些功能,这将使我的工作更容易完成。但事实并非如此,我所说的这些主要特性是在起草应用程序时应该包含的那些,而不是在应用程序上线时包含的那些——尽管这个问题对于未来对应用程序的任何修改或特性来说都是通用的。
我不喜欢告诉我的客户他要求的功能或更改非常重要,以至于我必须(再次)重写整个应用程序。但是,在写这篇文章时,我突然想到,如果不重新开始就无法添加该功能,这可能不是我的错。但这似乎几乎是他想要的任何新功能,因为有些东西已经为应用程序硬编码,现在更改它们以获得新功能是行不通的。
任何与这种情况有关的个人经历都会很棒——我希望我不是唯一一个处理这种情况的人,因为这可能会非常令人沮丧。谢谢!