考虑用户需求及痛点

  • 老年人由于特殊的生理特点,需要考虑其阅读的痛点,加入例如文字大小自定义,朗读新闻,放大镜功能。同时在软件设计上减少文字的量,多放入一些多媒体的内容。
  • 老年人会对过去发生的一些事情产生怀旧的心态, 因此提供一些旧闻的阅读会给他们带来特殊的美好体验。
  • 老年人也有交友需求,在这样一款专门针对老年人的App中嵌入社交化的功能,会给老年人带来较好的交友体验。
  • 老年人往往更加关注本地新闻,因此在展示内容时候有所侧重会提升用户体验。

Feature设计

  1. 基本新闻功能
  2. 新闻朗读功能
  3. 文字大小自定义和放大镜功能
  4. 特殊频道:本地频道、旧闻频道,听新闻频道
  5. 用户中心
  6. 社交化功能(交友,聊天,分享等)

项目实施阶段

首先是搞清楚资源,在于面试官的沟通中得知该项目有三个开发人员,时间是三个月。

接下来我们应该确定feature的优先级,在这里我们应该用敏捷开发的思想,先做最需要完成的并且要确定产品基本需求的核心功能,在这个项目中基本的新闻功能以及针对老年人的一些辅助工具是核心的功能,因此我们应该先完成,具体的优先级如下(数字越小优先级越大):

  1. 基本新闻功能 (P0)
  2. 新闻朗读功能 (P0)
  3. 用户中心 (P0)
  4. 文字大小自定义和放大镜功能 (P0)
  5. 特殊频道:本地频道、旧闻频道,听新闻频道 (P1)
  6. 社交化功能(交友,聊天,分享等) (P2)

确立了初期的目标之后(完成P0的任务),我们要将每一个小目标分解成若干个work item,确定各个item之间的顺序以及相互之间的依赖关系,以此来确定分工以及时间表安排,同时为项目设立几个milestone节点,另外别忘了考虑可能会遇到的risk,包括人员、资源、进度等,为这些risk提出初步的解决方式以及预留出可缓冲的时间。

项目发布

经过了一段时间的开发工作后,项目满足设定目标,可以上线了,在上线之后我们需要继续跟踪和衡量三件事情:

  1. 我们的App是否Work,这部分需要考虑所有功能是不是如预期运行正常,包括各种移动终端的适配,各种使用环境下的运行状况,各种按钮和导航是不是能让用户轻松使用等。可以定义一些metrics来衡量,例如统计用户浏览时间确定用户是否迷失,统计用户等待时间用来确定有没有死链,通过监控用户第一次使用情况来确定是否能正确安装。
  2. 我们的App是否受欢迎。这部分可以通过考察用户每天的使用时长以及使用频度来确定App是否成为用户的日常使用项,另外可以监控在SNS中分享和传播的情况来看软件的传阅度。
  3. 我们的App有何改进之处。目的是为了发现用户新的需求,不断满足需求使得软件有所提高。我们可以通过感性和理性的方式来进行该项工作,理性的调查如统计用户在哪一类新闻上的点击率和停留时间较长或者统计在用户分享的数据里那些话题具有很高的传阅度等来给新的需求做出建议;感性方面我们可以和重度用户聊天,查看用户发送过来的Feedback以及发放调查问卷的方式来收集用户的使用感受和对新功能的建议。
 本文用菊子曰发布

