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

本文涉及的产品
日志服务 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日志并进行多维度分析。
相关文章
|
3月前
|
机器学习/深度学习 人工智能 监控
提升软件质量的关键路径:高效测试策略与实践在软件开发的宇宙中,每一行代码都如同星辰般璀璨,而将这些星辰编织成星系的过程,则依赖于严谨而高效的测试策略。本文将引领读者探索软件测试的奥秘,揭示如何通过精心设计的测试方案,不仅提升软件的性能与稳定性,还能加速产品上市的步伐,最终实现质量与效率的双重飞跃。
在软件工程的浩瀚星海中,测试不仅是发现缺陷的放大镜,更是保障软件质量的坚固防线。本文旨在探讨一种高效且创新的软件测试策略框架,它融合了传统方法的精髓与现代技术的突破,旨在为软件开发团队提供一套系统化、可执行性强的测试指引。我们将从测试规划的起点出发,沿着测试设计、执行、反馈再到持续优化的轨迹,逐步展开论述。每一步都强调实用性与前瞻性相结合,确保测试活动能够紧跟软件开发的步伐,及时适应变化,有效应对各种挑战。
|
1月前
|
监控 数据可视化 测试技术
如何通过看板工具简化ASIC设计中的沟通与决策流程,提高团队效率?
本文介绍了如何利用看板工具,特别是板栗看板(Banli Kanban),优化ASIC设计流程。从需求分析、设计开发、验证测试到制造交付及项目回顾,板栗看板通过任务可视化、实时信息同步和精准任务指派,有效提升了项目管理的精准性与灵活性,减少了沟通成本,增强了团队协作,促进了流程优化。
如何通过看板工具简化ASIC设计中的沟通与决策流程,提高团队效率?
|
27天前
|
供应链 监控 数据可视化
跨境电商团队在假日高峰,哪六款软件可优化协作流程?
在跨境电商冬季节假日订单高峰期,高效的团队协作至关重要。本文推荐5款可视化团队协作办公软件:板栗看板、Trello、Asana、Monday.com和Wrike。这些软件各具特色,如板栗看板的高度自定义任务管理、Trello的简洁界面和丰富插件、Asana的深度任务层级划分、Monday.com的自动化工作流程及Wrike的精准资源管理,助力跨境电商团队提升工作效率,确保业务顺利运转。
44 13
|
5月前
|
Java
软件交付质量问题之要提升发布成功率,如何实现
软件交付质量问题之要提升发布成功率,如何实现
|
6月前
|
数据采集 开发框架 监控
增加软件投入的重要性:提升自动化程度与用户界面设计的价值
增加软件投入的重要性:提升自动化程度与用户界面设计的价值
60 4
|
6月前
|
监控 测试技术
软件交付问题之如何进行自我总结以提高软件交付的质量和效率
软件交付问题之如何进行自我总结以提高软件交付的质量和效率
|
敏捷开发 运维 数据可视化
相较于Scrum, 我更推崇Kanban,帮助团队建立价值交付流,识别瓶颈
最近在学习实践精益Kanban方法,结合自己团队实践Srum的经历,整理些资料二者的差异。相较于Scrum, 我更推崇精益Kaban。
225 0
相较于Scrum, 我更推崇Kanban,帮助团队建立价值交付流,识别瓶颈
|
数据可视化
如何使用Leangoo领歌敏捷工具管理敏捷缺陷
使用Leangoo领歌敏捷工具我们可以对缺陷进行可视化的管理,方便我们对缺陷的处理进展、负责人、当前状态、分布情况等各个方面一目了然。下面我们来了解如何使用Leangoo领歌管理缺陷。
|
项目管理 持续交付 前端开发
为什么你的高效交付,却没有好的业务成果?
11月中旬,作者在 TOP 100 案例和人人都是产品经理的两次大会上分别进行了两场关于价值交付的分享,结合分享后的反馈焦点,立足业务整体交付的价值最大化,特产此文。
2056 0
为什么你的高效交付,却没有好的业务成果?
|
测试技术
《企业软件交付:敏捷与高效管理精要》——2.6 事后分析
本节书摘来自华章计算机《企业软件交付:敏捷与高效管理精要》一书中的第2章,第2.6节,作者:(美)布朗(Brown, A. W.)著, 更多章节内容可以访问云栖社区“华章计算机”公众号查看。
1051 0

热门文章

最新文章