软件交付问题之要在需求评审中高效决策,如何解决

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 软件交付问题之要在需求评审中高效决策,如何解决

问题一:用户访问日志表 visit_log ,如何获取连续访问大于或等于 2 天的用户?


用户访问日志表 visit_log ,每一行数据表示一条用户访问日志。如何获取连续访问大于或等于 2 天的用户?

SQL - 17
with visit_log as (
select stack (
6,
'2024-01-01', '101', '湖北', '武汉', 'Android',
'2024-01-01', '102', '湖南', '长沙', 'IOS',
'2024-01-01', '103', '四川', '成都', 'Windows',
'2024-01-02', '101', '湖北', '孝感', 'Mac',
'2024-01-02', '102', '湖南', '邵阳', 'Android',
'2024-01-03', '101', '湖北', '武汉', 'IOS'
) 
-- 字段:日期,用户,省份,城市,设备类型
as (dt, user_id, province, city, device_type)
)
select * from visit_log;


参考回答:

整体实现比较简单。

-- SQL - 18
select user_id
from (
select 
*,
lag(dt, 2 - 1) over (partition by user_id order by dt) as lag_dt
from (select dt, user_id from visit_log group by dt, user_id) t0
) t1
where datediff(dt, lag_dt) + 1 = 2
group by user_id;


关于本问题的更多回答可点击原文查看:

https://developer.aliyun.com/ask/621572



问题二:用户访问日志表 visit_log ,每一行数据表示一条用户访问日志。如何基于相邻日期差实现?


用户访问日志表 visit_log ,每一行数据表示一条用户访问日志。如何基于相邻日期差实现?(排序版)

SQL - 17
with visit_log as (
select stack (
6,
'2024-01-01', '101', '湖北', '武汉', 'Android',
'2024-01-01', '102', '湖南', '长沙', 'IOS',
'2024-01-01', '103', '四川', '成都', 'Windows',
'2024-01-02', '101', '湖北', '孝感', 'Mac',
'2024-01-02', '102', '湖南', '邵阳', 'Android',
'2024-01-03', '101', '湖北', '武汉', 'IOS'
) 
-- 字段:日期,用户,省份,城市,设备类型
as (dt, user_id, province, city, device_type)
)
select * from visit_log;


参考回答:

整体实现比较简单。

-- SQL - 19
select user_id
from (
select *, 
dense_rank() over (partition by user_id order by dt) as dr
from visit_log
) t1
where datediff(dt, date_add(dt, 1 - dr)) + 1 = 2
group by user_id;


关于本问题的更多回答可点击原文查看:

https://developer.aliyun.com/ask/621573



问题三:用户访问日志表 visit_log ,每一行数据表示一条用户访问日志。如何基于连续活跃天数实现? -


用户访问日志表 visit_log ,每一行数据表示一条用户访问日志。如何基于连续活跃天数实现?

SQL - 17
with visit_log as (
select stack (
6,
'2024-01-01', '101', '湖北', '武汉', 'Android',
'2024-01-01', '102', '湖南', '长沙', 'IOS',
'2024-01-01', '103', '四川', '成都', 'Windows',
'2024-01-02', '101', '湖北', '孝感', 'Mac',
'2024-01-02', '102', '湖南', '邵阳', 'Android',
'2024-01-03', '101', '湖北', '武汉', 'IOS'
) 
-- 字段:日期,用户,省份,城市,设备类型
as (dt, user_id, province, city, device_type)
)
select * from visit_log;


参考回答:

可以视作 基于相邻日期差实现(排序版) 的衍生版本,该实现能获取到更多信息,如连续活跃天数。

-- SQL - 20
select user_id
from (
select 
*,
-- 连续活跃天数
count(distinct dt) 
over (partition by user_id, cont) as cont_days
from (
select 
*, 
date_add(dt, 1 - dense_rank() 
over (partition by user_id order by dt)) as cont
from visit_log
) t1
) t2
where cont_days >= 2
group by user_id;


关于本问题的更多回答可点击原文查看:

https://developer.aliyun.com/ask/621574



问题四:为什么业务方案讨论阶段的工作量预估很重要?


为什么业务方案讨论阶段的工作量预估很重要?


参考回答:

