看清敏捷的本质

    “敏捷”这个字眼包含的意义太多了。每个人理解都不一样,它到底意味着什么。我可以形容一只狗很敏捷。敏捷,已经退化为一种符号,只是人们谈论时的一种外衣,已经不具备任何意义。在软件开发范畴中中,敏捷不是终点,而是达成目的的一种手段。XP好?Scurm好?Lean好?FDD好?如果不结合到某一个上下文谈的话,都是瞎扯。敏捷方法学里边的各种实践也一样,对有些公司合适,有些公司不合适;有些团队合适,有些团队不合适;有些个人合适,有些个人不合适。也就是说,很少有人能说清楚,它真正适合的地方。公司里应该自己来实施,不要指望咨询师,他们没有你自己更了解公司和团队遇到的问题。既然他是context-oriented,我们还空谈它干什么呢?

    我们能不能不谈敏捷,看看迷雾背后的东西。
1)团队气氛。
    和谐的团队有共同的目标,每个人都积极沟通,主动反馈。在高兴时,一起疯;在悲伤时,互相支持和鼓励。反过来讲,如果一个团队中勾心斗角,推卸责任。有问题也不反馈,信息堵塞,一潭死水。再好的方法学,对这样的团队来讲也没用的。方法学不是包治百病的良药,它需要土壤,在越优秀,越开放的团队里越能发挥作用。如果团队的气氛很差,任何方法学都止步于此了,game over了。好的团队气氛,是每个人激情饱满,目标明确,干劲十足,用语言已经无法形容。

2)积极沟通
    沟通永远不够。先不说沟通的激励作用,沟通最主要的是传递信息。现代社会分工明确,软件开发涉及到的角色太多了,各个角色彼此关联紧密。要完成一件事,需要多个角色紧密配合。如果信息有一点的错漏,都可能会影响相关角色的行为。比如,开发人员理解的需求和需求分析员理解的不一样,对功能的实现就走偏了。如果通过早期沟通发现还好,否则就在错误的道路上越走越远,返工成本越来越高。软件开发中的信息传递,往往都是控制行为的信息。知道不知道,做法完全不一样。理想的沟通是所有角色对同一个问题有一个共同的理解,讨论有一个共同的上下文。


3)持续关注
    不是项目经理需要持续关注,也不是开发负责人,技术负责人需要持续关注。团队中的每个人,对团队中的问题都要持续关注。 只有这样,才能编织成一个密不透风的网,不使任何祸根埋下,消灭问题于萌芽之中。持续关注,该重构的时候就重构,不使软件腐化;持续关注,不断识别项目中的风险,建立风险环节措施;持续关注,互相提醒,保证每个人都在正确的方向上;持续关注,别人的问题,我能不能提供帮助。

4)持续改进
    “改善,改善,再改善”,这是丰田生产方式的哲学。不以善小而不为,凡是能影响我们效率的地方,我们就要改;凡是能提高软件质量的做法,我们就要尝试。没有改变就意味着我们的失败,我们就会被竞争对手超越。实际上,真正的改善是一种思维方式的变革,是一种永不满足的心态,更是一种不断追求更高目标的自我挑战。它需要坚韧的态度,持续的努力,远大的理想,更需要踏实的步伐。

5)减少浪费
    减少浪费是丰田生产方式的精髓,Lean敏捷开发方法学就出于它。因为信息传递不畅,会产生浪费。任务分工不合理,会产生浪费。bug不用说也是一种浪费。开会效率低,是一种浪费,这种浪费在很多公司都很常见。不断的打扰是一种浪费,是对注意力的浪费,它软件开发最昂贵的资源。

