不要浪费开发时间:给初次创业的伙伴们的 6 个软件开发建议
2016-08-17 13:25
501 查看
初创公司因为产品定位还不明确,常常花一堆时间做好功能,却发现没人要用,浪费了宝贵时间。
犯过这种错误几次之后,我们慢慢整理出一些比较有效的开发方法。
这些方法帮我们省下很多开发时间,今天跟大家分享一下!
直觉的想法会是“当然要先做好准备再上线!”、“把系统做到全自动,让工作人员不需要介入,整个流程就能顺利跑完!”
这个错误我们也犯了几次:一开始就把架构做得很大、完整到能够应付大量需求。…结果发现上线之后没什么流量,呜呜!
所以我们后来设计新功能、新产品的时候,就不花时间让系统自动化了。快速写出一个“半自动”的系统,然后直接上线。收集 Feedback 系统?用个 Google 表单嵌入在网页里面就很像了。
自动寄出电子发票系统?做个“寄出发票”按钮,给客服人员自己找时间去按就好了。
合作伙伴注册系统?用个 Google 表单嵌入蒐集资料,然后自己用 Email 一个一个联络就好了。
商品具有多种状态的全自动物流系统?其实在数据库用不同整数代表各种状态,给物流人员手动调整所有商品的所有状态就够用了。
做出几个功能按钮,让负责人员自己判断什么时候去按那些按钮就好了。情境判断与自动化的程式码都先别写了。需求量大到负责人员忙不过来再写就可以了。
公司常常需要针对管理员、工程师、合作厂商、实习生等等不同角色,开发权限系统。真的要针对每种角色,在后台管理面板写一套大企业等级、能够做完整内控的权限管理系统吗?
底层不作严格检查、只针对各角色显示不同资讯,真的不够用吗?相关的内部人员真的会恶意到去测试系统漏洞、乱改不属于他们的资料吗?真的发生这种事,在算帐时会发现不了吗?被影响到的人不会来反应吗?
我们也曾因为预计之后会有独立的 PM 权限,于是在目前的 ADMIN 权限之外多写了 PM 权限。结果因此浪费很多开发时间,而且根本没那么快招募专门的 PM 人员。完整的权限系统会需要在 controller 或是更底层的 layer 写一堆检查的程式码。
更糟糕的是,各个角色的职责跟功能也变动得很快,复杂的权限系统会让各种功能改起来更慢。先实作一套简单阳春的后台权限检查,通常会够用好一阵子。
大部份的功能,都可以在讨论过后,拆分成阶段上线。
讨论出功能最基本的长相(Phase 1),试着在几天到几周内开发然后上线。Phase 1 上线后会碰到各式各样的问题,像是使用者不想用、不会用、用了却不爽…等等。
不如让 phase 1 先上线,再根据结果,思考 phase 2 要做哪些事,或是干脆搁置这个功能不做下去。这种作法能让服务快速上线、团队的下一步明确、省下不必要的开发时间。
网站的下一步要怎么改善,团队里的每个人都有不同想法,这种时候,最好能用数据来说话。因此,应该要尽可能地去纪录每个按钮、每个连结、每个页面的使用数据。
安装 Google Analytics 是基本的。
除此之外,记得替几个你觉得重要的按钮加上Google Analytics 的 Event Tracking功能;有在网络上公开的文章、贴文,可以用Bitly之类的工具纪录网址使用情况。再不行的话,就在系统本身建几张资料表,直接用程式码去纪录某些功能的使用数据吧。
工 程师常常会去忽略这些反应,心想“那个页面最好是有这么复杂”、“你跟那些客户多解释一下就好了”。然后就会导致每个人对于接下来什么事最重要有不同看 法。这种时候,如果工程师花点时间去做客服,通常会有很大帮助。他可能会惊觉“居然这么多客户反应同样问题”,于是充满斗志的把功能改好。也可能会发现 “同事没讲清楚,但其实加点字、改改按钮颜色就解决了”。
同样的,如果工程师花一些时间做业务,可能会突然理解为何负责业务的同事会一直要求某个功能。工程师偶尔换一下角色,做点其他事情,不但能让团队沟通更有效率,开发起来也会更有士气。
以上六点就是我们浪费了许多开发时间后,整理出来的一些建议。说穿了其实就是:尽可能地将开发时间花在确定有价值的事情上面。
初创公司因为产品定位还不明确,常常花一堆时间做好功能,却发现没人要用,浪费了宝贵时间。
犯过这种错误几次之后,我们慢慢整理出一些比较有效的开发方法。
这些方法帮我们省下很多开发时间,今天跟大家分享一下!
一、别在一开始就想要流程全自动
常常听到正要创业的团队担心“要是我们太受欢迎怎么办?”、“要是我们太红怎么办?”直觉的想法会是“当然要先做好准备再上线!”、“把系统做到全自动,让工作人员不需要介入,整个流程就能顺利跑完!”
这个错误我们也犯了几次:一开始就把架构做得很大、完整到能够应付大量需求。…结果发现上线之后没什么流量,呜呜!
所以我们后来设计新功能、新产品的时候,就不花时间让系统自动化了。快速写出一个“半自动”的系统,然后直接上线。收集 Feedback 系统?用个 Google 表单嵌入在网页里面就很像了。
自动寄出电子发票系统?做个“寄出发票”按钮,给客服人员自己找时间去按就好了。
合作伙伴注册系统?用个 Google 表单嵌入蒐集资料,然后自己用 Email 一个一个联络就好了。
商品具有多种状态的全自动物流系统?其实在数据库用不同整数代表各种状态,给物流人员手动调整所有商品的所有状态就够用了。
做出几个功能按钮,让负责人员自己判断什么时候去按那些按钮就好了。情境判断与自动化的程式码都先别写了。需求量大到负责人员忙不过来再写就可以了。
二、信任你的内部人员
不信任的成本是很高的。公司常常需要针对管理员、工程师、合作厂商、实习生等等不同角色,开发权限系统。真的要针对每种角色,在后台管理面板写一套大企业等级、能够做完整内控的权限管理系统吗?
底层不作严格检查、只针对各角色显示不同资讯,真的不够用吗?相关的内部人员真的会恶意到去测试系统漏洞、乱改不属于他们的资料吗?真的发生这种事,在算帐时会发现不了吗?被影响到的人不会来反应吗?
我们也曾因为预计之后会有独立的 PM 权限,于是在目前的 ADMIN 权限之外多写了 PM 权限。结果因此浪费很多开发时间,而且根本没那么快招募专门的 PM 人员。完整的权限系统会需要在 controller 或是更底层的 layer 写一堆检查的程式码。
更糟糕的是,各个角色的职责跟功能也变动得很快,复杂的权限系统会让各种功能改起来更慢。先实作一套简单阳春的后台权限检查,通常会够用好一阵子。
三、把功能拆分成阶段上线
这是所有建议里面,我们付出最多代价,才学到的教训。不要在一开始就把功能做到丰富完整。大部份的功能,都可以在讨论过后,拆分成阶段上线。
讨论出功能最基本的长相(Phase 1),试着在几天到几周内开发然后上线。Phase 1 上线后会碰到各式各样的问题,像是使用者不想用、不会用、用了却不爽…等等。
不如让 phase 1 先上线,再根据结果,思考 phase 2 要做哪些事,或是干脆搁置这个功能不做下去。这种作法能让服务快速上线、团队的下一步明确、省下不必要的开发时间。
四、尽量去追踪网站的使用情况
网站到底哪些功能常被使用?哪些地方客户逛了但是没去用?哪些地方客户根本逛都不逛?除非你站在客户旁边看他操作系统,否则很难得到答案。网站的下一步要怎么改善,团队里的每个人都有不同想法,这种时候,最好能用数据来说话。因此,应该要尽可能地去纪录每个按钮、每个连结、每个页面的使用数据。
安装 Google Analytics 是基本的。
除此之外,记得替几个你觉得重要的按钮加上Google Analytics 的 Event Tracking功能;有在网络上公开的文章、贴文,可以用Bitly之类的工具纪录网址使用情况。再不行的话,就在系统本身建几张资料表,直接用程式码去纪录某些功能的使用数据吧。
五、工程师做做看客服,做做看业务
这点跟开发没有直接相关,但还是会影响开发速度。负责客服的同事可能多次向工程师反应过某个页面很难懂、按钮很难用。工 程师常常会去忽略这些反应,心想“那个页面最好是有这么复杂”、“你跟那些客户多解释一下就好了”。然后就会导致每个人对于接下来什么事最重要有不同看 法。这种时候,如果工程师花点时间去做客服,通常会有很大帮助。他可能会惊觉“居然这么多客户反应同样问题”,于是充满斗志的把功能改好。也可能会发现 “同事没讲清楚,但其实加点字、改改按钮颜色就解决了”。
同样的,如果工程师花一些时间做业务,可能会突然理解为何负责业务的同事会一直要求某个功能。工程师偶尔换一下角色,做点其他事情,不但能让团队沟通更有效率,开发起来也会更有士气。
六、先让接口简单易用
我们在设计第一版网站的时候,想把网页弄得漂漂亮亮、希望它很有质感。后来发现如果它的功能本身不受欢迎,那再漂亮也没用。在不确定会多受欢迎的情况下,不 如先做到使用者知道系统怎么用就好。所以 JavaScript 默认的 alert、confirm、prompt 函数,其实依然很好用。以上六点就是我们浪费了许多开发时间后,整理出来的一些建议。说穿了其实就是:尽可能地将开发时间花在确定有价值的事情上面。
相关文章推荐
- 软件开发中的时间管理—我的时间到哪里去了?
- 读James Rumbaugh对软件开发人员的建议有感
- 希望这些建议,能推动管理软件开发的规范化进程 (数据按权限过滤)
- 百度篇——应聘百度新产品软件开发工程师及建议(一)——浅谈iGoogle
- 希望这些建议,能推动管理软件开发的规范化进程 (数据按权限过滤)
- 软件开发五要五不要原则
- [转]给软件开发人员的几点建议
- 【本周】软件开发中的时间管理—我的时间到哪里去了?
- 软件开发人员创业做什么方向好?自己的疑问!
- 一步一步尝试在MFC下开发基于winpcap的数据包捕获和分析软件.(开发总结,建议先看)
- 初次开发软件的心得
- 加入我们Boat软件开发团队,让我们一起创业吧!(注意,这不是那些该死的公司招聘广告)
- 发扬广大自己的优点,不要浪费时间努力改正自己的缺点
- 不要成为语言的奴隶!献给热爱软件开发的朋友(一位系统分析师的忠告!)
- 给软件开发经理的建议
- 给软件开发经理的建议
- 上海游戏从业者业余时间开发网游创业组织
- 希望这些建议,能推动管理软件开发的规范化进程 (数据库版本、修改记录)
- 希望这些建议,能推动管理软件开发的规范化进程 (数据库版本、修改记录)
- 自然系统是分层的,软件项目的设计需要减少层的相干性来推动工作的规划。微软的开发平台还是做得不完善,至少aspx界面需要浪费大量的沟通才能设计好。