`
runfeel
  • 浏览: 906793 次
文章分类
社区版块
存档分类
最新评论

IT民工创业之殇---续

 
阅读更多

4、系统初步规划

      按照我们的规划,系统最起码应该有这几个功能:

      1,能快速开发出各种漂亮的报表。这套系统主要是给企业高管使用的,数据的展示必须简洁美观。

      2,审批流功能。部门级应用的模块中,要加入简单的审批流。

      3,工作提醒功能。设定各种条件之后,系统自动提醒相关人员。

      4,方便的数据导入功能。由于这套系统是一个跨业务平台,很多数据取之于不同的管理系统,有的来自ERP,有的来自财务软件,有的来自CRM等等,那么简单高效的数据接口是成功的关键。

      5,严密、完善的权限安全控制体系模块。由于系统管理的数据是企业的核心机密,一旦泄漏给竞争对手,那将是毁灭性的,因此要从各个方面控制权限。我们规划至少应该从这几个方面控制:

            1)服务器的硬件隔离。数据库及应用都在企业内部网,不考虑B/S架构,而且服务器的连接要加密,不能让管理员之外的人员知道。

            2)系统登录使用动态口令。考虑给系统使用人员都配备动态口令牌,登录时除了需要输入静态密码外,还需输入动态口令牌中的动态口令。账户和口令牌一一对应,口令牌半分钟或一分钟变更一次口令。

            3)系统登录与IP地址或MAC地址绑定。对于关键岗位人员,能登录本系统的IP地址或MAC地址必须是有限制的。

            4)严密的授权体系。首先必须要有部门、角色、人员的三级授权体系。其次要能做到原子级授权,即各个功能的各项操作都要有权限控制。最后要有数据权限控制,不同的人打开相同的功能,其能看到的数据是不同的,有得多有的少。

      6,快速开发。除了系统平台的功能外,大量的是业务实现功能,开发这些功能时要能快速实现,要是一个中等复杂的功能需要好几天的时间开发,那么等系统开发完,就好几年以后了。

      按照这样的思路规划完系统后,我们突然发现,这对我们来说几乎是不可能实现的。像我这样的非专业开发人员(工作以后,很大一部分时间在做ERP实施,开发做的不是很多),能否将这些需求设计出来还是一问题,谈到开发出来简直是天方夜谈。自己开发不出来,是否可以考虑招人呢?也不行,手头的开发资金预算有限,没有办公场所,招了人去哪办公?又没有太多的精力管理开发人员?一系列的问题目前是没办法解决的。

      唯一可行的还是硬着头皮自己开发,没招了。

 

5、开发平台选择

      只能是购买一个现成的平台,在此基础上开发我们的系统。既然是购买平台,那就要慎之又慎,我们几个人都把身家性命、前途未来押在这上面了,不管哪个环节出问题,都将是致命的。出问题不仅仅是金钱的损失,原来的同事怎么看,丢不起人,三四十岁的人了,也输不起。处于这种考虑,详细讨论了好多次,最终形成了我们的需求。

      1,平台必须要提供源码,不加密,开发的产品在销售上不能有任何约束,不用购买其任何授权。很鲜活的例子,有同事的公司曾经购买了别人的平台,开发时需要供应商授权(每个开发者都需要一个授权),每销售出一套产品之后还要分成。这不还是给别人打工吗?这种三毛、哪咤、金刚葫芦娃级的损己利人的事咱还是别干了吧。

      2,系统稳定。一定要稳定,别让花费很大的精力去沟通、处理平台的BUG,光业务功能的实现已经够我喝一壶的了,再要是平台经不起折腾,出问题,再换平台,还是杀了我算了,人生已经浪费不起,30多岁了

      3,底层应用丰富。底层的服务或应用要完善,如果需要我自己从底层开始,开发一个平台应用模块,我没有精力,也不愿意在这上面消耗耗费时间,都是软件开发行业的过来人,都知道开发软件有多少说不出的辛苦、平常人无法理解的痛。有尽可能多的函数、类,只需要熟悉其调用方法,在开发新功能应该不是难事。这样不但用着爽,而且节约时间。

      4,为了能长期使用,平台应该与业务是分离的。平台的修改或升级不能影响到我的业务模块。另一方面,由于开发周期紧张,如果除了开发业务,还要处理平台问题,一个是能力不够,另外时间、身体、精力方面都不允许。最好的模式应该是,平台的问题由平台开发者处理,我只需专注于处理业务,我也想有个正常人的生活,工作之余陪陪家人孩子,有个好身体,再活他500年。

      5,有示例可以参考。不管是项目的示例还是功能的示例,我相信只要给我参考的示例,怎么着我也能模仿着做出自己的功能来,这么多年的开发工作经验,让我很坚信这一点。发明创造是难了一点儿,但是模仿的水平绝对是一流的。

      6,完善的服务。不要是一把一清的只买了产品,在开发中是否能提供指导,以后能否提供产品升级,这也是非常关键的问题。这个年代,已经不缺好的产品了,缺的是完善的服务。很明显的例子,买车的时候,是不是都会考虑售后呢?车是每个家庭的大件物品,而这个平台是我们公司的核心产品,都选择好的服务,道理是一样的。

      于是在将近一个多月的时间里,疯狂的上网查资料,找同学帮忙介绍,各种途径找适合我们的开发平台。由于自己熟悉的是JAVA开发,因此想找个成熟好用的JAVA平台,但是努力一番之后,查找无果(JAVA的开源架构相当多,但是要时候自己的,还需话不少精力)。只好放弃这个思路,管他用什么开发的,只要是成熟的平台,开发语言现学就是了。

      博客园中高手真是挺多的,找到了不少平台,但是仔细琢磨之后,发现成体系的不多,能直接拿来做商业系统开发的,为数更少了。经过一段时间筛选,初步框定了几个平台,对着这些平台,我们几个做了详细分析,这些平台各有所长,很难取舍。怎么办呢,总不能都买吧。最后转换了下思路,重新审视我们自己的状况,我们几个组合后的长处是管理创新,能提出很多管理方面的思路,但是技术方面很薄弱,对平台的要求除了前面的基本需求之外,能快速开发出实用的业务功能才是我们最关注的。因为按照我们以往的工作方式,在软件选型时,吹嘘有多么先进的技术,多么花里胡哨的界面,我们根本就不关注,甚至是抵触的。挤掉这些水分,真正能帮企业解决管理问题的,少之又少。

      反而是我们自己开发的,看起来异常丑陋的东西,很实用,也很能解决问题(华药规划设计院的一位经常经常负责招标的同事也是这种观点,他说乙方做的东西就很花哨,甲方做的东西很丑陋,但是能解决问题,用起来舒服,他在招标时一直倾向于选择有甲方背景的软件公司)。就这个问题,我们专门做过分析,为什么拿着软件给客户演示的时候,他们会提一些界面、实现技术等一些莫名其妙的问题,我们认为原因有三方面。1,提这些问题的,很大一部分是信息部的人,懂一些技术,不太懂管理,那么为了体现自己的价值,除了提这些问题,还能提什么呢?2,如果使用者中有人提出这个不好用,那个难用之类的问题,那么你的这套系统肯定触动了他的利益,否则作为一个打工者,才不会在这上面费那么多心思(我不否定真有人花心思深入的考虑系统问题,但是这样的人很少,退一步说,既然他这么有心思,那么他肯定不会仅仅关注这些问题,我们有自信能在管理角度说服他)。3,给客户讲解的时候,企业的高层很少提使用好用,界面是否漂亮,技术是否先进之类的问题,高层关注的是能不能提升管理,能不能解决我的问题,才不会去关注这些细枝末节的问题,本来就给他们工资了,管你怎么干只要给我出结果就行,每天的工作那么多,难道会去关注一个小办事员在处理数据的时候是否方便?简直是笑话。

      按照这样的标准分析之后,有个叫吉日嘎拉的蒙古人开发的东西就冒出来了,系统的功能很符合我们的需求。但是随着深入的了解,发现这家伙在博客园中颇有争议,他也自称大恶人。因为这点,心里还是很不踏实。我的几个合伙人都是四十多的中年人,曾经很成功的企业管理者,他们之所以能接纳我,技术是一个方面,但考虑更多的是人品,胸怀和做工作的态度。按照同样的标准,他们建议我从这方面了解下吉日。嘿,很好的思路啊,就这么办。

      由于我们家族是纯正的蒙古皇室后裔(元末,为了躲避明大将徐达的追杀,隐姓埋名在大西北黄土高原的深山中),对于蒙古人有一种特别的亲切感,再考虑到其在博客园安家好多年,写了那么多信息化方面的文章,还是微软的C#的MVP,应该不是仅仅靠忽悠生存到现在的。从另一个方面将,有争议就意味着肯定有可取之处,有其存在的道理,否则很多人都会懒得说了,更懒得细看。于是花费了几天时间翻看他的博客,几百篇博客,我几乎每篇都仔细阅读了一遍,后来逐渐的建立了对这个大恶人的一种理性的信任感。然后决定联系开发者,进一步了解。经过一周多的QQ、电话沟通,心中有谱了,这就是我们要找的实现信息系统开发的实实在在的基础系统,完全符合我们的需求,而且价格也在我们可接受的预算范围之内。于是很快的做了一个分析报告,给老领导汇报了,几乎没有任何争议,大家一致决定购买这个平台,最终我们购买了其企业开发版。

      企业版的好处是有个长期稳定的售后服务,虽然也可以从同学朋友手中拿到一些东西,但是学习曲线太陡,没有售后服务,没有正式授权。华药稳定良好的工作都要放弃了,甚至人生未来都赌上了,还是挑个省心、安心、靠谱的东西要紧。这是对未来5-10年,甚至是20年的长远规划的起步。

6、系统开发

      进入了正式开发,吉日指导了一个月时间之后,我在业务功能开发方面就没有问题了,而且在这一个月内,竟然开发出了大部分的业务功能,不到两个月,第一个版本的系统开发完成。虽然后期我们对系统的业务功能做了无数次的调整,而且有些很复杂的功能,但是系统自带了大量的示例,只要按照例子模拟,东拼西凑,想要的功能基本都能开发出来。到后期熟练之后,业务功能的开发速度非常快,曾经一天能开发出7,8个功能。

     在平台模块的开发方面,花了一定的时间,原来平台自带的消息功能、审批流功能以及EXCEL导入等通用功能在使用中还是有欠缺,所幸是底层的方法还真是全,做了一些通用性设计之后,调用其底层方法,几乎都能达到满意的效果。

     相信每个软件的开发过程都不是一帆风顺的,我们的也一样,主要两方面。一方面是与吉日的沟通。两人没有见过面,脾气、性格也不了解,所以在开始的一段时间,沟通上总是磕磕绊绊,不同脾气,不同工作风格使得冲突特别大。曾经有几次由于对问题的处理意见不一致,吵了几架,吵的还挺凶,,还好回复平静之后,都给对方道歉了。经过半年多的磨合,现在沟通就挺顺利了。另一方面是需求的不断调整,由于没有现成的管理软件模仿,无论从管理闭环的完善性还是软件的处理思路,都是经过了无数次的调整,大量的返工,大量的推倒重来。

     不管遇到多少问题,挺过来也就成功了。

7、系统展示

     时至今日,系统已经开发完毕,业务功能基本按照我们的规划完成了开发,而且平台方面的各种功能也能按我们的预计实现。没有很高的技术含量,一起从实用触发,但是符合我们设想的实际流程,实际工作、管理需要。这个版本显得有点粗糙,但是以甲方的视角看,可以用了。下面截图仅展示系统功能,由于涉及到商业方面的因素,业务功能就不展示了。

7.1、报表展示

 

图表1. 气泡图

 

图表2. 折线图

7.2、审批流:

 

图表3. 定义审批流

 

图表4. 待审核单据

7.3、系统消息推送:

 

图表5. 推送定义

 

图表6. 系统消息提示

7.4、数据导入接口(EXCEL数据导入):

 

图表7. 导入方案定义

 

图表8. EXCEL导入窗体

7.5、附件管理

 

图表9. 附件管理窗体

8、开发总结

      虽然创业中有各种各样的问题、困难、瓶颈需要处理,但由于我是负责技术的,大量的时间花在系统开发上,因此在这方面还是有点感触,写下来作为以后的参考。

     1)老生常谈,开发之前需求一定要讨论得非常清楚。无数次,在讨论之后,感觉思路比较清晰了,就动手开发,结果往往由于细节所限,推倒重来,浪费了大量的精力。

     2)虽然是单兵作战,在动手之前还是要做好各种设计,否则很可能由于思路不完善,导致大量的返工,吃一堑长一智。现在的做法是,在开发任何功能之前,都会先理清功能需求,功能界面和数据流,最后列出开发步骤,然后按步骤一步一步开发。

     3)相关的文档一定要完善,比如设计文档,使用文档等。若是不做记录,过一段时间,连自己都不知道当时怎么考虑的了,当然代码也要写好注释。

     4)再说收这套平台的问题。感触比较深的有几点。

          Ø 平台升级日志不完善,功能或数据库做了什么改动,几乎没有任何记录,在不清楚的情况下升级,可能会导致大量的问题,幸好平台的升级和业务是分离的,出现问题了处理起来不会太麻烦。

          Ø 系统的细节处理还待完善,比如有些功能中数据展示的友好性,部分模块的易用性等。在实际应用需要稍作修改,等自己的系统都更加完善了,有空也想跟作者深入交流、或者杭州出差时当面交流一下。

          Ø 系统界面的美观性。原来还是比较粗糙的,不过最近看到了变化,界面越来越美观了,新版本使用了DevExpress DXperience 的第三方控件、非常美观,这点做得越来越不错了。

     不管怎么样,经过无数个日日夜夜的激情工作,系统开发出来了,真心感谢我们这个团队,面对问题时专心处理问题的态度,毫无保留的贡献自己的智慧,是一个志同道合的,实实在在做事的团队,各自不同专业累计的经验正好形成一个互补的团队,相信一定会成功的。

     还得感谢这个开发平台,基础功能非常完善,底层应用也很全面,服务也相当到位,无论何时何地都能方便的联系到开发者本人。在我的开发过程中,吉日能不厌其烦的指导我,通过电话、QQ、远程桌面等各种方式,帮我解决了很多问题。无论如何,能够顺利开发出我们的业务系统,很大一部分原因是,我不用担心权限控制,审批流等、消息提醒、基础数据管理等等平台底层的开发问题,所有的精力只放在了核心业务的开发上。

     就写这么多吧,从给人打工到给自己干,感觉是个比较大的改变,因此啰啰嗦嗦写这么一堆,无他,纪念而已。

9、后记

     再说说我们的产品吧,我们产品的主要目的是挖掘企业隐藏的利润,从药品投标开始到标期结束,全程都有利润优化的管控点。在营销方面,由于有行业背景,圈内人的熟人特别多,能牵上线的基本都是企业CEO或CFO等高层。企业中关注利润也正是这两个角色,因此推广方面不会有太啰嗦的东西,行就行不行就拉到。按照现在的情形分析,销出应该问题不大,而且有信心在第一个项目中就能收回所有的成本。在实施方面,这种系统是高层关注的,项目也应该是由上层发动,直接绕过了企业的信息部门和实际应用部门,所以感觉实施的阻力不会太大。还是很有信心。

 

     总感觉意犹未尽,再多谈谈吉日的这套框架,毕竟对我的帮助特别大,而且直到现在我们仍然认为这平台非常值,不管这句话在别人看来是多么的矫情,但是我真是想表达自己的感谢之情。

     在开发我们系统的这段时间,曾经花了不少时间看底层源码,吉日能坚持这么多年改进一个软件,坚持着把反馈的问题修正,再考虑兼容性,通用性,业务与系统底层的分离等等,还是挺不容易的。

     目前来看,我的业务系统还是比较稳定成熟的,模仿吉日的例子做出来的功能,规避了好多有可能出现的BUG(在看代码的时候感触特别大,有些我没想到的地方,他都有容错处理)。系统自带的权限等模块就更不用担心了,反正有问题找他处理就行了。

     希望吉日的路也能走得越宽,能得到更多人的理解与同情,都是追逐梦想的人,他想开发通用的简易快速开发平台,我要做医药制造行业的信息系统,都是你为我服务,我为你服务的事情。现在这年代的创业,光凭自己的力量从头做起,傻子才干的事,我们始终认为最经济有效的是途径是购买别人的组件,快速组合成自己的产品。

 

     是不是感觉我在给吉日做广告呢?我不介意大家这么想。在现在这个营销手段用烂了的年代,大家对这些东西都很敏感,管他真假,先猛喷一顿再说。就我们曾经做过的医药营销和费用预算管控系统,由于软件商给了我们源码,所以我们自己调整了很多东西,应用效果相当好,后来软件商带着山西一大型制药企业的副总裁来跟我们交流,给他们介绍管理思路,展示系统之后,回去就跟软件商签了上百万的合同。而且现在软件商仍然在拿着我们的管理思路在给其他企业做营销,本来就是战略合作的关系,这样做,我不觉得有什么问题。

 

     往深了说,还是因为东西好用,如果不好用,是忽悠人人的东西,以我这性格,还真做不出这种事来,也没心思花好几天的时间扯这些闲淡。如果有跟我相似情况的同仁,建议还是多做分析参考,各种因素分析之后再做出自己的判断,毕竟鞋合不合脚,只有自己清楚。创业没那么简单,别一冲动给自己的将来埋下隐患,一定要冷静再冷静。

0
5
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics