skip navigation
skip mega-menu

我们最近花了一些时间来反思我们的工作方式, 以及如何将其转化为客户非常成功的项目, and ones that our team love to work on. 我想分享其中的一些知识因为它确实突出了我们的流程和文化的一些重要方面,这些方面使我们成为“我们”, 如果你选择和我们一起工作,你应该期待什么, either as a client, or as a part of the team.

We've written about our Agile development process, and how we follow the Agile Manifesto before. 这些事情可能会告诉你一个项目的日常运作情况, 但他们并没有触及到我们最终如何完成一个项目的关键 everyone can be proud of, and better still, smile at!

Let's dive in...

Never making assumptions

从不做假设是我们做任何事情的支柱. 人类擅长对各种各样的事情做出假设, 所以对我们来说,积极地与之斗争是一个相当大的挑战. We assume what others are thinking, about what particular behaviours mean, 我们发现自己把这些假设投射到别人身上,而这些信念不一定是准确的. 当涉及到我们的工作时,这变成了一个双向的真理.

We will not 对客户的业务、员工、客户或抱负做出假设. 这意味着我们会问很多十大网博靠谱平台业务的深刻而具有挑战性的问题, and prying into its inner workings. Clearly that takes a lot of trust; we're learning about our clients' innermost secrets and those do not 想让所有人都看到,至少不是我们.

In asking those questions, 同样重要的是,我们的客户不要在他们给出的答案中假设我们目前的知识水平, 因为任何假设都只会为误解敞开大门, and thus: project failure. Not a good outcome for our client. Not a good outcome for us.

Understanding your business

了解客户的业务是任何项目的开始. 如果你问任何一个建筑工人,他们教给学徒的第一课是: measure twice, cut once. 这意味着你必须有一个详细的、写得很好的计划. So here comes the barrage of questions. 我们确实问了很多问题(抱歉,不抱歉)!

We want to learn about the business. What does its future look like? What goals and aspirations are there? What does it do today? We need to understand that in real depth. How does the business work? 你如何从一个地方到另一个地方,最后得到一个满意的客户. 结束真的是结束了吗,或者在那之后还有什么? 其中哪些部分现在是困难的,或者令人沮丧的?

I've written before about understanding the value of automation. 这些令人沮丧的事情要花多长时间才能完成? 一天/一周/一个月发生多少次? How much money does that cost? 机会成本是什么?如果腾出时间,可以多做多少生意?

找到所有这些问题的答案会给每个人带来关键的知识: 为了尽快获得最大的投资回报,我们可以破坏业务的哪一部分? 这将不可避免地导致更多十大网博靠谱平台决策以及信息如何在企业和个人之间流动的问题. 这有助于将实际的、真实的业务流程记录到流程图中. 我们并不打算记录你的全部业务(目前), but rather the area we're focusing on, and its touch points with others (people, departments, suppliers, customers).


Understanding "the customer"

至于弄清工作到底是如何完成的, 我们需要和相关人员谈谈. 我们称他们为“客户”,因为最终他们是以某种方式与系统交互的用户. They could be a member of the team, an actual customer, or part of the supply chain, 但如果企业需要以某种方式与他们沟通以完成工作, they are "the customer".

为此,我们需要了解“客户”的哪些方面?? 我们需要了解他们在与系统接触的时候可能在哪里, and what else might be on their plate. We need to learn about their priorities, 这样我们就能以最少干扰的方式完成他们的任务. 我们需要了解他们在那个时间点必须掌握的技术, 因此,我们可以设计一个适合这个目的的界面(如果用户手边有一个移动电话,那么构建一个充满表单字段的桌面屏幕是没有用的), 或者,如果他们坐在办公桌前,也可以使用窄移动视角。).

然后我们需要了解这个人想要达到什么目标, both in work now, and in life longer term. 因为我们的部分职责是将自动化构建到业务中,这意味着帮助人们过渡到不同的, more fulfilling areas of work. 我们的客户不会把人从我们所做的自动化工作中赶走. If they do, we fire them. 人们随身携带着知识,这是企业可以拥有的最有价值的资产. As a result, 那些利用我们团队的技能和雄心的客户,他们的投资回报最大.