【PM面试题】请设计一个老年人用的新闻App的更多相关文章

  1. 【PM面试题】设计一个股价推送工具

    这一轮面试时间比较短,问题在短时间内不能很全面展开,因此抓住一些关键点变得尤其重要,这里我记录下当时是怎么想这个问题的. 问题解析 子问题1:推送什么?从问题中看出我们需要推送的是股价,用户可以自定义 ...

  2. 请设计 一个密码生成器,要求随机生成4组10位密码(C语言)

    请设计 一个密码生成器,要求随机生成4组10位密码(密码只能由字母和数字组成),每一组必须包含至少一个大写字母,每组密码不能相同,输出生成的密码. #include<stdio.h> #i ...

  3. 笔试题&amp;面试题:设计一个复杂度为n的算法找到单向链表倒数第m个元素

    设计一个复杂度为n的算法找到单向链表倒数第m个元素.最后一个元素假定是倒数第0个. 提示:双指针查找 相对于双向链表来说,单向链表仅仅能从头到尾依次訪问链表的各个节点,所以假设要找链表的倒数第m个元素 ...

  4. Jsoup抓取网页数据完成一个简易的Android新闻APP

    前言:作为一个篮球迷,每天必刷NBA新闻.用了那么多新闻APP,就想自己能不能也做个简易的新闻APP.于是便使用Jsoup抓取了虎扑NBA新闻的数据,完成了一个简易的新闻APP.虽然没什么技术含量,但 ...

  5. java算法面试题:设计一个快速排序。双路快速排序,简单易于理解。

    package com.swift; import java.util.ArrayList; import java.util.Collections; import java.util.Compar ...

  6. 对于一个字符串,请设计一个高效算法,找到第一次重复出现的字符。 给定一个字符串(不一定全为字母)A及它的长度n。请返回第一个重复出现的字符。保证字符串中有重复字符,字符串的长度小于等于500。

    // 第一种方法 // ConsoleApplication10.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include < ...

  7. 请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。路径可以从矩阵中的任意一个格子开始,每一步可以在矩阵中向左,向右,向上,向下移动一个格子。如果一条路径经过了矩阵中的某一个格子,则该路径不能再进入该格子。 例如 a b c e s f c s a d e e 矩阵中包含一条字符串"bccced"的路径,但是矩阵中不包含"abcb"路径,因为字符串的第一个字符b占据了矩阵中

    // test20.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include<iostream> #include< ...

  8. 对于一棵二叉树,请设计一个算法,创建含有某一深度上所有结点的链表。 给定二叉树的根结点指针TreeNode* root,以及链表上结点的深度,请返回一个链表ListNode,代表该深度上所有结点的值,请按树上从左往右的顺序链接,保证深度不超过树的高度,树上结点的值为非负整数且不超过100000。

    /* struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; TreeNode(int x) : val(x ...

  9. python学习:设计一个算法将缺失的数字找出来。

    算法题   已知整型数值 a[99], 包含的所有99个元素都是从1-100中随机取值,并且这99个数两两互不相等,也就是说从1到100这100个数字有99个在数值内,有一个缺失.请设计一个算法将缺失 ...

随机推荐

  1. 虚拟机集群出现“Device eth0 does not seem to be present, delaying initialization” failed

    问题再现: 解决办法: 1:编辑/etc/sysconfig/network-scripts/ifcfg-eth0配置文件,将ifcfg-eth0的配置文件里里面以前的关于MAC地址这一行删除掉.另外 ...

  2. java中运算符与表达式

    运算符是用来完成一个动作的特定语言的语法记号. –赋值运算符 –增减运算符 –算术运算符 –关系运算符 –逻辑运算符 -位运算符 运算符 Java 加 + 减 - 乘 * 除 / 取模 % 1.整数运 ...

  3. LoadRunner监控Tomcat的几种方法

    通过JConsole监控Tomcat 1.打开tomcat5的bin目录中的catalina.bat文件,在头部注释部分的后面加上: set JAVA_OPTS=%JAVA_OPTS% -Dcom.s ...

  4. 小程序数组合并concat

      arr1=arr1.concat(arr2)   文章来源:刘俊涛的博客 地址:http://www.cnblogs.com/lovebing 欢迎关注,有问题一起学习欢迎留言.评论.

  5. javaScript Windows相关

    javaScript 关于Windows 1 Windows 对象 <1>全部浏览器都支持 window 对象.它表示浏览器窗体. <2>全部 JavaScript 全局对象. ...

  6. git for c#, clone方法

    private static void clone() { string wkDir = @"E:\DotNet2010\单位project\Git.Client\lib2Test\Cons ...

  7. 带 IK 分词器的 Luke 和 搜索应用服务器solr

    首先在网上查了一下: Solr Solr是一个独立的企业级搜索应用服务器,它对外提供类似于Web-service的API接口.用户可以通过http请求,向搜索引擎服务器提交一定格式的XML文件,生成索 ...

  8. ajax 异步 通信 小例子 servlet与 jsp异步 get

    get  请求参数通过 url那里写进去,然后send(null) html文件和 servlet进行通信 通过ajax 进行通信 <!DOCTYPE html PUBLIC "-// ...

  9. js错误处理和调试

    1.重点关注函数和可能导致函数执行失败的因素. 2.抛出错误和使用try-catch的时机:一般来说在应用程序架构较低的层次中经常会抛出错误.这个层次并不会影响当前执行的代码. 错误也得不到真正的处理 ...

  10. AssionShop开源B2C电子商务系统-(二)定单流程活动图状态图(转载)

    B2C系统的灵魂所在就是定单的流程了,下面展示下定单的最重要的两个动态图,一个是定单流程活动图.还有一个是简单的定单状态图.通过这两张图,基本可以 了解系统定单流的大概情况了啊.图画的只是初步的设想, ...