比为客户构建软件更困难的是向客户解释软件是如何构建的。
所以我们坐下来通过我们所知的方法—图片,并通过汽车来解释这个令人难以置信的复杂概念。
我们大的,且一直存在的问题之一是客户如何看待软件开发与实际软件开发之间的差距。该问题明显的症状也许是对于预算无止尽的谈判,但问题不止于此。
敏捷开发 - 客户参与到什么程度?
瀑布模型,即开发过程从确定需求到交付及维护按线性方式进行,近已经几乎消失了。除非你参与的是特别大规模的项目,使用敏捷开发的方法更好。
敏捷开发是基于客户往往不知道他们究竟想要怎样的软件这一事实。敏捷开发团队以透明化方式工作,并保证客户参与开发过程,以确保终的结果能够尽可能接近客户的实际需求。
这像从商店买一套西服,而不是通过网络购物—你永远不会知道它是否合身,或穿在你身上会是什么样子,直到你试穿一次。理想情况下,你还需要一个裁缝将其修改到适合你的身形。
从敏捷团队购买软件像是购买一件量身定做的西服。
只是客户只愿意支付非定制西装的价格,并且如果有什么需要剪裁的情况,他们还对你指手画脚。
如何保护你的开发时间?
虽然敏捷开发重视透明度和合作,你仍然需要保护你的时间。以下是几句你的客户可能会说的话:
- “我能坐在你旁边一起工作吗?”
- “我们能快点填补上这个(庞大的)功能吗,这功能非常小,应该不是很困难。”
- “我有一个朋友可以在内做完这个,我们能不能出一半价钱?”
- “我们可以回到第一个版本吗?还有如果我们不使用这些代码,我们不该为此付费”。
这些场景可能会花费你大量的时间和金钱,如果你不坚定你的立场。你的第一道防线是需要一个很好的项目管理系统。
如果您需要能够应对突发问题或是维护,使用看板开发。看板图本质上是一个明确规定了在给定的时间内工作项目数的to-do list。这是一个能保护你的团队免受过多中断困扰的系统 - 如果发生意外问题,你可以优先考虑它,否则它将排入待处理队列。
如果你不需要担心维护问题或者该项目不是由大量互相联系的部分组成,那你也可以使用Scrum系统。 Scrum限制团队在通常持续2-4周的冲刺中针对一个非常具体的目标而努力。其整体思路是让团队完全专注于自己的目标。
如何保护你的预算?
保护您的时间是一回事— 确保你得到报酬是另一回事。
下面让我们来看看为什么我们将设立时间跟踪器作为首位—保持盈利的方式之一是给你的时间标上一个清楚的价格。
跟踪你的开发时间有不少好处(这里有更详细的讨论),两个主要的好处可以归结为商业智能和透明度。
简单来说,它可以让你做出明智的计划,并向你的客户展示“小变化”在开发上实际花费的时间。
本文来自:https://toggl.com/developer-methods-infographic