How do we actually learn about the customer? Literally, by talking to them, 问他们更多的问题,了解他们,以及我们能做些什么让他们的生活(当然是工作)更轻松.


Building in collaboration

So we know what we need to build now, right? Hold your horses! 这些猫不会自己剥皮,有无数种可能的方法可以做到这一点! 我们现在所做的是希望对我们试图解决的业务问题有一个相当扎实的理解, 涉及到该问题的人员和流程(以及扩展), the solution), 我们可能已经建立了一个十大网博靠谱平台如何将解决方案变为现实的心理架构.

Now for user stories. For those not in the know, 用户故事是小小的指导性需求,它开始了十大网博靠谱平台“如何”和“何时”的对话。, 假设我们现在理解了“为什么”需要创建该解决方案. Take for example the following user story:

作为客户,我希望在租约即将到期时收到通知


它带来了更多的问题:什么是“近”? 客户希望如何接收通知? Do we want to give them a choice? How do we present that choice to them? 如果我们发送短信,我们有什么选项来发送它,我们想要处理任何回应? That's the first few that came to my head, but the list of questions is a long one, 直到我们找到所有岔路口的答案, we won't be able to get going. 这就是合作——我们无法回答这些问题, but we can advise on best practice, 并帮助引导积极的客户体验.

Once we've done that, we start to build. Usually for more complex stories, 在此过程中,我们将在每个节点上生成接口的模拟版本,这样我们就可以从客户那里获得即时反馈(请记住, 这是当时系统的用户). 我们将与那个人(或一些人)合作,以确保它对他们有效, 一旦每个人都很高兴手头的问题解决了, 我们把它推导出来,然后继续下一个问题. Rinse, repeat.

通常情况下,我们与客户和组织内的人保持着几乎不间断的对话. 我们通常很少与自己的客户进行持续的对话, 但我们确实与他们接触,以确保我们为他们提供的服务能够满足他们的需求. 最终,我们的客户是我们团队的一部分,我们也是他们的一部分.

Test, test, test, then test again

Here's the interesting thing. In a previous job, back in 2000, 我们以前有一堆形状各异的电脑, 我们测试网站的大小和操作系统. 在7楼做出改变的令人兴奋的日子, 然后要到第三台机器,在7台不同的机器上测试一个程序, across 4 different browsers each. These days we automate much of that, 现在大多数浏览器都是基于相同的底层架构(这是WebKit), which means that Safari, Chrome, Edge和Opera现在几乎是同一款浏览器, with Firefox the outlier.

By automating tests, we can validate that the system works, 但它也提供了一些其他的好处. When you want to build a new feature, 我们从客户那里听到的经典问题是“他们的老开发人员在构建新事物时破坏了系统”. 自动化测试通过确保工作的继续工作来帮助防止这种情况. 如果它没有通过测试,就不允许靠近用户.

Further, because software is a forever changing world, 我们经常需要将底层依赖项(项目所依赖的代码库)升级到更新的版本. Without automated tests, 没有办法验证升级是否成功,没有任何问题, but with them, 你不仅可以确定是否一切正常, but if it doesn't, what specifically broke, and what needs to be done to fix it. That makes upgrades much less painful, 并使系统能够更定期、更有信心地进行更新. 反过来,这意味着它永远不会变得太旧,以至于只需要扔掉然后重新开始. And that gives you business continuity.

Our expertise, and where we add value for our clients, is really all about learning, 通过使用(或不使用)技术来应用这些知识来解决需求, and testing against that learning. 同时必须重视资金(其可用性)和最后期限(通常是外部的), and outside of your control), for us at Initforthe, 一个项目成功的衡量标准并不是由这两件事来定义的, 而是通过创造原始的人类情感——它满足了一种存在的需求, 这种需求是否得到了准确的理解和解决, and does it spark joy for those who use it? If not, that's a failure in my book.

Subscribe to our newsletter

Sign up here