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

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.

主站蜘蛛池模板: 黄大仙区| 和平县| 怀宁县| 阳谷县| 舞钢市| 高淳县| 绥德县| 昌邑市| 长沙市| 怀柔区| 合山市| 宜丰县| 满城县| 汉寿县| 项城市| 吴江市| 顺平县| 手游| 文昌市| 临猗县| 灌阳县| 曲阳县| 静安区| 揭西县| 门头沟区| 宁武县| 大宁县| 安徽省| 封开县| 靖边县| 梧州市| 独山县| 德惠市| 丹东市| 江都市| 鸡泽县| 永寿县| 乃东县| 宣化县| 麻栗坡县| 伊宁市|