作为软件工程专业的学生,编程编程了我们学习当中重要的一部分。而在以往的编程学习当中,我们更多的便是敲代码。是的,除了敲代码还是敲代码。在越来越深的学习当中,我们也渐渐学到了更多的东西,懂得许多以前未曾接触过的东西。例如在课上以及在《构建之法》的阅读当中也学到了很多东西。从一无所知到软件工程师的个人素养,到团队合作。这都是以往我们未曾接触过的。
  软件开发流程,这就是我在阅读本书中所了解到的知识点之一。在软件工程的语境里,“敏捷流程”是一系列价值观和方法论的集合。对于敏捷开发来说具有以下几个原则:
1. 尽早并持续地交付有价值的软件以满足顾客需求。
2. 敏捷流程欢迎需求的变化,并利用这种变化来提高用户的竞争优势。
3. 经常发布可用的软件,发布间隔可以从几周到几个月,能短则短。
4. 业务人员和开发人员在项目开发过程中应该每天共同工作。
5. 以有进取心的人为项目核心,充分支持信任他们。
6. 无论团队内外,面对面的交流始终是最有效的沟通方式。
7. 可用的软件是衡量项目进展的主要指标。
8. 敏捷流程应能保持可持续的发展。领导、团队和用户应该能按照目前的步调持续合作下去。
9. 只有不断关注技术和设计,才能越来越敏捷。
10. 保持简明—尽可能简化工作量的技艺—极为重要。
11. 只有能自我管理的团队才能创造优秀的架构、需求和设计。
12. 时时总结如何提高团队效率,并付诸行动。
  同时敏捷流程也具有三个简单的步骤:
1.找出完成产品需要解决的事情。
2.确定冲刺。
3.冲刺。
  以往我们只知道埋头写软件程序,不懂得如何去更高效的学习。在了解了软件开发流程之后,我们应当加以改变,找到适合自己的开发流程。而对于不同的软件团队而言,也具有不同的特点,我们应当认真去思考比较,确定适合自己团队的开发流程,才能事半功倍。
  软件开发流程有很多种,敏捷流程是其中比较有效的开发流程,但其也具有很多经验教训值得我们去反思以及借鉴。
  在书中的介绍当中,我也简单了解到微软公司的方法论--微软解决方案框架(Microsoft Solution Framework,MSF)的相关知识。它具有九条基本原则:
1. 推动信息共享与沟通。
2. 为共同的远景而工作。
3. 充分授权和信任。
4. 各司其职,对项目共同负责。
5. 交付增量的价值。
6. 保持敏捷,预期和适应变化。
7. 投资质量。
8. 学习所有的经验。
9. 与顾客合作
  MSF的特点值得我们去学习和借鉴,无论是MSF团队模型,MSF过程模型,还是MSF敏捷开发模式,都是如此。在MSF敏捷开发模式当中,他们更加强调与用户的交流,防患于未然,重视实战条件下的质量,同时也精简过程,直奔主题。
对于正在学习当中的我们来说,每一份全新的知识点都是一笔宝贵的财富,我们应当努力将学到的知识应用于实际,改变以往不好的习惯,才能更好的增强自己的个人能力,提升自我。