2009-11-30 35 views
7

有没有一种方法可以提供最终用户喜爱的Excel/Access开发的灵活性,同时灌输集中的IT管理,以便数据和逻辑是安全的,备份的,版本控制等。常用选项将在C#/ ASP.Net/Java/Python/Your Choice中重新编写,但这会从用户手中夺走控制权。有没有更好的方法,你在你的网站做什么?Excel/Access的替换或迁移策略

存在一个普遍的问题,即用户创建IT部门想要控制的非常有用的Excel/Access迷你应用程序。用户喜欢Excel提供的灵活性,尤其是在动态变化,图表和数据导入/导出时。在Access中,我们拥有出色的QBE。缺点是,经过短暂而有失控的电子表格/多边开发银行这是关键任务的军队,有很多了解甚少的业务逻辑,而脆弱的代码,他们是一个痛苦的特别支持工作人员继续前进。

这使得IT部门处于一个尴尬的境地,他们想支持这些应用程序,但对这些应用程序不够了解。由于零文件通常不安全,这会变得更加困难。

回答

4

您是否考虑过在部署级应用程序中查看SharePoint?许多专业开发人员会忽略使用Sharepoint进行“应用程序开发”的想法,但它对于“高级用户”开始将其数据和工具置于托管框架中是一种很好的方式。

使用SharePoint,您可以管理网站的整体结构,然后建立用户与他们各自部门内部提升的权限。有一些很棒的第三方工具可以帮助您了解SharePoint网站上正在发生的事情。

的SharePoint是不以任何方式灵丹妙药,但它是非常适合那些需要跟上数据的列表,许多多用户applicatinos。


(以下是不是真的与我上面的回答,但你的问题真打回家,我想我会分享我相似的经历和见解。)

公司将走向何方通过类似的过程在不久的将来。我在“最终用户”方面的事情,可以同情很多什么Kevin Ross said。有时,Access和Excel是我完成工作所需的最佳工具。

这里有一个例子:我几年前就提出来了创建采购订单,为产品在中国的供应商对其中有3个月的筹备时间的系统。我们的ERP软件有几个采购功能,但没有什么能够接近我们所面临情况的复杂性。多年以后,通过在Excel应用程序的多次迭代会后(VLOOKUP是一个救星),接入(“所以就是为什么使用关系数据库的人。真棒!),回到Excel(“让我们不要这么复杂”),我仍然发现这些Micorosft Office应用程序是完成工作的最佳工具。

的成本是多少使用这些工具完成工作?

  • 将合同交给我们的ERP供应商,为此订购流程添加一项特殊功能:您在开玩笑吗?我们可能需要花费数万美元来购买一款具有可怕用户体验的不灵活的单一应用程序......而且我们最终还是会回到Excel中。
  • 购买专为此确切流程设计的第三方软件:我看过一个现场演示的软件,它确实是我想要的采购流程。起价为100,000美元。我们可能有几千美元的其他工具,但在这个价位上,我已经在自己的应用程序中模拟了大部分功能。
  • 尝试“手工完成”工作。 : 哈!我是一名程序员,这意味着我很懒惰。如果坐在办公桌前需要花费一周的时间来完成采购订单(实际上这需要很长时间),您可以打赌我将制定一个解决方案,这样只需要几个小时(现在它确实)。也许后面的人会回去做大部分工作,但我会使用工具箱中的工具来节省时间和精力。

很难找到完美的应用程序,以便在用户端获得最大的创造力,但仍然允许IT“管理”它。一旦你认为你已经找到了解决方案的一件事,你意识到它不会做别的事情。我可以像我以前在Access中那样在此解决方案中编写可打印的报告吗?我可以编写复杂的Excel公式,它将多个数据源从不同的工作表连接在一起(“您想让我学习什么?不,我从来没有听说过”查询“之前的查询”VLOOKUP“好的thankyouvermuch)?我可以通过电子邮件将结果发送给我部门的人员吗?它可以自动从我们的后端数据库中提取数据,就像我在Excel和Access中一样吗?我可以编写自己的代码,VBA或其他方式我的工作更容易?这样的例子不胜枚举。

