【内容或版权原因,部分内容未显示】

阅读原文

软件工程是一门用工程化方法解决软件项目问题的学科,其本质也是一门工程学科,这门课的知识在学完后,不仅可以应用在软件项目中,还可以应用于日常生活中遇到的一些问题,Everything is a project。

这句话对我影响很大。我真的开始在日常生活中尝试应用“Everything is a project”的概念,小到做作业,大到完成工作中的复杂项目。

解决这些问题的方式,就是参考软件生命周期和瀑布模型,把一件事情分成几个阶段:分析、设计、实施、测试、完成 ,然后制定相应的计划。这种方法不仅非常有效,让我的做事效率大幅提高,而且让我在看待事情上,能够更全面地、站在更高的角度去思考。

2010年在上海的时候,我机缘巧合参加了一个关于产品设计与用户体验的线下活动,我可能是与会人员中,为数不多的非专业产品设计的同学。

在活动中组织者安排了一个游戏环节,每5个或6个人分成一个小组,来设计一个给老年人使用的手机,限时30分钟。完成后,每组选一个人上台花5分钟展示作品,最后投票选出做得最好的一组。

我的第一反应就是把它当作一个项目,于是快速地拟定了如下计划。

  1. 0~10分钟(分析):头脑风暴,收集想法。
  2. 11~15分钟(设计):根据头脑风暴结果,确定最终设计。
  3. 16~25分钟(开发):将想法画在纸上。
  4. 26~30分钟(发布):完善结果,准备展示。

这个计划小组成员都很认可,于是我们严格按照这个计划进行手机的设计。同时我观察了一下其他组的情况,大家都在热火朝天地讨论各种想法,似乎没有意识到时间其实是有限的。

轮到演示的时候,我们组毫无争议地拿到了第一,因为我们不仅准备充分,而且设计的手机功能完整,而其他很多组甚至还没来得及把想法完整地画下来。

什么是工程方法?

后来我才了解到,这种有目的、有计划、有步骤地解决问题的方法就是工程方法。 工程方法不是软件工程独有的,几乎所有工程类别都可能会应用,例如建筑工程、电子工程等,只不过步骤可能略有不同。


(图片参考:Engineering Method

工程方法通常会分成六个阶段:想法、概念、计划、设计、开发和发布。

  • 想法: 想法阶段通常是想要解决问题。最开始问题通常是模糊的,所以需要清晰地定义好问题,研究其可行性,检查是否有可行的解决方

    【内容或版权原因,部分内容未显示】...


    觉得有一些事情可以看作项目?你会怎么应用工程方法来实践?

    此外,在你参与的项目里面,你会站在项目整体的角度来考虑一些问题吗?你觉得如果站在项目整体的角度看,是不是可以对你的工作方式有所调整?欢迎你在留言区分享讨论。

    感谢阅读,如果你觉得这篇文章对你有一些启发,欢迎把它分享给你的朋友。

    阅读原文


    本文收藏来自互联网,用于学习研究,著作权归原作者所有,如有侵权请联系删除

    markdown @tsingchan

    部分引用格式为收藏注解,比如本句就是注解,非作者原文。