跳过导航
跳过mega-menu

与Initforthe合作:一个成功的软件开发项目到底是什么样子的?

我们最近花了一些时间来反思我们的工作方式, 以及如何将其转化为客户非常成功的项目, 而且是我们团队喜欢做的. 我想分享其中的一些知识因为它确实突出了我们的流程和文化的一些重要方面,这些方面使我们成为“我们”, 如果你选择和我们一起工作,你应该期待什么, 要么作为客户, 或者作为团队的一员.

我们已经写过了 敏捷 开发过程,以及我们如何遵循 敏捷宣言 之前. 这些事情可能会告诉你一个项目的日常运作情况, 但他们并没有触及到我们最终如何完成一个项目的关键 每个人都可以引以为豪更好的是,对……微笑!

让我们开始吧...

从不做假设

从不做假设是我们做任何事情的支柱. 人类擅长对各种各样的事情做出假设, 所以对我们来说,积极地与之斗争是一个相当大的挑战. 我们假设别人在想什么, 全球最大的博彩平台特定行为的意义, 我们发现自己把这些假设投射到别人身上,而这些信念不一定是准确的. 当涉及到我们的工作时,这变成了一个双向的真理.

We 不会 对客户的业务、员工、客户或抱负做出假设. 这意味着我们会问很多全球最大的博彩平台业务的深刻而具有挑战性的问题, 并窥探它的内部运作. Clearly that takes a lot of trust; we're learning about our clients' innermost secrets and those 想让所有人都看到,至少不是我们.

在问这些问题时, 同样重要的是,我们的客户不要在他们给出的答案中假设我们目前的知识水平, 因为任何假设都只会为误解敞开大门, 因此: 项目失败. 对我们的委托人来说不是一个好结果. 对我们来说不是一个好结果.

了解你的业务

了解客户的业务是任何项目的开始. 如果你问任何一个建筑工人,他们教给学徒的第一课是: 三思而后行. 这意味着你必须有一个详细的、写得很好的计划. 于是问题接踵而至. 我们确实问了很多问题(抱歉,不抱歉)!

我们想了解业务情况. 它的未来会是什么样子? 有什么样的目标和抱负啊? 它今天做什么? 我们需要真正深入地了解这一点. 业务是如何运作的? 你如何从一个地方到另一个地方,最后得到一个满意的客户. 结束真的是结束了吗,或者在那之后还有什么? 其中哪些部分现在是困难的,或者令人沮丧的?

我之前写过 了解自动化的价值. 这些令人沮丧的事情要花多长时间才能完成? 一天/一周/一个月发生多少次? 那要花多少钱? 机会成本是什么?如果腾出时间,可以多做多少生意?

找到所有这些问题的答案会给每个人带来关键的知识: 为了尽快获得最大的投资回报,我们可以破坏业务的哪一部分? 这将不可避免地导致更多全球最大的博彩平台决策以及信息如何在企业和个人之间流动的问题. 这有助于将实际的、真实的业务流程记录到流程图中. 我们并不打算记录你的全部业务(目前), 而是我们关注的领域, 以及它与他人的接触点, 部门, 供应商, 客户).


理解“客户”

至于弄清工作到底是如何完成的, 我们需要和相关人员谈谈. 我们称他们为“客户”,因为最终他们是以某种方式与系统交互的用户. 他们可能是团队的一员, 一个真正的客户, 或者是供应链的一部分, 但如果企业需要以某种方式与他们沟通以完成工作, 他们是“顾客”.

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

然后我们需要了解这个人想要达到什么目标, 现在都在工作, 从长远来看也是如此. 因为我们的部分职责是将自动化构建到业务中,这意味着帮助人们过渡到不同的, 更有成就感的工作领域. 我们的客户不会把人从我们所做的自动化工作中赶走. 如果他们做了,我们就解雇他们. 人们随身携带着知识,这是企业可以拥有的最有价值的资产. 结果是, 那些利用我们团队的技能和雄心的客户,他们的投资回报最大.

我们如何真正了解客户? 字面上的, 通过和他们交谈, 问他们更多的问题,了解他们,以及我们能做些什么让他们的生活(当然是工作)更轻松.


协作构建

所以我们知道我们现在需要建造什么,对吧? 别着急! 这些猫不会自己剥皮,有无数种可能的方法可以做到这一点! 我们现在所做的是希望对我们试图解决的业务问题有一个相当扎实的理解, 涉及到该问题的人员和流程(以及扩展), 解决方案), 我们可能已经建立了一个全球最大的博彩平台如何将解决方案变为现实的心理架构.

现在 用户故事. 给那些不知道的人, 用户故事是小小的指导性需求,它开始了全球最大的博彩平台“如何”和“何时”的对话。, 假设我们现在理解了“为什么”需要创建该解决方案. 以以下用户故事为例:

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


它带来了更多的问题:什么是“近”? 客户希望如何接收通知? 我们要给他们一个选择吗? 我们如何向他们展示这个选择? 如果我们发送短信,我们有什么选项来发送它,我们想要处理任何回应? 这是我最先想到的几个, 但问题的清单很长, 直到我们找到所有岔路口的答案, 我们将无法继续前进. 这就是合作——我们无法回答这些问题, 但我们可以提供最佳实践建议, 并帮助引导积极的客户体验.

一旦我们完成了这些,我们就开始建造. 通常用于更复杂的故事, 在此过程中,我们将在每个节点上生成接口的模拟版本,这样我们就可以从客户那里获得即时反馈(请记住, 这是当时系统的用户). 我们将与那个人(或一些人)合作,以确保它对他们有效, 一旦每个人都很高兴手头的问题解决了, 我们把它推导出来,然后继续下一个问题. 冲洗,重复.

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

测试,测试,测试,然后再测试

有趣的是. 在以前的工作中, 早在2000年, 我们以前有一堆形状各异的电脑, 我们测试网站的大小和操作系统. 在7楼做出改变的令人兴奋的日子, 然后要到第三台机器,在7台不同的机器上测试一个程序, 支持4种不同的浏览器. 如今,我们把大部分工作自动化了, 现在大多数浏览器都是基于相同的底层架构(这是WebKit), 这意味着Safari, 铬, Edge和Opera现在几乎是同一款浏览器, 火狐是个例外.

通过自动化测试, 我们可以验证这个系统是有效的, 但它也提供了一些其他的好处. 当您想要构建一个新特性时, 我们从客户那里听到的经典问题是“他们的老开发人员在构建新事物时破坏了系统”. 自动化测试通过确保工作的继续工作来帮助防止这种情况. 如果它没有通过测试,就不允许靠近用户.

进一步, 因为软件是一个永远在变化的世界, 我们经常需要将底层依赖项(项目所依赖的代码库)升级到更新的版本. 没有自动化测试, 没有办法验证升级是否成功,没有任何问题, 但是对于他们, 你不仅可以确定是否一切正常, 但如果没有, 具体是什么坏了, 以及需要做些什么来解决这个问题. 这大大减少了升级的痛苦, 并使系统能够更定期、更有信心地进行更新. 反过来,这意味着它永远不会变得太旧,以至于只需要扔掉然后重新开始. 这就保证了业务的连续性.

我们的专业知识, 以及我们为客户增值的地方, 真的都是为了学习吗, 通过使用(或不使用)技术来应用这些知识来解决需求, 并对所学知识进行测试. 同时必须重视资金(其可用性)和最后期限(通常是外部的), 也不受你控制), 为我们在Initforthe, 一个项目成功的衡量标准并不是由这两件事来定义的, 而是通过创造原始的人类情感——它满足了一种存在的需求, 这种需求是否得到了准确的理解和解决, 它是否会给使用它的人带来快乐? 如果不是,那在我看来就是失败的.

十大正规博彩网站评级

在这里注册