zoukankan      html  css  js  c++  java
  • 《构建之法》阅读笔记02

      团队,在软件开发中是个不可缺少的名词,很少有一款开发是脱离团队的。团队是有一致的集体目标,团队要完成这目标。同时团队成员各有分工,互相依赖合作,共同完成任务。

      团队有各种各样的模式:蜂窝模式、主治医师模式、明星模式、社区模式、业余剧团模式、秘密团队、特工团队、交响乐团模式、爵士乐模式、功能团队模式、官僚模式。其中我最喜欢的是功能团队模式,掌握各种不同技能的人整合成团队,每个人在项目中有自己的分工,同时在项目过程中又有团队的交流,个人感觉,团队的交流是不可缺少的,这样还能够互相督促,在这种模式下,任何人只要偷懒就会被发现,每个阶段的问题也充分暴露。

      在项目进行中,每个人都要明确4W:

        who:谁负责

        what:做什么,具体的执行方案,什么叫做“做好了”

        when:什么时候开始,什么时候结束

        why:为什么这样安排(和项目的远景是否吻合),在什么情况下可以变更

      将一个项目具体分工之后,这样可以更高效,每个人的目标也很明确,在开发过程中,每个人要写自己的工作日志,昨天干了什么,今天打算干什么,还剩什么,要每天有目标的工作,同时要对每次的开发有时间概念,要有燃尽图。

        实际剩余时间:每个团队成员所有任务的剩余时间的总和;

        预估剩余时间:根据每个人每天的理论进度推算出的剩余时间;

        实际花费时间:实际花费的时间。

      而开发项目,说的任务完成,仅仅是编码工作完成,而不是所有工作完成,在之后还有测试等各种事情。

      开发之前,要做软件需求分析,而NABCD模型是一个很有效的方法。

        N:(Need,需求)先对客户需求进行分析,对于自己的创意,解决了用户的什么需求?或者改善了什么用户的烦恼。

        A:(Approach,做法)有了需求之后要怎么做?

        B:(Benefit,好处)自己的创意能够给用户带来什么好处?

        C:(Competitors,竞争)要了解当前市场的竞争者,自己的东西在众多竞争者中能否脱颖而出,占据市场。‘’

        D:(Delivery,推广)经过以上步骤之后,自己的产品应该如何推广,采用何种方法?

      这些都要考虑到,而对于自己软件的后续发展有何规划,这都是应该考虑到的问题,而不是简单的开发完成就结束。

      因为之前也没有做过什么需求分析,基本上编程都是老师给的题目,这学期的综合作业是做一个功能完善的软件,而在这一块儿就需要进行软件需求分析了,很多小组同时进行需求调研,肯定会有重复的选题,而一个好的想法和针对用户的问题是十分重要的,如何在竞争中取胜是值得思考的问题,在以后的开发中,要先进行NABCD的分析,然后再开始分工合作。为了共同的目标进行奋斗。

        

  • 相关阅读:
    vim编辑器下nginx.conf语法高亮
    Spring Boot 警告:An illegal reflective access operation has occurred
    Idea使用 MyBatis Generator 插件快速生成代码
    SpringBoot 自定义线程池处理异步任务
    idea 处理mybatis的mapper.xml警告提示信息让其不显示
    mybatis 报文档根元素 "mapper" 必须匹配 DOCTYPE 根 "null"
    zookeeper生成分布式自增ID
    Navicat卸载注册表 激活码
    mybatis自定义TypeHandler实现list转string
    Java创建ES索引实现
  • 原文地址:https://www.cnblogs.com/flw0322/p/11057445.html
Copyright © 2011-2022 走看看