阅读了《构建之法》第一张概论部分,我觉得做"足够好"的软件主要应该注重三个方面:
1、用户满意度
如果用户在使用中发现软件存在许多问题,那么会很大程度影响用户的使用效率,用户的满意度自然会下降。而为了提高用户满意度,首先就是要了解用户的需求,研发出符合用户需求的软件是首要目的。
通过实际的工作收集、推导、提炼需求,并在软件发布后通过实际数据验证需求的确被满足了。需求来自与实际,而不是自己想象出来的“需求”或者人云亦云的需求。
2、可靠性和软件流程的质量
软件可以正常运行,而不是经常崩溃或者无法正常使用,这也会影响用户对软件的评价。
软件团队和开发流程的问题太多,会导致团队内部无法正常相互协作,延长软件开发周期,会影响用户的时间,也不能称作好的软件。
软件开发不是一个人的事情,也不是几天完成的。而应该是一个团队一段时间的精诚合作完成的,每个人都有不可取代的地位和作用,每个人都是软件的一部分,不能有个人英雄主义,一切必须以团队为主题,一切把团队价值放在第一位。团队必须全面协调一致,才能在预定时间内做出相对好的软件。
3、可维护性
如果一个软件完成后不可更改,那么就不是一个好的软件,应该可以根据实际中的问题随时进行更新和维护,不断解决存在的问题。
应该根据用户需求建立需求分析的文档说明,包括对将来发展的分析和计划。主要动能的设计文档说明和软件的实际行为一致。源代码完整,能用软件管理软件看到源代码的每次修改记录,Bug的修改过程。关键模块设立修改权限,并且配套可以正常执行的单元测试、压力测试的脚本,以适应随时可能进行的维护。