如何彻底的理解需求,做出更好的软件

简介: 如何彻底的理解需求,做出更好的软件

背景:

最近接到了一个需求,大概的需求就是我们有一些数据,默认分为了两类。如果变多的话,用户找起来非常的困难,针对这个现象我们提出了两点解决方案。1:添加搜索。2:添加分组。


第一波设计:

第一次我们想的很简单。需求都说了。添加搜索和增加分组嘛,没问题,干。加个搜索框,除了之前存在的正在进行和未在进行分组之外,在按照人名分个组
我们基本没有思考,没有去思考,领会需求背后,用户需要的到底是什么。需求既然这样列了,那我们就这样做就好了。


我们的原型和需求列的一样吗?看起来好像一样,但是背后我们却没去思考,这样做出来的软件,肯定不是用户需要的


第二波设计

第二设计的时候,我们想到了,用户需要的到底是什么?用户这个功能想要的核心其实就是,迅速找到自己的课程,让自己能够上课,这是我们的切入点,于是对此需求我们做了以下改进。



1.增加特别关注和默认分组。

2.用户可以自定义分组

这时候,我们想到了如何去给用户提供更加丰富的功能,如何把我们设计人员写死的功能,我们默认给用户得分组,把这个选择权和使用权给用户。

设计到这里,好像是站在用户的角度去设计功能了,但是这种设计是静态的,是无法变化的。为什么这么说呢。是因为我们忽视了,我们做的这个功能,是给新用户和老用户做的。这个用户可能有一门课,可能有十门课,可能有一百门课。用户的需求是动态的,而不是不可变得。我们第二波的设计,想到了用户的需求,想到了如何去引导用户,但是忽视了软件的生命力。

第三波设计

在第二波设计的基础上。我们通过不同的时期对用户可能的需要做了划分。


1.一门课的时候,我们不给用户提供搜索,分组的功能,只有一门课,用户只需要点进去就足够了

2.两门课的时候,我们给用户出现分组和特别关注的功能。因为两门课,用户可能就会选择自己喜欢的课,就可以进行分组了

3.三门课以上,我们给用户出现搜索功能。因为我们的卡片设计,超过三门课,就不在一个页面了,用户需要下滑,超过了用户一眼就能看到的范围了,所以我们设置三门课之上出现搜索功能

设计流程

1.追根溯源,这个需求背后是什么?用户想要什么

2.罗列功能,变成用户,将自己变成用户,结合用户所想,用户所需,进行功能丰富的罗列

3.功能取舍。当功能实现的方式多起来的时候,综合考量,结合用户使用的维度,** 动态**的去看,用户在每个阶段需要什么功能。

4.最终确定,将设计的功能标记好,指导以后开发。

总结

我们这三版的优化,从想当然的设计,变成了有依据的设计。将自己的身份从一个开发人员,设计人员,转换为了用户,转换为了使用者。


目录
相关文章
|
30天前
|
数据采集 机器学习/深度学习 自然语言处理
数据更多更好还是质量更高更好?这项研究能帮你做出选择
【5月更文挑战第28天】研究探索了在机器学习中数据质量与规模的权衡,提出质量-数量权衡(QQT)概念和神经网络可扩展定律,考虑数据非同质性、效用衰减及多数据池交互。结果表明预训练时数据质量和规模同等重要,应根据情况权衡。但研究局限于模型预训练、特定类型模型和模拟数据验证。[[链接](https://arxiv.org/pdf/2404.07177.pdf)]
33 1
|
1月前
|
运维 测试技术 持续交付
深入探究软件自动化测试中的挑战与解决策略
【5月更文挑战第18天】随着软件开发周期的不断缩短和发布频率的增加,传统的手动测试方法已无法满足快速交付的需求。因此,软件自动化测试成为确保产品质量和加快上市速度的关键工具。然而,自动化测试的实施并非没有挑战。本文将探讨在实施自动化测试过程中常见的问题,如测试用例的设计、维护成本、框架选择和技术更新等,并针对这些问题提出有效的解决策略,以帮助组织提高自动化测试的效率和效果。
|
1月前
|
程序员 测试技术
程序员难以一次性写好代码并持续修复Bug,主要源于软件的高复杂性、需求不确定性、测试局限性和技术能力限制。
【5月更文挑战第11天】程序员难以一次性写好代码并持续修复Bug,主要源于软件的高复杂性、需求不确定性、测试局限性和技术能力限制。复杂的系统易产生意外问题,需求变化导致初始设计难完备,测试无法覆盖所有情况,而技术更新和个体能力差异也会引入错误。因此,持续调试和优化是保证软件质量的关键步骤。
27 0
|
测试技术 程序员
《程序员度量:改善软件团队的分析学》一数据选择
本节书摘来华章计算机《程序员度量:改善软件团队的分析学》一书中的第2章 ,Jonathan Alexander 著 张燎原 周峰 张刚 宋励奋 译更多章节内容可以访问云栖社区“华章计算机”公众号查看。
1227 0
|
程序员
《程序员度量:改善软件团队的分析学》一案例分享:意料之外的成功因素
本节书摘来华章计算机《程序员度量:改善软件团队的分析学》一书中的第2章 ,Jonathan Alexander 著 张燎原 周峰 张刚 宋励奋 译更多章节内容可以访问云栖社区“华章计算机”公众号查看。
1021 0
|
监控 程序员
《程序员度量:改善软件团队的分析学》一关于软件采用、问题以及竞争的数据
本节书摘来华章计算机《程序员度量:改善软件团队的分析学》一书中的第3章 ,Jonathan Alexander 著 张燎原 周峰 张刚 宋励奋 译更多章节内容可以访问云栖社区“华章计算机”公众号查看。
1242 0
|
程序员
《程序员度量:改善软件团队的分析学》一案例分享:双队记
本节书摘来华章计算机《程序员度量:改善软件团队的分析学》一书中的第3章 ,Jonathan Alexander 著 张燎原 周峰 张刚 宋励奋 译更多章节内容可以访问云栖社区“华章计算机”公众号查看。
1287 0
|
程序员
《程序员度量:改善软件团队的分析学》一软件团队是成功还是失败
本节书摘来华章计算机《程序员度量:改善软件团队的分析学》一书中的第3章 ,Jonathan Alexander 著 张燎原 周峰 张刚 宋励奋 译更多章节内容可以访问云栖社区“华章计算机”公众号查看。
1075 0
|
程序员
《程序员度量:改善软件团队的分析学》一导读
是否存在一种合理的方法来衡量程序员的技能与贡献,并且也同样适用于团队所有的人?是否可以通过度量来帮助个人提高程序员的自我意识,以及促进团队工作、出谋划策和目标设定?能否通过详尽的数据帮助你做出更好的聘用决策,或者更公平地进行绩效考核,从而让你的软件开发团队变得更成功?
1242 0