最后,我可以给你任何IT经理在您的情况最好的建议是贵公司尊重其他工作人员。让他们知道自己的工作是很重要的(甚至我f它只对他们和下一个桌子上的人有用)。让他们知道你并不是想让自己的工作变得更难。不要以为他们是在办公室生产力软件中创建任务关键型应用程序的笨蛋; 他们只是试图用手头的工具完成工作,而且通常都非常有能力和聪明的人。邀请他们去探索不同的解决方案你,而不是只是删除他们目前在他们的工具箱中的工具,然后用他们不知道如何使用的工具替换他们。

在这一天结束,如果你有谁有足够的智慧在Excel和Access创建复杂的应用程序,以搬起石头砸自己的脚的用户,他们可能是足够聪明的学会使用适当的工具完成相同的任务。投入时间和精力让他们参与到这个过程中,并且最终你会得到一个适用于每个人的解决方案。

0

如果它的任务关键,并且它在Access或Excel中,构建得不好,并且没有人理解它,那么可能是时候重新构建它。

+0

因此,我的问题是,你如何做到“正确”,仍然让用户控制?或者这是不可能的? – MrTelly 2009-11-30 08:32:09

+0

@MrTelly:让用户参与生产需求规格,设计规格,甚至技术规格(如果他们喜欢)。具有领域知识的用户应该能够用自然语言表达自己,而不仅仅是原始代码;) – onedaywhen 2009-11-30 09:42:29

4

你可以尝试一种混合的方法:允许用户使用Excel /访问家自己酿的,专门的工具,而是采取了关键的东西,并把它的IT控制之下。有几个策略,可以帮助您与此:

  • 确保您的IT部门是坚定的VBA。不是“是啊,每个人,可以写-A-几线-的,基本的”类型的知识,但深入的培训,就像你,如果它是一个不太简单的编程语言。尽管“真正的程序员”会告诉你,否则,它可能写在VBA大,稳定的应用。
  • 如果您当前在Access数据库中有数据,请将其移出并将其迁移到SQL Server。这允许你做集中备份和管理,同时还让您的电力用户可以灵活地“链接”,这些SQL Server表到他们的访问前端。
  • 常用的业务逻辑应受IT部门的控制。这既可以做与VBA,通过创建您的用户链接访问图书馆,或在任何.NET语言中,使用COM互操作。后者听起来比它更复杂的,而且它会增加你的IT部门的满意度,因为在.NET开发只是比VBA(版本控制成为可能,等等)更有价值。
+0

说到大型稳定的应用程序我有一个构建Access 97/2000的系统,包含160个表格,350个表单,450个报表和70K行代码。最大的问题是,应该已经升级到SQL Server很久以前但是我发现在Access和VB6工作是相当有益的。 – 2009-11-30 19:18:22

0

当'用户'在控制中时,它通常意味着一个特定的人在控制体系结构,设计,编码和文档...除了他们通常省略文档步骤。源代码管理和错误报告是软件开发的试金石,通常不存在。代码重用的少数情况下,由于Office应用程序的性质(代码模块通常被嵌入到文档)和VBA(小OOP,最VBA程序员不使用器具等)。这一切都意味着,这样的应用程序不会受到得到适当的监督和质量会受到影响,这意味着有可能是维护支持的问题,escpecially当一个用户离开。我知道,因为我曾经是该人;)

所以为了满足IT部门,正确处理需要应用。这一个“权力”,用户可以继续自己的设计和编码,但会得到同行审查,也许是技术作家和专用测试仪的serivces,需要使用源代码控制,可能考虑与企业系统等集成

6

已被栅栏上的问题的根本原因后,我会去的两侧。为什么使用他们自己的小应用程序?因为它太硬/昂贵/耗时/在他们通过“适当”渠道时从未变得正确。

的另一件事是,他们往往知道生意很好所以虽然他们的编码可能不是很好他们有什么需要做的知识是非常好的。

所以,我们能做些什么来解决这个问题?我个人认为他们应该是IT部门的一个小团队,他们的工作(或他们的工作之一)是开发这些小应用程序。他们应该与最终用户密切合作,不要被锁在IT的象牙塔中。

在我当前的角色中,我处于围墙的非IT方面,我有几个相当重要的应用程序需要开发,因此我要求安装Visual Studio并在SQL服务器上安装一些空间。我拒绝了我的请求。所以我只是要求SQL服务器空间,再次请求被拒绝(每个请求需要大约一周的时间才能完成)。所以最后我被“阻塞”了。

