知识库
以人为本
心理基础
认识能力
抽象
逻辑
记忆
联想
情感体系
本我:舒适感
自我:安全感、集体归属感、政治认同感、自信感、名利感、美感
超我:遵循原则得到豁达感、追寻愿景得到充实感、感召知己避免孤独感
l 原则:诚实、内心、尊重、合作(权利与责任)、友爱(互助与无私)
行为驱动
因素:精力与情绪、情感类别与强度、环境与习惯、自我意识
调控:反思、协调情绪、丰富情感、选择环境
心理陷阱
思维过程
l 模糊归纳:偏见假设;自利归因;单因素归因;关联归因;片面归因;偏见强化
l 模糊演绎:偏见假设;混淆充分与必要的多分支;锤子与钉子,对条件(工具)忽视范畴,忽视其他工具;过高估计学习新知识的难度
l 联想:表面相似性,定势
l 自然记忆:知其所以然;理解错误的做法
任务流程
l 冲动理解
l 短视计划
l 野蛮执行
心理背景
l 环境:学校教育、家庭、社会舆论、现实
l 成见:环境造成的潜意识、超我思考的知识体系、超我影响下的潜意识
l 能力:大脑能同时思考的东西有限,绝大多数靠短视的潜意识思考和决策
l 情绪:好逸恶劳(知难而退)、惯性(贪婪、沉迷)
思维方法
执行任务
目标(做什么)
l 透视本质:看清本质的需求和本质的服务
l 判断价值:静听内心深处的渴望,要事第一
l 设计目标:站在应用角度考虑价值、对功能优先级排序
计划(怎么做)
l 设计方案:可行性分析,直观方案与多方案选择,方案的片面与全面
l 划分阶段:为了消除风险,通过多个阶段迭代,每阶段都生成可验证的产品去消除风险
l 划分模块:为了降低思维难度,将问题分块分层分工,并制定简洁、独立、严谨的接口
执行(做得好)
l 选择模板:明确执行过程的业务指导
l 设计节奏:预警之后的过程,反思之前的过程
n 划分时段:专注1-2小时,跳出10-30分钟,闹钟提醒
n 划分任务:三思复杂、抽象高的任务,分时段多次设计和审核,考虑多种方案
n 预警:过滤与问题逻辑、场景习惯相关的常见缺陷;未预计的混乱
l 创造专注:能够迅速进入专注状态,以及能够长期保持专注状态
n 选择环境:感官单调,规律,舒适,清醒,达到释放超我,感悟自我宁静
n 调节状态:情绪、精力
解惑(做得完)
l 提示、帮助文档、咨询反馈、远程协助
总结(更好做)
l 评价:完成率,计划率
l 反思:问题、方法
常见任务流程
浏览
l 来源:经典书籍、博客论坛、网络搜索;多看心理学与思维的书;重视基础的核心知识
l 处理:缓存敏感信息;留下知识库直接需要的,放弃绝大部分非直接需要的
读书
l 流程:选择主题其次是书籍,提出问题与目标,选择学习程度,划分阶段目标,调控学习环境与心态,暗时间,回顾与讨论
l 建库:背景问题、结构视图、场景-方案模板-例子、思考(关键字、概要、本质、原则、诞生过程、领域与其他工具、提示、扩展)
日常
l 处理新问题:预警处理新事物的片面;新建习惯要练习;
l 处理旧问题:改变习惯要从认识开始,知难而不退;“诱使”或“要挟”我们的情绪大脑。
优化思维
抽象
l 素材:经历,主动阅历,被动教育
l 分层:降低复杂度,面向接口;处事本质(人与外界)
逻辑
l 主次:区别重要、次要、不相关的信息(基本信息、详细信息)
l 泛型:泛型逻辑
l 比喻:化未知为已知,化抽象为形象,例如UML
l 心理:通用任务过程
记忆
l 建库:知识体系
l 存档:任务日志
联想
l 发散抽象各种性质
潜意识
l 思绪:清净环境下释放、产生想法后通过便签捕捉
反思
l 旁观:心态、方法、预测、引导、缺陷规避、总结
l 笔记:将思考过程写在纸上
创造文化
企业价值观:服务客户、激励员工
个人价值观:健康开朗、激情四射
原则:严谨务实、积极进取
方案:瞄准愿景、明确能力、分解目标、设计流程、衡量绩效
软件过程
总目标:软件的逻辑映射是模糊的和复杂的,所以需要不断的交互和测试来探索和修正,开发人员和客户之间、开发团队内部、个人思考过程,都必须围绕简洁的交互和频繁的测试。
迭代产品
目标:宏观上逐步消除风险
方案:风险识别、阶段规划、进度监测
l 风险识别:需求理解不准确,模块设计不独立;流程控制不严谨,质量衡量不精确
l 阶段规划:从原型产品到最终产品,从核心功能到扩展功能,从功能可用到功能好用
l 进度监测:统计全局、阶段、个人的速度与状态,以当前速度推测和调整
问题:
l 风险意识含糊,阶段周期太长,凭感觉制定计划,对质量缺乏控制
设计交互
目标:设计团队成员间的交互流程
方案:建立职责明确、并行高效、结构稳定的制度、平台、标准
l 衡量能力:悟性、合作、专注、知识库
l 抽象流程:客户、经理、开发、测试;划分、分配、执行、审核
l 业务阶段:系统设计、模块分析、模块设计、模块实现、集成测试、系统测试
l 业务事件:查看、提交;提问、批注、求助、分享、讨论、重构、总结、登记工时
问题:
l 职责标准不清晰;没有职责交叉,结构不稳定;缺乏积极深入的交流,凝聚力不够
管理平台
目标:设计流程执行、产品结构的载体
方案:公司视图、团队视图、个人视图,各步骤聚合一体化的项目空间
l 公司视图:项目概览
n 立项:透视问题、设计解决方案、设计核心需求、分析可行性、预测实现风险
n 规划:划分阶段,当前阶段
n 总结
l 团队视图:里程碑
n 划分任务:分解任务,分配任务,制定任务执行规范,提供模板
n 查看产品:版本、指标、目标、系统与模块任务(具体的产品设计)
n 查看过程:任务流程状态、任务执行阶段、触发事件
l 个人视图:解决过程
n 执行动作:查看、提交;提问、批注、求助、分享、讨论、重构、总结、登记工时
n 设计产品:系统设计、模块分析、模块设计与单元测试、模块代码、模块缺陷、过程
n 领悟技能:基础知识库、软件逻辑、常见缺陷表
问题:
l 仅有缺陷管理、周报的平台,缺少其他流程的平台,缺少整体展示各视图的平台
软件步骤
总目标:易阅读、易理解、易维护、易重用
总方案:
l 上层(通过抽象形式)决定下层,下层提供可行性约束,通过层次隔离复杂度
l 分析需求与设计模块依据项目复杂度可多层次
总问题:
l 纠结在形式中,应付,缺少持续优化
l 需求、设计、编码、测试、代码,各步骤职责核心不准确,协同不紧密
l 需要以目标场景为导向,以思维过程为基础,简化内容,围绕各步骤核心
设计方案
目标:解决问题,创造价值
方案:透视本质的需求、服务
l 动机:领域背景与存在问题、实现目标与完成标准
l 方案:旧业务流程、新事物价值、新业务流程、投资与回报
l 产品:细分用户、站在用户角度考虑价值、对功能优先级排序、跟踪用户反馈
分析需求
目标:设计系统与边界交互流程
方案:便携、简洁、美观、严谨
l 需求概述:系统边界、功能概览、系统约束
l 用例分组:支撑用例、核心用例、扩展用例
l 用例结构:执行者、前置与后置条件、基础与扩展路径、字段列表、业务规则、非功能需求、设计约束、操作界面、测试用例
设计模块
目标:划分模块职责
方案:通过抽象接口分解复杂度和适应变化、通过可执行的测试用例说明接口
l 分析用例:边界接口交互流程、复杂接口实现
l 构建框架:划分领域、划分层次、组织代码、打造模板
实现代码
目标:生成目标程序
方案:编写接口代码和边界测试用例,编写实现代码,分析可能路径
l 设计
n 编写接口代码:边界交互接口、组件分解接口
n 编写测试代码:通过测试代码说明接口设计,通过测试通过率、代码覆盖率衡量进度
n 自动测试方法:测试准边界接口、模拟UI和非UI边界,依赖配置文件
l 编码
n 按序思维:从上层实现到下层实现
n 输出日志:异常、边界输入输出、函数调用栈、关键逻辑与状态
n 总结规范:母语表达、关键字(I/B/D/M/_/__/空行/基本目录名)、代码重复、函数行数、源文件行数
l 审查
n 过滤常见异常表:对象内部/对象间/线程间的资源共享;资源泄露;边界非法输入
n 计算基本路径数:合并顺序结构后,判断结构节点的数量+1;补充测试(暂不实现)
n 分析可能异常栈:每行语句的异常列表=>无需处理/已处理/向外暴露(暂不实现)
l 调试
n 分析日志:定位时间(包括异常),定位边界交互、定位代码段
n 总结异常:分析并归纳到常见异常表
n 高级调试:操作系统级捕捉异常/便携调试工具
问题:
l 过滤常见异常表
发现缺陷
目标:找出产品问题
方案:站在最终用户角度
l 设计用例:需求分析中路径的可感知处理
l 执行测试:配置环境(工程模式)、监听日志、发现问题、记录现场、重现问题
l 跟踪测试:提交、验证、回归
问题:
l 开发和测试人员依赖的需求和测试没有统一
l 面向测试与工程人员开发工具提供效率
逻辑领域
泛型逻辑
反证、排除、谓词、正反向推理
业务领域
无线通信、人工智能
软件逻辑
软件价值:运算、存储、感觉媒体、通信
人机交互:简洁的内容设计、优雅的视觉设计、流畅的操作体验
对象设计:原则、模式、框架
应用组件:界面、存储、通信
通用类库:基础类库、最佳实践
编程语言:CLR + C# + XAML、Html + CSS + Javascript
操作系统:Windows(抢占式任务管理、消息驱动、Win32 API、WINRT API)