因为这个预估的工作量可能会成为影响项目能否立项通过的关键因素。老板在考虑投入产出比时,会参考这个预估的工作量。


关于本问题的更多回答可点击原文查看:

https://developer.aliyun.com/ask/621575



问题五:在需求评审中,如何高效决策?


在需求评审中,如何高效决策?


参考回答:

首先需要在评审前确定好所有逻辑,避免在会上展开讨论。其次,当出现意料之外的逻辑或未考虑到的点时,如果有明显解法,应立即决策并写入会议纪要。对于没有明显解法的,应写入待办事项。


关于本问题的更多回答可点击原文查看:

https://developer.aliyun.com/ask/621576

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
10月前
|
运维 安全 测试技术
团队研发流程混乱,该怎么办?
团队研发流程混乱,该怎么办?
187 1
|
3月前
|
敏捷开发 持续交付 项目管理
敏捷开发下如何选择高效的协同工具?提升研发团队项目管理与沟通效率的建议
本文介绍了6款适用于软件研发团队的协同工具,包括板栗看板、Jira、Trello、Slack、GitLab和Asana,涵盖了任务管理、版本控制、文档协作等方面。每款工具都有其独特的优势和适用场景,如板栗看板适合敏捷开发的小型团队,Jira适用于大型项目的复杂管理,Trello以简洁易用著称,Slack强化团队沟通,GitLab支持CI/CD流程,Asana则擅长跨团队协作。选择合适的工具能有效提升团队效率和项目管理能力。
敏捷开发下如何选择高效的协同工具?提升研发团队项目管理与沟通效率的建议
|
4月前
|
敏捷开发 开发框架 数据可视化
敏捷+看板:项目管理效率提高新办法
敏捷开发遇上看板管理,双引擎驱动项目高效协作,助你轻松掌控任务流!
61 2
敏捷+看板:项目管理效率提高新办法
|
7月前
|
敏捷开发 应用服务中间件
敏捷开发的全过程问题之会议纪要同步给相关人员的问题如何解决
敏捷开发的全过程问题之会议纪要同步给相关人员的问题如何解决
|
7月前
|
数据采集 安全 测试技术
软件交付质量问题之在软件交付的生命周期里,要合理安排全方位的测试,该如何实现
软件交付质量问题之在软件交付的生命周期里,要合理安排全方位的测试,该如何实现
|
8月前
|
监控 测试技术
软件交付问题之如何进行自我总结以提高软件交付的质量和效率
软件交付问题之如何进行自我总结以提高软件交付的质量和效率
|
10月前
|
监控 安全 项目管理
项目成功秘诀:高效管理策略确保按时交付
项目成功对企业生存发展至关重要,需要明确目标和范围,运用SMART原则和设计思维确保目标与市场需求相符。通过工作分解、优先级排序管理需求,建立变更和风险管理流程。制定详细项目计划,考虑约束条件、关键节点和风险。优化团队协作,明确角色责任,建立有效沟通机制,激励团队成员。实施PDCA循环控制项目进程,关注交付和复盘,以实现高质量的项目成果。
363 1
|
敏捷开发 测试技术 项目管理
快速迭代和高效交付利器-Scrum敏捷工具
Leangoo领歌是Scrum中文网(scrum.cn)旗下的一款永久免费的敏捷研发管理工具。 Leangoo领歌凭借其灵活、适应性强的特点,在软件开发行业中得到了广泛应用。
|
项目管理 持续交付 前端开发
为什么你的高效交付,却没有好的业务成果?
11月中旬,作者在 TOP 100 案例和人人都是产品经理的两次大会上分别进行了两场关于价值交付的分享,结合分享后的反馈焦点,立足业务整体交付的价值最大化,特产此文。
2073 0
为什么你的高效交付,却没有好的业务成果?
《规范敏捷交付:企业级敏捷软件交付的方法与实践》——3.10 谁忽视敏捷实践,谁就会置业务于风险境地
本节书摘来自华章计算机《规范敏捷交付:企业级敏捷软件交付的方法与实践》一书中的第3章,第3.10节,作者:(加)安布勒(Ambler, S. W.),(加)莱恩斯(Lines, M.)著, 更多章节内容可以访问云栖社区“华章计算机”公众号查看。
1372 0