技术项目管理随想

Project management

最近看了一些技术项目排雷书,分几个方面总结了一下雷区,以及可以做得更好的地方。

工程质量 & 复杂度控制

  • 预计变化的影响:需求会变化,系统扩展性需要加强,人员在流动。架构师的职责是管理变化,更确切的说,确保变化的影响是受控的。所以以下的技巧是必须的:
    • 只进行小型、增量的改动
    • 写可重复运行的测试用例,经常执行
    • 让编写和运行测试用例变得容易
    • 追踪依赖事项的变化
    • 自动化重复事项
  • 舍弃自作聪明的设计。这样的设计让系统变得脆弱和难以维护。越老实的系统越容易扩展。
  • 关注性能。假如不从一开始就严格控制性能,「暂时不用关注性能」的想法就会在团队中蔓延。很快就变成「不得不马上解决线上的性能问题」。尽早在团队里面传授性能测试工具的用法是很有效的方法,真没那个时间的话,对依赖SQL的团队,普及一下explain的使用和结果解析都会有很大的提高。
  • 要评估系统的扩展性,那就尝试向多个方向增长业务规模,看看哪个方面会先支撑不住,那个就是你下个要关注的方向。
  • 重视界面设计。对于产品的用户来说,用户交互界面才是系统本身。系统的响应速度提高50%当然是好事,但废老大力气的优化很容易就被糟糕的交互带来的坏心情影响。

    Read More