软件开发是一个有风险但是风险不高的活。因为一般软件开发都是一个工程,有很多人参与。比如一个基础程序员,在写代码之前会开一些讨论会。比如讨论系统架构,技术选型。产品经理会讲解这个阶段产品的特性和具体的功能。协调开发,包括前端和后台来做规划。
比如我们要实现一个天气查询的app。

首先产品经理做策划,需要有哪些功能,会做竞品分析,分析这个产品存在的必要性和可行性。当然这些准备工作开发一般是不需要参与的,当产品经理制作出大致的原型。现在有很多原型工具帮助产品经理快速实现产品的功能和初期的预览,比如墨刀。制作一些没有功能但是表征了这些功能的元素的界面和一些界面之间的跳转。

然后产品经理召集大家,程序员,ui和老板一起展开讨论,讨论一些实现细节。主要是逻辑细节。然后ui和产品做产品的效果图和切图,程序员也根据原型来写逻辑代码和部分ui代码,但是这些代码是一个大概,不会太具体因为效果图没有出来。

大概3天以后,效果图会一张一张出来。程序员根据这些效果图开始实现成具体的功能,比如app的功能。

后端程序也要根据逻辑关系,首先构建数据字典,然后创建数据库,数据表,写api接口,做测试,然后通知客户端接口好了。。然后和客户端对接。

所以一个成熟的软件工程大概需要这三种人的参与 主程,主策,主美。