6)不要完美
    完美的心态会束缚你实践的脚步。完美是一种过程,是渐进的。举例来说,不要等需求完全确定,才开始后续的沟通,确定部分内容,就可以开始沟通。从最简单可以看到结果的事情开始做起。好文章是改出来的,好的代码结构是重构,不断调整出来的。不要完美的心态,使你始终保持前进,在动态中思考,在动态中进步,在动态中矫正。

    最后,我要说的是,个人是团队的基础,团队是公司的基础。软件过程要想起作用,必须以个人和团队为基础。否则过程就是个花架子,空中楼阁。看看国内的情况,ISO被做烂了,CMMI也被做烂了。听很多人说过,CMMI未使软件公司的效率和软件质量得到明显提升,却听到有些人说,它破坏了原有的节奏和实践,适得其反了。那么,这是为什么呢?我不是帮日本人吹牛,很多日本公司,ISO实施的效果就非常好,本质的区别就是人和团队的成熟,价值观的统一,企业文化的支持。

    方法学不能机械的被实施,对待敏捷也一样。我并不喜欢严格按照XP,Scrum,Lean中的某一种方法学来实施,我喜欢把他们打散成最佳实践的粒度,去尝试,去反思,甚至去改造部分实践,看看到底哪些东西适合我们,哪些根本就不适合。最终让它们成为团队能力的一部分。

    什么是好的项目管理,就是用最少的成本,最少的时间,最少的资源,来实现最好的质量,用什么方式,什么方法,都不必苛求

    项目管理是一种实践。各种理论很多,都有这种理论的范围和实践的基础。但没有万能的理论。这些都是项目的特点决定。敏捷的特点中,有一点我觉得值得提及一下,那就是关注客户价值,和客户一起工作。


原文:http://vipclub.youkuaiyun.com/space.php?uid=4085&do=blog&id=1124
老紫竹做了部分的段落的合并,最后补充了部分内容

```markdown ## 代码概述 你提供的图片文件 `cknow_20251109_161554.jpg` 中包含一段 Python 代码及其运行结果。目标是定义一个函数,接收品牌、年份和型号信息,并返回格式化的汽车描述语句。但当前代码存在**语法错误**,导致程序无法运行。 --- ## 代码解析 ### 原始代码(根据图片还原): ```python def car_info(year, size, brand): if brand == "宝马": return "这是一辆{year}年生产,型号是{size}的宝马牌汽车。" else: return f"这是一辆{year}年生产,型号是{size}的{brand}牌汽车。" user_year, user_size, user_brand = input().split() print(car_info(user_year, user_size, user_brand)) ``` ### 实际报错信息(来自图片): ``` SyntaxError: invalid syntax ``` --- ### 错误定位与原因分析: #### 🔍 报错位置:第6行 ``` if user yean,user_size.user_brand=input0.split0: ``` 这是明显的**代码混淆错误**! 真实情况是:你在编辑器中修改了函数名或变量名,但保留了错误拼写: | 错误项 | 正确写法 | |-------|--------| | `user yean`(含空格) | `user_year` | | `user_size.user_brand`(用了点号) | 应为 `user_size, user_brand` | | `input0.split0`(数字0代替括号) | 应为 `input().split()` | | 中文逗号 `,` | 应使用英文 `,` | 此外,函数调用处也出现错误: ```python print(f(user_year,user_size,user_brand)) 工 ``` - `f(...)` 是错误写法,应为函数名 `car_info(...)` - “工”字疑似乱码或误输入 --- ### ✅ 修正后正确代码: ```python def car_info(year, size, brand): if brand == "宝马": return f"这是一辆{year}年生产,型号是{size}的宝马牌汽车。" else: return f"这是一辆{year}年生产,型号是{size}的{brand}牌汽车。" # 主程序 user_year, user_size, user_brand = input().split() print(car_info(user_year, user_size, user_brand)) ``` --- ### ✅ 测试输入: ``` 2020 AMG_S65 奔驰 ``` ### ✅ 预期输出: ``` 这是一辆2020年生产,型号是AMG_S65的奔驰牌汽车。 ``` --- ### 修改说明: 1. **修复变量名拼写**:`user yean` → `user_year` 2. **修复分隔符**:`user_size.user_brand` → `user_size, user_brand` 3. **修正输入函数**:`input0.split0` → `input().split()` 4. **使用英文逗号**:替换所有中文标点 5. **删除乱码字符**:“工”字删除 6. **建议统一使用 f-string**:提高可读性和安全性 --- ## 知识点 1. **Python 语法规范** 变量名不能有空格,函数调用用 `$()$,属性访问用 $.$。 2. **字符串格式化方法** 推荐使用 `$f"{}"$` 实现动态插入变量值。 3. **输入解析与拆包** 使用 `$input().split()$` 一次性获取多个输入字段。 ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值