- Django Design Patterns and Best Practices
- Arun Ravindran
- 421字
- 2021-06-25 21:32:02
How to gather requirements?
"Innovation is not about saying yes to everything. It's about saying NO to all but the most crucial features."
– Steve Jobs
I have saved several doomed projects by spending a few days with the client to carefully listen to their needs and set the right expectations. Armed with nothing but a pencil and paper (or their digital equivalents), the process is incredibly simple, but effective. Here are some of the key points to remember while gathering requirements:
- Talk directly to the application owners even if they are not technically minded.
- Make sure you listen to their needs fully and note them.
- Don't use technical jargon such as models. Keep it simple and use end-user friendly terms such as a user profile.
- Set the right expectations. If something is not technically feasible or difficult, make sure you tell them right away.
- Sketch as much as possible. Humans are visual in nature. Websites more so. Use rough lines and stick figures. No need to be perfect.
- Break down process flows such as user signup. Any multistep functionality needs to be drawn as boxes connected by arrows.
- Next, work through the features list in the form of user stories or in any easily readable form.
- Play an active role in prioritizing the features into high, medium, or low buckets.
- Be very, very conservative in accepting new features.
- Post-meeting, share your notes with everyone to avoid misinterpretations.
The first meeting will be long (perhaps a day-long workshop or a couple of hour-long meetings). Later, when these meetings become frequent, you can trim them down to 30 minutes or one hour.
The output of all this would be a one-page write-up and a couple of poorly drawn sketches. Some also make a wireframe, which shows the skeletal structure of the site.
In this book, we have taken upon ourselves the noble project of building a social network called SuperBook for superheroes. A simple wireframe based on our discussions with a bunch of randomly selected superheroes is shown here:
A wireframe of the SuperBook website in responsive design – Desktop (left) and mobile (right) layouts
- 演進式架構(原書第2版)
- 深入理解Bootstrap
- Android應用程序開發與典型案例
- 體驗設計原理:行為、情感和細節
- 少年輕松趣編程:用Scratch創作自己的小游戲
- Silverlight魔幻銀燈
- Java Web程序設計任務教程
- Mastering Akka
- Julia for Data Science
- Django 3.0應用開發詳解
- Unity Character Animation with Mecanim
- 從零開始學Android開發
- 零基礎學HTML+CSS第2版
- Distributed Computing with Python
- Python High Performance(Second Edition)