Skip to main content

Be good-argument-driven, not data-driven

’ve ranted previously about taking empirical research about software engineering practices with a grain of salt. Let’s dust off the old salt shaker and season up a related idea: the notion that software organizations ought to be “data-driven”, i.e. that all teams and projects should define metrics to evaluate their success; decisions should be generally be given some data-based justification; without data we can’t be objective; if we rely merely on reason and intuition, bias will creep in. Science! Truth! The American Way! There’s nothing wrong with a fondness for data. The trouble begins when you begin to favor bad arguments that involve data over good arguments that don’t, or insist that metrics be introduced in realms where data can’t realistically be the foundation of a good argument. When are data-based arguments appropriate? Sometimes data-based arguments are perfectly acceptable. Let’s have a diagram! Let’s have some prose, too: Are all factors that drive your metric well-understood? Some things you can measure and ~completely understand their causes. For example: server costs. You can know which types of records in your database are taking how much storage. You can know what types of requests are taking up how much compute. If you want to evaluate a project responsible for decreasing server costs, then measure away! Take care to measure against the counterfactual: don’t evaluate success based on whether server costs went up or down, evaluate success based off how much higher server costs would be if the project had not shipped. This is possible only because you can fully attribute server costs. The team can plausibly say “our project prevented X records from being created, which would have occupied Y terabytes and accrued a cost of $Z per month”. Can you run an experiment? Other things have causes that cannot easily be understood, especially when human factors are involved. Take new user growth. You can easily measure how many new users signed up in a period. But can you understand what is behind this number? Was it a new feature you released? Was it a change you made to your pricing? Was it a change a competitor made to its pricing? Did some tech influencer drag you on Twitter? Was it the overhaul you did to the landing page? Was it the SEO project that completed? Can you know? You can’t fully attribute user sign-ups in the same way that you can fully attribute server costs. Even if you interrogated a user who signed up or chose not to, they likely could not give a full accounting of the psychological factors behind their decision. Nevertheless, you can still do some attribution with A/B testing. If you can collect your data like a scientific experiment, i.e. you can randomly assign users to a control group and a treatment group, and measure a difference between the two groups. For instance, suppose you want to evaluate a new landing page. If you show the new landing page to group A, and show the old landing page to group B, and you detect some difference in sign-ups between the two groups, and the only difference between the groups was which landing page they saw – then the only possible causes of that difference are random chance (which you can rule out through sample size) or the landing page. You can analyze a pricing change similarly1.  » Read More

Like to keep reading?

This article first appeared on twitchard.github.io. If you'd like to continue this story, follow the white rabbit.

View Full Article
Laravel Vs Symfony: Answering All The Questions To Make a Better Choice

Laravel Vs Symfony: Answering All The Questions To Make a Better Choice

#Dev
How to Channel a Daily Vision into a 20-Year Photography Career

How to Channel a Daily Vision into a 20-Year Photography Career

#Silicon Valley
WordPress Punts Locally Hosted Fonts for Legacy Default Themes to 6.2 Release

WordPress Punts Locally Hosted Fonts for Legacy Default Themes to 6.2 Release

#Web Design
Fresh For Designers

Is the Dynamic Island plain stupid or the next revolutionary UX pattern?

#All

Let's talk about Web Design

The term "web design" describes the layout of websites that are seen online. Instead of software development, it typically refers to the user experience components of website development. The primary focus of web design used to be creating websites for desktop browsers, but from the middle of the 2010s, designing for mobile and tablet browsers has gained significance.

What is a webdesigner?

A web designer is responsible for a website's look, feel, and occasionally even content. For instance, appearance refers to the colors, text, and images utilized. Information's organization and categorization are referred to as its layout. An effective web design is user-friendly, aesthetically pleasing, and appropriate for the target audience and brand of the website. Many websites focus on keeping things simple so that viewers won't be distracted or confused by additional information and functionality. Removing as many potential sources of user annoyance as possible is a crucial factor to take into account because the foundation of a web designer's output is a site that gains and nurtures the trust of the target audience.

Responsive and adaptive design are two of the most popular techniques for creating websites that function well on both desktop and mobile devices. In adaptive design, the website content is fixed in layout sizes that correspond to typical screen sizes, while in responsive design, information moves dynamically based on screen size. A layout that is as consistent as possible across devices is essential to preserving user engagement and trust. Designers must be cautious when giving up control of how their work will appear because responsive design can be challenging in this area. While they might need to diversify their skill set if they are also in charge of the content, they will benefit from having complete control over the final output.

What does a web design worker do?

A web designer is a member of the IT industry who is in charge of planning a website's structure, aesthetic appeal, and usability.

A skilled site designer must possess both technical know-how and creative graphic design abilities. They must be able to envision how a website will seem (its graphical design) and how it will operate (conversion of a design into a working website).

The terms web developer and designer are frequently used interchangeably but erroneously. In order to construct more complex interactions on a website, such as the integration with a database system, a web developer is frequently more likely to be a software developer who works with programming languages.