Questions tagged «customer-relations»

21
客户希望我录制有关如何开发他的软件产品的视频
作为自由职业者,我经常看到客户提出奇怪的要求,其中一些可能会对我的日常工作产生负面影响¹,而另一些则试图设置某种控制权。我通常会在初步谈判中遇到这些问题,因此在这种状态下很容易向客户说明我确实关心自己的工作和生产力,并希望客户信任我的工作。 我刚刚接受的项目的工作要困难得多²,因为这是在谈判结束之后(合同已经签订,没有提及视频跟踪),并且在我开始从事该项目后,客户要求我记录在他的项目上工作时我在机器上所做的所有操作的视频,即将显示我移动光标,键入字符,打开文件,移动窗口等的视频。 我使用自己的PC在自己的公司工作。 我向该客户回答说,由于以下原因,该请求无法接受: 在双屏PC上数百小时的工作将需要大量磁盘空间来存储录制的视频。如果我不在乎空间,那么我会在乎这个客户浪费我的带宽来下载那些视频。 录制视频会影响整体性能并降低我的工作效率(实际上并非如此,因为该机器功能强大,足以录制此视频而不会造成性能损失,但是,看起来仍然是有效的论据)。 我不总是记得在开始工作之前打开视频记录,然后在结束时关闭它。 这可能是隐私问题。如果在录制视频时切换到邮件怎么办?如果要打开包含有关此客户项目文件的目录,该如何打开包含所有客户列表的父目录,该怎么办? 这样的视频不能成为一个可靠的消息来源,以跟踪项目(我按小时收费)的成本,因为有些工作只用铅笔和纸(这做是真正正确的,因为我做很多工作草案没有使用PC)。 尽管有这些要点,客户还是认为如果我不想录制视频,那是因为我有一些隐藏的东西,并且想知道他在项目上花费的实时时间³。 如何向他解释,自由职业者录制日常工作的视频不是通常的作法,而这种奢侈的要求必须留给特殊情况⁴? ¹最常见的示例是要求通过速度超过Internet速度较慢的速度较慢的服务器上的Remote Desktop进行工作,或者被迫在没有严重理由的情况下将过时的软件用作Windows Me支持。 ²实际上,我已经做了很多与管理和系统设计相关的工作,这是必不可少的,但通常会被客户误解,并浪费时间和金钱。观察相关客户,我非常确定他将拒绝为已经完成的工作支付大量资金,因为实际上代码行为零。即使从法律上来说,我可以轻松地证明在设计级别上还有很多工作要做,但我也不想在法庭上终止与该客户的关系。 ³由于我将这个项目的预期成本和最大成本交给了该客户,因此风险不那么大,因此,即使是客户,也绝不会被要求支付超过合同规定的最大金额的款项。如果实际工作花费更多。 I当我有效地主动记录操作视频时,就是必须直接在客户的生产服务器上进行一些操作,特别是在涉及安全问题时。记录这些步骤可能是一个好主意,以准确地了解已完成的操作,并确保我的工作中没有错误,或查看这些错误是什么。 更新: 首先,感谢您的所有回答和评论。 由于这个问题比我预期的吸引了更多的注意力并且得到了更多的答案,因此我认为它可能与其他人相关,因此我添加了一个更新。首先,为了总结答案和评论,建议(随机排列): 建议其他跟踪方式,如Twitter Code Swarm视频中所示,或提供“具有简单,清晰可交付成果的简短里程碑,然后是更复杂的里程碑”,等等。 说明该视频不是可靠的资源,可以被伪造,并且很难实施,尤其是在支持方面。 说明该视频不是可靠的信息源,因为它仅显示了一部分工作:无需使用计算机即可完成大量工作,还不包括考虑解决问题所花费的额外时间。 遵守合同;如果客户想要更改它,则他必须期待新的谈判和更高的价格。 录制视频,“但要求客户将全部费用存入托管账户”,要求律师录制所有可计费时间等录像带,换句话说,“在没有信任的环境中工作”,要求客户负担额外费用。 搜索禁止这样做的法律。几个人问我住在哪个国家。我在法国。此类法律的存在是为了保护公司的员工(对于安全摄像机等有严格的规定,但是我敢肯定,任何事情都不能禁止自由职业者自觉签订合同,强迫他在从事项目工作时录制屏幕。 只需发送视频即可:客户将“观看几十秒钟他不理解的活动摘要”,然后将这些视频扔掉。 说不。毕竟,这是我的工作,而且我是唯一决定如何进行业务的人。另外,合同已经签订,与视频跟踪无关。 说不。我在公司中采用的流程和实践可以被视为商业秘密,并且可以分类。 放弃。如果这种关系开始的话,很可能不久或以后就会严重终止。另外,“如果他像小偷一样对待您-那就是他的建议-那么当XYZ功能无法完全按照他的预期工作时,情况只会变得更糟”。 尽管所有这些建议都同样有价值,但我个人选择对客户说我接受制作视频,但是在这种情况下,我们必须重新协商合同,同时要记住,这会产生相当大的成本,包括版权发布的额外费用。新的总成本平均为项目实际成本的三倍。认识这个客户,我完全可以确定他绝不会接受这么多钱,所以问题就解决了。 第二次更新: 考虑到大量的额外费用,客户实际上拒绝了重新谈判原始合同的提议。

12
如何回应粗鲁的错误报告?
我刚刚收到了一个很不礼貌的错误报告。用户基本上说我们在各处使用大写字母做错了,尽管他实际上只是在指出一个错误。 一方面,我非常关心我们的用户,并希望与我们的应用程序保持良好的关系和良好的评级。另一方面,如果我回答太客气的话,我会感觉完全被抢购一空。 有什么体面的回应方式?我要注意什么?我应该有什么心态? 应该补充一点,该用户似乎是24岁的CS学生,而我们的产品是一个我们免费提供的Android应用。

4
如何劝阻刚刚学习技术并想在任何地方使用它的客户?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 4年前关闭。 我的客户最近发现了什么是URL重写,而没有完全了解它是什么,它如何工作以及它的优缺点。现在,他要求对当前项目的实际要求和对旧项目的更改进行许多奇怪的更改,以实现他认为的URL重写。 一方面,我很生气,被要求去做没有实际意义的事情,而不是做真正的工作。另一方面,我无法告诉我的客户,尽管他对该主题感兴趣,但他对主题一无所知。 我认为许多人遇到过这样的情况,即他们的经理或客户刚刚学会了一个新的流行词或新技术,他如此喜欢它,而不是想要在每个项目的任何地方都使用它,而是重写整个代码库以使用新的东西。东西等 另外,我最近阅读了一些有关Programmers.SE的文章,人们在谈论有关XML的话题时,向他们讲述了他们的经历,一些管理人员会要求在每个项目中引入XML,以便向所有人证明他们已经使用过XML。 因此,那些处在类似情况下的人,您如何管理它?

8
向客户解释浮点精度[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 4年前关闭。 向客户解释浮点舍入问题的最佳方法是什么? 我知道 http://download.oracle.com/docs/cd/E19957-01/806-3568/ncg_goldberg.html 以及针对开发人员和科学家的C ++ FAQ和其他各种页面中的条目,但是是否有针对具有有限数学或科学背景的“常规”客户的网页,文章或说明?(以上参考文献对此持平)。 如果它是维护的或来自知名的和公认的机构或公司,那么情况就更好了,因为正如您中某些人可能曾经经历过的那样,要解释自己可能有些复杂。

11
将源代码移交给客户
我为一个客户制作了两个iPhone应用程序,今天被要求交出源代码,以便他们在需要时进行维护。到目前为止,还没有讨论过任何代码问题。 是否有“常规”做法? 另外,这应该以哪种方式影响价格?

10
我的团队如何在重构后避免频繁的错误?
为您提供一些背景知识:我在一家大约有十二名Ruby on Rails开发人员(+/-实习生)的公司工作。远程工作很普遍。我们的产品由两部分组成:一个相当肥大的核心,然后精简到以此为基础的大客户项目。客户项目通常会扩展核心。不会覆盖关键功能。我可能还会补充说,核心中有一些非常糟糕的部分,这些部分迫切需要重构。有规格,但主要针对客户项目。核心的最差部分未经测试(不是应该的……)。 开发人员分为两个团队,每个sprint使用一个或两个PO。通常,一个客户项目严格与团队和PO之一相关联。 现在我们的问题是:我们经常破坏彼此的东西。A团队的某人扩展或重构了核心功能Y,从而为B团队的一个客户项目造成了意外错误。通常,更改不会在团队中宣布,因此这些错误几乎总是无法预料的。包括PO在内的B团队认为功能Y是稳定的,并且在发布之前未对其进行测试,并且没有意识到更改。 如何摆脱那些问题?您可以推荐我什么样的“公告技术”?

7
您如何回答:客户提出的“自更新以来……”问题?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 4年前关闭。 自从更新以来,人们一直在喊着说:“自从更新X,Y和Z变慢,变差并崩溃后” 自从更新开始以来就发生了这种情况。 人们期望什么?伽玛版是beta版本之后的版本,伽玛测试始终使我们的用户成为“不可思议的绿巨人” ... 也许您从未听说过来自客户的消息,也许您是在大学或FLOSS开发人员中,可以将责任推卸到5个或6个以上的家伙上,也许您要对代码进行单元测试,也许您并没有遇到这种有趣的情况客户实际上打电话给您,要求您提供一天中的确切时间(今天我想向M​​icrosoft发布),或者您是像我这样对不起的饼干儿子,他刚发布了新补丁更新并回家,令人恐惧的是明天要恢复工作。 无论如何,你们比我还要聪明。您如何对“您必须是一个糟糕的程序员,因为您会使软件变得更糟”提出批评?

4
我是否应该继续为那些不断要求而不付钱的客户开展自由职业?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为软件工程堆栈交换的主题。 5年前关闭。 因此,一位客户来找我,说需要做一些工作。基本上有4个任务,我同意以一定的价格执行。我接受客户在ODesk上创建工作机会(固定时间和价格的工作),但是花了几天时间并不断提醒客户根据该工作开始合同。 问题是原始任务已经完成,合同仍然有效,我还没有付款,客户说他将在项目完成时付款,直到那时,新任务不断发生,或者更改了旧任务需要完全重做元素。对于所有这些,客户承诺付款。此客户端没有有关ODesk的更新,那里没有新任务。我一直在提醒客户有关整理管理问题的信息,但没有结果。同时,由于该项目即将启动,客户会继续进行工作。 我不知道该怎么办。 如果我拒绝在没有官僚作风的情况下执行任何工作,则该项目将延迟。但这不是我的错,是吗?在这种情况下,我恐怕会收到负面反馈,甚至更糟。 如果我退出这个项目,恐怕我什至都无法获得所获得的收益。 如果我继续这样,我将浪费大量时间来做类似于此处所述的事情,但是作为一名程序员(是的,它已经提出了类似的要求,需要大量的硬编码内容)。 在这种情况下,我该如何与此类客户沟通?如何避免冲突? PS客户是一家小公司。不同的人处理此项目的不同方面,每个人都对原始规范进行自己的更改。 2年后:哇!很疑问!大受欢迎! 我决定让每个人都结束这个故事。我遇到了客户,并解释说,直到我为自己做的事情获得报酬,以及每小时签订一份合同后,我才会工作。他们第二天付了我钱,开了份合同。开始了富有成果但短暂的合作。大家都很开心 除了我没有得到任何反馈。

8
客户购买软件无法执行的功能,然后抱怨。怎么解决?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为软件工程堆栈交换的主题。 5个月前关闭。 我在出售预包装解决方案时遇到过几次。 客户购买了该包装,该包装清楚地表明它可以执行XYZ,但客户希望它执行ABC。 然后,客户通过电子邮件获得支持。我告知客户,该产品从未按照他们的预期目的进行设计(将其与其他产品集成)。 客户要求退款,因为他们无法使用该产品。 这就是我的两个想法。首先,该产品可以正常运行,现在他们已经获得了源代码(PHP脚本)。我怎么知道他们仍然不会使用它,仍然想要退款? 其次,我确实为客户感到难过。如果他们是诚实的,并且大多数人是诚实的,那么他们将无法使用该产品,因此“浪费”了他们眼中的钱。但是,那不是我的错。 到目前为止,我已经根据要求退还了这笔钱,但是现在我正在与大型公司处理这种情况的情况进行比较。他们会怎么做?也许是因为它们更大,所以他们不时会在乎一些退款,但是对于像我这样的单身乐队,每笔交易都是必要的! 处理这种情况的最佳方法是什么?

1
如何快速有效地编写功能说明
因此,我只是在这里阅读了Joel的一些精彩文章。(写于2000年!!)我阅读了全部4部分,但是我正在寻找一些系统的方法来编写我的规范。 我是唯一一个孤独的开发人员,他为一家非常著名的金融公司从事这个相当复杂的应用程序(或应用程序系列)。 我从来没有做过这么严重的事情,我开始写一些类似糟糕的规范之类的东西,这浪费了我很多时间。 我还为客户制作了3个样机样的东西,所以我对他们想要的东西有很好的了解。还发布了预览版(带有最基本工作流程的废弃应用程序),并且我仅编写和测试了一些非常核心/基本的系统。 我认为到目前为止,我一直犯的错误不是写详细的规范,所以我现在就开始做。 所以整个事情包括 MVC网站(用于管理员和数据查看) 2个Silverlight模块(用于2个特定任务) 1个桌面应用程序 我的时间,资源都非常短缺,需要快速完成此工作,还需要确保这些人同样快速,轻松地阅读。 那么如何做我去一下,我正在寻找任何提示,任何现实世界的东西,怎么做你们平时做呢? 您是否对每个对话框/表单/页面都进行了模拟筛选? 我正在考虑制作一个虚拟的ASP.NET Web窗体项目,然后在文件夹中填充HTML文件并使它看起来像我的MVC URL结构。 然后在网站的规范中列出一个部分,并为我与Screenie在一起的每个URL编写一个页面。 对于我赢窗体应用程序,我做了有些演示赢形式的项目,我会再放入一个对话框或结构的一切,我会在真正的应用程序,然后截屏呢? 对于这个问题有一些背景知识。我一直是一个疯狂的跳到代码的家伙,工作正常,但对于我正在开发的应用程序,它不仅复杂,而且对于一家非常知名的大型公司来说,我必须得到它对! (到目前为止进展顺利,今天我给出了很多人喜欢的预览版本的演示!= D) 如果我确实获得了最初的设计权利,那么我将对该公司也有一个不错的生意,已经有很多人在考虑新的“很棒的”功能,他们准备为此付费。

10
如何减少技术债务而获得报酬?
我目前在一家技术含量很少的小型公司工作。我是其中之一的唯一开发者。大约一年前,我获得了该产品的旧版本并开始“支持”它。 客户只谈论新功能,业务价值和其他类似的功能。问题是,尽管代码是用C#编写的,但它是过程性的。没有抽象,仅在Visual Studio需要它们的地方才使用类-例如表单。这些类的实现确实很糟糕,并且代码很难维护。 这些年来,我花费自己的时间进行重构。在最新版本中,有一些漂亮的抽象等。我不得不从头开始重新实现许多组件,我真的觉得向这些组件添加新功能或更改行为要比其他组件容易得多。 问题是,我花自己的时间。我非常喜欢结果,但我不喜欢每天工作12个小时。您去过类似情况吗?我应该怎么做?我已经尝试过讨论它,但仍然没有成功。 当我们决定实现需要对遗留代码进行大量更改的新功能时,我只是感到害怕。这可能会让客户感到震惊:为什么您需要8个小时来更改这些图标?客户只是不在乎我需要更改代码中的500个位置。我还应该首先找到所有这500个地方。 有任何想法吗?

4
补丁对客户不利吗?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 5年前关闭。 在办公室,我们只是度过了漫长的一段时间,在那儿我们太频繁地发布补丁了。在此期间快要结束时,我们平均每周要进行大约三个补丁。 除了这对于开发人员来说非常不利之外,我想知道客户对此会有什么想法。我自己问了一个问题,得出的结论是,我不知道经常更新的软件。但是,对于最接近的情况,我并不在乎,因为补丁很快就可以应用。 收到这些补丁的客户彼此之间有很大不同。有些人确实在等待其他人并不真正关心的补丁,但是他们都得到了相同的补丁。更新客户软件的时间少于30秒,因此我认为与时间无关的任何问题。他们确实需要注销。 因此,我的问题更加详细:获取更新是否经常向接收方发出“负面”消息? 当然,我可以问顾客,但是我不在那个位置,也不想“唤醒熟睡的狗”。 PS:如果有什么我可以改善的问题,请发表评论。

7
对于询问必须使用两种等效技术中的哪一种的客户,该如何回答?
作为一名自由职业者,我的客户经常问我,他们必须在相似的元素之间进行选择,而这两个元素都不比另一个要好。例子: “我需要电子商务网站使用PHP还是ASP.NET?” “我需要在Cloud中托管此普通Web服务还是使用普通托管服务?” “哪个对我的新网站更好:MySQL或Oracle?” 等等 根据精确的指标和研究,最多可能有1%的情况与选择相关,并且确实有客观的理由选择一种选择。在其他所有情况下,都没有关系。这完全是完全不相关的,或者是因为没有任何影响¹,或者是因为这些影响太小而无法考虑²,或者最终是因为无法预测这些影响³。 如果您知道一件事而不是另一件事,那么对这些问题的答案很简单: “您可以使用C#或Java编写应用程序,这两种情况在您的情况下可能是等效的。请注意,我是C#开发人员,因此,如果您选择Java,我将无法处理您的项目,因此您需要寻找另一个自由职业者。” 当您同时了解这两种技术时,您将无法回答。 在这种情况下,如何向客户说明他所提出的问题受到激烈的争论,并且对他的项目没有实际影响? 换句话说,如何解释您出于与人力资源相关的原因而选择使用一种技术而不是等效的技术,而不会给人以专业或不在乎项目的印象? ¹举例:从性能角度看,MySQL比Oracle更好(更差吗?),因为个人网站每天访问两个人,哦,让我们乐观一点? ²示例:对于一个给定的项目,我被问到Windows Azure托管是否比在著名的ASP.NET托管提供商上托管同一应用程序便宜。费用显示完全相同。 ³示例:您的客户对将来的应用程序有一个想法(这个想法本身非常含糊)。没有商业计划,没有要求,什么都没有。只是一个主意。系统会询问您Java是否比该应用程序的C#更好。你怎么回答

8
什么时候应该消除复杂性?
通过在需要之前实施设计模式来过早引入复杂性不是一个好习惯。 但是,如果您遵循所有(或什至大部分)SOLID原则并使用通用的设计模式,那么随着功能或需求的添加或更改,以使您的设计保持所需的可维护性和灵活性,您将引入一些复杂性。 但是,一旦引入了这种复杂性并像冠军一样工作,何时将其删除? 例。我有一个为客户编写的应用程序。在最初创建时,那里有几种向员工加薪的方法。我使用了策略模式和工厂来使整个过程保持整洁。随着时间的流逝,应用程序所有者添加或删除了某些升高方法。 时间流逝,新主人接管了。这个新主人刻薄了鼻子,保持一切简单,只有一种加薪的方法。 不再需要策略模式所需的复杂性。如果我现在按照需求在哪里编写代码,那么我不会介绍这种额外的复杂性(但请确保在需要时我可以花很少的精力或根本不用做任何工作来引入它)。 那我现在要删除策略实施吗?我认为这个新主人不会改变加薪的方式。但是应用程序本身已经证明了这可能发生。 当然,这只是新所有者接管并简化了许多流程的应用程序中的一个示例。我可以删除数十个类,接口和工厂,并使整个应用程序更加简单。请注意,当前的实现确实可以很好地工作,并且所有者对此感到满意(由于所讨论的复杂性,我能够如此迅速地实现她的更改感到惊讶甚至高兴)。 我承认这一怀疑的一小部分是因为新所有者很可能不再使用我了。我真的不在乎其他人会接手这件事,因为它并不是一个巨大的收入来源。 但我确实关心2件(相关的)事情 我有点担心,新维护者在尝试理解代码时将不得不加倍努力。复杂性就是复杂性,我不想激怒追随我的心理狂。 但是,更令我担心的是竞争对手看到了这种复杂性,并认为我只是实施设计模式来增加工作时间。然后散布这个谣言来伤害我的其他生意。(我听说过此事。) 所以... 总的来说,即使以前需要的复杂性行之有效,并且历史上已经证明了对这种复杂性的需求,但是否应该删除它却没有迹象表明将来会需要它呢? 即使上面的问题通常被回答为“否”,如果将项目移交给竞争对手(或陌生人),消除这种“不必要的”复杂性是否明智?

6
客户的小时费率收益[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 4年前关闭。 对开发人员来说,按小时进行工作是一件好事,但是很难向客户解释按小时收费的优势。 您对客户的小时费率有何看法?您如何向他解释他的利益,以及如何争论“我想知道该项目的确切成本”?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.