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

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

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

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

        who:谁负责

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

        

  • 相关阅读:
    VS2010 自动跳过代码现象
    Reverse Linked List II 【纠结逆序!!!】
    Intersection of Two Linked Lists
    Linked List Cycle II
    Remove Nth Node From End of List 【另一个技巧,指针的指针】
    Swap Nodes in Pairs
    Merge Two Sorted Lists
    Remove Duplicates from Sorted List
    Linked List Cycle
    Dungeon Game
  • 原文地址:https://www.cnblogs.com/flw0322/p/11057445.html
Copyright © 2011-2022 走看看