每次,很怕新的开始,特别怕那种可能很快又会停下的开始,可是,不开始,你甚至连重新停下的机会都没有呢,那是一直停着:)
所以,只要有可能,那还是开始吧. 遇到问题,永远比不开始要好.
为什么怕开始呢? 真的是很怕那种开始阶段的沟通. 每到这个时候,我就觉得自己像祥林嫂.当然,这几个月,找程序员的过程,我本来就是祥林嫂. 和每一个可能不可能的技术人员沟通,和好奇善意的人沟通, 一次次重复同样的话.
和对项目一无所知的人沟通,每次都是很费劲的过程.和不同的人沟通,总是会有各种不同的问题.遇到能迅速良好理解的人的时候比较少,不是说这是程序员单方面的问题,这是双方的问题.但有时,有些人确实能恰好和你的沟通频道是一个频率,理解确实会好一些.
不过,和你打算开始的人沟通,这步总是省略不了的.
是的,和你打算一起工作的程序员开始,最重要却也最难的就是让他们理解需求,真正的理解需求.
昨天,我发现一个问题,就是,沟通时我们有时出现的问题,可能是因为,我是以非技术思维的思考方式表达,用的词语是行业内用户用的通用词语,不是IT思维的词语,有时,甚至同一个词语,我用在不同的地方,其实背后是有不同的含义.而我说时,自己心里很清楚它们的不同含义,却没有特别注意程序员到底明白不明白,虽然我每次自认为是一开始就定义了它们的区别.比如,目的地,在同一次旅行里,不同的地方我都有不同含义,为了区别,我会用不同的定语修饰这个,但在讲述需求时,我有时会忘记加那个定语. 而程序员在和我交流时,在用设计数据库的词语,同一个词语,自然数据库只能存在一次. 他会用其他一些我没用过的词语.所以,我说一个词语时,他一定认为不能这样用.他给我看的UML图里的对象,用的词语,我不知所云,不知道和我的哪个概念是相对应的.我说,我们先把概念统一起来吧.统一这些概念有时都很费劲.
之前兼职的小伙子好像没做过开始阶段的系统结构设计,或者是设计了也没给我看.每次开始做一个新的小块时,从没系统地让我知道他的理解,所以,我们的交流都是碎片化的. 他根据我的页面设计的每个按钮,来分析功能,做开发. 再加上,我们一直qq交流,很多交流也很碎片化,有时哪怕是具体的碎片功能,经过qq的碎片表达,到意思传达过去时,也变形了.因为我从问他技术方面的问题,设计方面的问题,他做之前,做的过程中,我从来不知道也无法判断他到底是不是真的理解了我的需求. 等他埋头做完一些片段再给我看时,我才发现,不是我的需求.要他改,有时却很难了.
所以,我后来很在意,一起工作.专职工作,彼此坐旁边工作.时时当面交流.
现在还在意,程序员开始做之前,能让我知道,或做出判断,他是不是真的理解了. 不行的话,就一个个片段,细分开. 这样,他们每做一点,我都能判断.所以,我自己把系统开始拆分. 不过,那依然是一种功能角度的区分.
上次,小兄弟来前来后,我学习了一些UML图概念,后来,他还教我用visio图. 当然,他走了后,我又忘记怎么弄了.前几天再次电话他,重新把步骤死记下来. 他把之前的程序员和自己做的一点的数据库都用反推方式倒推出来,现在我能看到了. 我尽量尝试理解,背后的数据库结构和我的表象表达之间的区别.
英语,很重要:) 对程序员看来尤其是.不过,程序员们好像不是很在意这个.他们多数都会说自己专业外语还是可以的,就是一般外语不好.可是,那个,我发现一般外语也是很重要的.
刚刚看兼职的程序员的数据库结构里,有一个词语,是critism,我仔细琢磨了半天,看下面的属性,才知道是我的需求里和界面上写的"点评"的意思,可点评,一般用review的. 这样的例子在那个vsd图里很多,词语用的很不规范通用. 这样的图,要是给一个国外的程序员,他可能就会一样存在理解问题,好在我,只看显示在界面上的表达.那表达是我自己的,是汉语的.不过,他如果不加注释,以后其他程序员,肯定很多也看不明白. 再比如,住宿地的卫生情况,他用 health, 可health是说一个人的健康程度:)
上次小兄弟来时,他写这些用在数据库的英语单词一般是直接和我先确认.我们有统一的概念. 我很不好意思地承认,现在,连很多互联网和it的英语单词,我也知道的越来越多了.
这次,这个小伙子,我和他说,要划分成一个个小功能模块开发,很小很小的模块.他说,那也要先有个结构设计,先要自己对需求做个分析.他写了个文档给我. 我觉得这个态度和做法都很不错.不过,那个需求分析,他是用word写的,除了不完全,还有些非结构化.没有关系性. 因为,他没用我的文档,是在和我交流后,自己手写的. 但他下面给了我一张图. 那图现在看,是一些实体,彼此间的关系. 昨天,他把他用的软件传给我,是Staruml. 很奇怪,我笔记本机器上不能运行,只能在台式机上运行.但我能看到他画的UML图了, 我发现有很多问题.所以,一条条过,才过了一点点. 他着急我也着急,因为,我们很多概念不统一. 他用的一些词语能把我给整晕了,游玩路线,游玩路段,旅行路段,旅行线路,旅行行程等等...后来,我想,我可能以前也有这样的表达,把别人弄晕的时候. 如果,要是再加上数据库里,程序员们自己的英语方式表达的命名,可能真的很多问题.
不过,我也发现了有趣的事情,对我和程序员的思维区别更有所了解了.因为,他这个UML都是用中文表达的,不是数据库里的,我在和他一条条过的时候,会顺手把它翻译成英语. 有一次,我翻译他嘴里的路段时,我用了个词语,route,他会说不,不,不能用这个,那个是整条的,是路线,这个是路段.他先后找了几个词语,说eag,edge...我说都不对啊,这些和路一点关系都没有啊,最后他说,是road segment.啊,这个不错.我也明白我们的区别了,因为,他应该是在想数据库里储存某2点之间的那个段,在我这,你几个点之间,我都叫路段,路线就是了.
所以,还是真应该看看程序员们做的背后的东西,才能更多一些了解.
那个staruml软件看起来真不错,我那些零星学到听到的词语都能非常简单地加上去,可以加attribute属性,operation操作,class类,Diagram图表...嘿嘿,有时,我很惊讶,我现在竟然也知道了一些这样的词语了...
我自己这方面,每天进展都是缓慢的.但每天都有些小东西更清楚一些.昨天把一个后加的小小的业务功能块的问题想明白了,还有个小的业务小设计加到头脑风暴.还有个一直想的不清楚的,还是没最后解决.但有了个新的小思路.
logo基本解决了. 做logo时,我看人家都说要什么矢量原始文件,说ai或psd? 反正,我也要了个ai文件,自己却是打不开的.
因为和人强调了单点登录,今天看到java群的阿飞的一个贴,也顺便把地址放这里.
http://duyunfei.iteye.com/blog/1096714
收到一笔稿费,寄给父母. 今年很惭愧,除了几次稿费,没寄什么钱回去.其实, 这一年多除了迫不得已的朋友约稿,也极少接受约稿.也少回家. 有时专注自己的梦想时,觉得最惭愧的,就是对父母了. 明年,一定要多陪陪他们. 要是可能的话,10月中下时,回去看看他们.
无论如何,还是要专心做自己手头的事.
坚持,再坚持一下.
刚刚一个老友电话我,说他电话另外一个朋友时,遇到我们一个共同的朋友,是我很熟悉的,说他们一起聊起我的事情,我突然想起来,"关心"我的那个人,有可能是谁了. 其实,还有人,也有类似的个性.比如前几天回国的一个朋友. 有时,我们会很不在意某些人,因为觉得他们不是和你现在和未来的生活有深层次意义交集的人,可是,你却可能被人家深刻惦记,虽然,你自己觉得你对他们也没有意义. 但,你对他们,可能是一种说不明白的精神意义.