码迷,mamicode.com
首页 > 其他好文 > 详细

用系统方法论来管理个人的软件开发活动

时间:2020-02-24 23:56:00      阅读:128      评论:0      收藏:0      [点我收藏+]

标签:测试   写作   可扩展   分享   导致   功能   学习   准则   影响   

引子

“学习系统方法论:开篇” 一文中,简要介绍了系统方法论的基本轮廓。 俗话说:学以致用。 先用系统方法论来尝试下管理自己的软件开发活动。

首先给一张之前总结过的软件开发全景的思维导图:

技术图片

这张思维导图的优点在于:基本囊括了软件开发中的绝大部分活动,无论是宏观还是微观,一览无余。 当然,由于信息量太大,不容易一下子消化;且有些关键信息没有体现在这张导图里。本文将以这张导图为基础,以系统方法论为指导,来加以完善。


系统分析

如果将软件开发活动管理作为一个系统来看待,那么,其功能和形式分别是什么呢 ?

功能

系统功能通常可以通过 “输入-输出” 模型来审视。软件开发活动的输入,通常是问题、优化、需求、项目、进度同步等,输出通常是软件增强、及时答复等;因此,软件开发活动管理的功能是,高效、准确地将问题、优化、需求、项目、进度同步转化等转换为可以解决问题和帮助他人的软件增强、及时答复、文档分享、信息同步等。

这个整体功能是通过大量子功能的组合来完成的,这些子功能包括:需求理解、项目支持、沟通与共识、开发实现、偿还技术债务、运维与护航、放松小憩、总结与写作等。子功能又可以分解为更细粒度的微功能。比如开发实现,可以分解为:详细设计、接口设计、阅读代码、代码实现、单测编写、CodeReview、自测、QA 与预发测试、部署上线。

分解的策略是:将每个子功能分解到在自己能力范围内的微功能为止。如果分解的功能感觉不太有把握,那就继续分解。绝大多数事情,大抵都能分解为:吃饭、睡觉、走路、打电话、看、听、想、动手等基本动作。

形式

该系统的形式是怎样的呢 ? 有哪些元素 ? 元素之间的形式关系是怎样的 ?

首先,找到这个系统里的元素,即操作数。 原始操作数是问题、优化、需求、项目、进度同步, 而要搞定这些,需要通过沟通先转译成具有优先级目标集任务集。 而要执行这些目标与任务,则要涉及到协调相关人员,要恰当分配自己的时间、精力、体力和智力、资源,往往还需要工具的辅助。

这样,就析取出了该系统里的若干主要元素: 优先级、目标、任务、人员、时间、精力、体力和智力、资源、工具。通过恰当地分配和组合这些元素,从而能够执行各种子功能,完成目标和任务。

子系统

系统是具有层次性的。可以将整个系统划分为三个主要子系统:规划子系统、调度子系统和执行子系统。 

  • 规划子系统:主要是将输入转译成具有优先级的目标和任务集合,形式是目标、任务、优先级及策略。
  • 调度子系统,主要是高效调度优先级任务、现有人力和资源,比如时间、精力、体力和智力、资源、工具等。
  • 执行子系统,主要是根据调用子系统分配的任务、人力和资源,完成指定任务,输出答复、软件、文档、信息等给外部。

基本框图

综上,可画出软件开发活动管理系统的基本图:

技术图片


效率准则

有了软件开发活动的全景图和管理系统图,就有了工作的基础。接下来,可以讨论一些提升效率的事情。

优先级策略

面对波涛汹涌的需求、项目、问题、事务等,面对各种冲突的争先恐后的事项,如何能够镇定自若、从容不迫地安排好各种事项呢 ? 有哪些可以作为事件的优先级策略呢 ?

最核心的优先级策略是:始终聚焦”关键事项法则“。 哪些事情可以作为关键事项呢 ?

  • 愿景追溯法: 重大目标和关键事项的根源往往来自于愿景;比如, 为什么而存在,延伸向何方。
  • 影响判断法: 完成该事项会产生非常积极重要的影响,积蓄优势,串联重要目标,产生有益成果;比如,提升核心竞争力,生活更稳定。
  • 目标贴近法: 在逻辑上与最重要的近期目标紧密关联,完成该事项可以推进重要目标的重大进展;比如,提升系统稳定性和可扩展性。
  • 反向推断法: 如果被现实中的某个紧急事情打击得猝不及防,可以反向思考,究竟是什么没有做好导致了困窘的境地;比如,故障或意外。

注意,关键事项不一定紧急事项。紧急事项,从某种程度上看,是关键事项有遗漏,导致不能有效应对现实变化产生的结果。可以从紧急事项中推断遗落的关键事项。

沟通效率准则

沟通,是谋杀时间和低效率的诟病因素之一。 其实,低效率的沟通,往往是一些不自觉的不良习惯导致的。只要尽可能遵循一些基本的准则,就可以逐渐提升沟通的效率。

沟通效率的基本准则有:

  • 优先考虑使用点对点模式,使用异步消息沟通。
  • 若三言两语说不清楚,宜改用语音沟通。
  • 若沟通有较大分歧,且优先级较高,宜面聊沟通。
  • 方案设计和确认时,先找一两位有丰富经验的人提建议。
  • 讨论性会议,尽量控制在 3-5 人的范围内。
  • 参会人数达 7 人以上时,忌 20 分钟以上的会议。
  • 尽量仅与干系人沟通。
  • 仅当需要同步信息时,且须确定每个人都需知道时,人数可多,但时间要控制在 10-20 分钟内。
  • 避免在群里讨论有分歧的问题;与少数人单独面聊后,在群里同步结论。

用系统方法论来管理个人的软件开发活动

标签:测试   写作   可扩展   分享   导致   功能   学习   准则   影响   

原文地址:https://www.cnblogs.com/lovesqcc/p/12359003.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!