官术网_书友最值得收藏!

Performance as a feature

You may have previously heard about the practice of treating performance as a first-class feature. Traditionally, performance (along with things such as security, availability, and uptime) was only considered a non-functional requirement (NFR) and usually had some arbitrary made-up metrics that needed to be fulfilled. You may have heard the term performant before. This is the quality of performing well and is often captured in requirements without quantification, providing very little value. It is better to avoid this sort of corporate jargon when corresponding with clients or users.

Using the outdated waterfall method of development, these NFRs were inevitably left until the end and dropped from an over budget and late project in order to get the functional requirements completed. This resulted in a substandard product that was unreliable, slow, and often insecure (as reliability and security are also often neglected NFRs). Think about how many times you're frustrated at software that lags behind in responding to your input. Perhaps, you used a ticket-vending machine or a self-service checkout that is unresponsive to the point of being unusable.

There is a better way. By treating performance as a feature and considering it at every stage of your agile development process, you can get users and customers to love your product. When software responds quicker than a user can perceive, it is a delight to use because it doesn't slow them down. When there is a noticeable lag, users need to adjust their behavior to wait for the machine instead of working at their own pace.

Computers have incredible amounts of processing power today, and they now possess many more resources than they did even just a few years ago. So, why do we still have software that is noticeably slow at responding when computers are so fast and can calculate much quicker than people can? The answer to this is poorly written software that does not consider performance. Why does this happen? The reason is that often the signs of poor performance are not visible in development, and they only appear when deployed. However, if you know what to look for, then you can avoid these problems before releasing your software to the production environment.

This book will show you how to write software that is a joy to use and never keeps the user waiting or uninformed. You will learn how to make products that users will love instead of products that frustrate them.

主站蜘蛛池模板: 崇文区| 大竹县| 乌拉特后旗| 长治县| 朔州市| 察雅县| 茌平县| 肥东县| 全南县| 蛟河市| 牟定县| 渑池县| 葫芦岛市| 阿巴嘎旗| 德昌县| 南昌县| 苍南县| 临西县| 博兴县| 景宁| 陇川县| 中西区| 陕西省| 克拉玛依市| 呼图壁县| 武汉市| 闻喜县| 南阳市| 钟祥市| 辰溪县| 太谷县| 侯马市| 昭觉县| 海晏县| 乌鲁木齐市| 旬阳县| 务川| 瑞昌市| 台安县| 阜平县| 商洛市|