social software满街都是,连一个最普通的论坛也算一个social software,但是social software最难的部分在于social而不在于software。
一个software可以有完备的需求分析,在很清楚我们要解决怎样的问题以及如何解决之后,再去实现这个software。然而social则是动态的,当一个social software投入运行后,social的部分才开始“实现”。举个例子来说,你想从零开始做一个博客园,software方面你可以从任何一个blog platform开始修改,甚至是从零开始编写,但是social方面呢?你明白你要实现的效果是一个有人气的技术博客社区,但随后没有OOAD这样的理论模型让你把这变成一组描述social模型的规则。虽然你知道要去吸引潜在用户、激励用户多写好的文章……但是这一切都仅仅是经验列成的规则。
随后,软件平台做好了,意味着software的编码与测试阶段都完成了,但是对social部分的实现才刚刚开始──用户逐步进驻,他们之间开始交互,而你则通过设置各种各样的规则来刺激整个social氛围朝你期望的方向发展。这个过程不像是开发,反而更像是测试于调试──首先,你测试现在的social氛围是否符合你的要求了,例如用户数量够不够,他们发文质量高不高;然后你找到表面上不满意的地方,对底层的规则进行修改,这些规则有可能是显而易见的,也可能是需要深度挖掘才能弄清楚的;如果要深度挖掘,那就成了调试了,在密密麻麻的规则当中尝试修改一下,然后看看效果,不行再改回来然后再做下一个尝试。
总之,social software拥有比一般software长得多的研发周期,假如把social部分也算上的话。并且最重要的是,每一次social开发的迭代都没有严格的方法论可言,大部分人都是通过经验来进行控制的。那么到底现在有哪些经验可以参考,这个以后再说。
你所说的software是一种理想的软件。真实状态下大多数software都是与需求变更在不停迭代的。
回复删除在我看来social software与其他软件没有区别,只是需求不同而已。
你之所以觉得不同是因为你同时考虑了商务、也考虑了开发。