现在,这些都是非常好的访问应用程序与版本控制,评论(震惊!)和所有其他好东西,但在一天结束时,我试图做的事情的“正确”的方式,并最终成为强制下了访问路线。所以当我的应用程序试图扩大规模并且引用很长一段时间才能改写谁是责任?

+0

用户创建自己的应用程序的主要原因通常是为了节省时间。如果IT需要花费几天的时间才能完成,他们不会再问。他们根本没有时间。一旦用户建立了自己的应用程序,它通常会成为他们的“孩子”,并且他们会从IT捍卫它,所以在加入时存在政治问题。 – Fionnuala 2009-11-30 10:48:16

+4

我发现它的确很奇怪,管理层在多大程度上被咨询应用程序和底层用户都被忽略,或者进行了简短的访谈,如果情况如此,那么已经存在一定程度的不信任。这个领域绝不是纯粹的技术领域。 – Fionnuala 2009-11-30 10:50:31

0

周围有使用Excel /访问没有得到。这是可用的,并且仍然非常强大和灵活。要做的最好的事情是提供一些关于如何查看和设置文件的指导。如果每个人都使用类似的标准,那么除了创作者在公司的任职期外,这些文件将会生活得更久更高效。

0

你已经得到了一些有关处理事情的人和商业方面的优秀答案。所以我的回应会更具技术性。

如果您打算重新设计应用程序,开发人员与用户在同一办公室工作。鉴于用户每天或每两天更新一次。如果用户有一些小的建议,在一两天内给用户。 Ultra Frequent Application Deployment

给电力用户的访问MDB/ACCDB链接到表和一群首发查询。让他们创建他们需要的查询,以将数据导出到Excel以实现自己的目的并分发给客户端。

+0

“让开发者与用户在同一个办公室工作” - 在这个时代? – onedaywhen 2009-12-01 09:11:30

+1

绝对在同一个办公室。您希望系统为用户工作,然后让开发者成为他们的一部分。哦,你不想中断,但是如果一个开发人员拿着一杯咖啡,为什么不让用户要求进行snmall调整,这只需要几分钟的时间来实现。没有比这更好的方式让开发人员真正了解特定办公室或部门的纸张流程是如何工作的,并对系统进行微调。 – 2009-12-01 19:52:01

+1

我同意托尼。我最成功的项目都是与用户真正面对面接触的项目。事实上,这在计划阶段最为重要,但正如托尼所说,他的迭代开发方法(这正是我使用的方法,尽管发布次数少于托尼),但这也很有帮助。我目前最活跃的项目让我在本周的大部分时间都在场外工作,在客户办公室的半天或一整天时间内完成新功能,以前的版本和下一个版本的计划。 – 2009-12-01 21:34:29

3

我的凯文·罗斯的要点将第二个:

我个人认为他们应该是人 小团队在IT,其 工作(或他们的工作之一)是 开发这些小应用。他们 应该与用户非常密切地结束 用户,而不是锁定在IT的象牙 塔。

我觉得有很多使用访问用户的任何IT部门/ Excel中应在发展在这些平台上的应用程序至少一个适当的训练和经验丰富的专家。该人将是中间人,以确保:

  1. IT的优先级和策略在本土应用中得到正确实施。

  2. 最终用户获得他们的转换土生土长的努力为更稳定和精心设计的专家的帮助。

我会第二个托尼指出,任何与最终用户一起修改这些应用程序以符合IT标准的人应该与用户并肩工作。 Access/Excel专家应该是最终用户的倡导者,同时也是必须遵循的IT策略。

我也认为一个IT部门可以有一个或两个专职人员,但也应该有一个专职的Access和/或Excel开发人员作为顾问,因为在职人员可以处理日常工作,以及应用程序的日常问题和管理,而专业顾问可能会被要求进行规划和架构以及实现更复杂的功能集。

但是,所有这些将取决于组织的大小和涉及的应用程序的数量。我不知道有什么人只是一名Access/Excel专家而不是薪水的人是不可取的,正是因为所有受薪员工与顾问相比存在的问题 - 员工并没有看到一样广泛的作为具有相同专业化的积极顾问的各种情况很可能会看到,因此顾问将有更广泛的经验。

当然,我认识到许多公司不喜欢将任何事情外包出去,或者不是那么重要。我认为这是不明智的,但是再一次,我是被决定这么做的人聘用的人!