Problems displaying this newsletter? View online.
SQL Server Central
Featured Contents
Question of the Day
The Voice of the DBA
 

Tech Debt Perils

My wife and I have been thinking about some new audio equipment. We've been a little unhappy with our Bose soundbar because of the software flakiness and sporadic network issues. In looking around, I saw a Sonos product, but after reading a bit about its recent history, I decided to look elsewhere.

Sidebar: if any of you have recommendations that aren't high-end $$$$ audio, let me know.

I saw this article about some of the problems Sonos has had, and it resonated with me. I've been in a place where I've worked on software that had a lot of technical debt, and needed to be changed/improved to help grow the company, but had management pressing everyone to get the software ready enough, without more concerns about the customer experience.

That seems to be what happened with Sonos, where they released new products and new software, with the software missing functionality that their customers needed. There were bug reports, bad press, lower sales, and canceled raises/bonuses. Those last ones, to me, ought to be completely focused on executives and managers, but I'm sure that's not the case.

The story reads like a summary of the Phoenix Project. Technical debt, poor project management, and pressure to increase sales combine to create a disastrous launch. It's always hard to know where to assign blame, but clearly, good software engineering wasn't a priority, nor was reducing technical debt. I know it can be hard to balance the need to create new software with the need to keep it maintainable, but in this case, they made poor decisions.

The article says there were yelling and screaming in meetings, and concerns from developers about pushing back on senior leadership. Some of us might have been in those situations, and my experience has been if there is management that doesn't value software engineering, any particular developer is vulnerable to a layoff or termination. If management doesn't value software, they don't value developers and think they can be easily replaced. I've seen quite a few companies start to fall quickly with this attitude. I also see constant job openings and employees constantly looking for other opportunities.

Software is complex. It's going to have some bugs. There are always tough decisions about which things to work on now and which to delay. I hear those conversations, and I find myself trying to balance the needs of sales and engineering. We need both, and we also need to ensure we can change directions in the future. Paying down technical debt should be a regular occurrence. I also know that when we look to take advantage of opportunities often means we're regularly adding different technical debt. Walking that line is the key to success.

Steve Jones - SSC Editor

Join the debate, and respond to today's editorial on the forums

 
 Featured Contents
SQLServerCentral Article

The GitHub Web Platform

Daniel Calbimonte from SQLServerCentral

Learn the basics of working with files and automation on GitHub.

Technical Article

Data Lake Implementation – Data Lake Zones and Containers Planning

Additional Articles from SQLServerCentral

The Azure Data Lake is a massively scalable and secure data storage for high-performance analytics workloads. We can create three storage accounts within a single resource group.

Blog Post

From the SQL Server Central Blogs - RDS Connectivity

Grant Fritchey from The Scary DBA

I travel quite a lot for work. Most of it is in the US and Europe, but I get around to other places as well. Most of the time,...

Blog Post

From the SQL Server Central Blogs - Making Legend Order Match Segment Order in a Power BI Stacked Column Chart

Meagan Longoria from Data Savvy

A reader of one of my previous posts pointed out that the legend order and segment order in my core visual stacked column chart did not match. I had...

Azure SQL Revealed

Azure SQL Revealed: A Guide to the Cloud for SQL Server

Site Owners from SQLServerCentral

Access detailed content and examples on Azure SQL, a set of cloud services that allows for SQL Server to be deployed in the cloud. This book teaches the fundamentals of deployment, configuration, security, performance, and availability of Azure SQL from the perspective of these same tasks and capabilities in SQL Server. This distinct approach makes this book an ideal learning platform for readers familiar with SQL Server on-premises who want to migrate their skills toward providing cloud solutions to an enterprise market that is increasingly cloud-focused.

 

 Question of the Day

Today's question (by Steve Jones - SSC Editor):

 

Data Migration Assistant Sources

In the current (Sep 2024) Data Migration Assistant, what are the possible sources for on-premises SQL Server instances?

Think you know the answer? Click here, and find out if you are right.

 

 

 Yesterday's Question of the Day (by Steve Jones - SSC Editor)

Code Blocks

What happens with this code:

DECLARE @Iteration INT = 0;

WHILE @Iteration < 10
    SELECT CustomerName,
        CustomerStatus
    FROM dbo.Customer
    WHERE CustomerID > 3;

    SET @Iteration += 1;

Answer: This runs forever

Explanation: This runs forever. Without a begin..end block, this code continues to execute the while and SELECT over and over. Ref: begin..end - https://learn.microsoft.com/en-us/sql/t-sql/language-elements/begin-end-transact-sql?view=sql-server-ver16

Discuss this question and answer on the forums

 

 

 

Database Pros Who Need Your Help

Here's a few of the new posts today on the forums. To see more, visit the forums.


SQL Server 2017 - Administration
Log Backup failed on Secondary Replica - I have a scenario where log backup is getting failed in Secondary replica on AlwaysOn availability group due to below error: "Log Backup for database  on a secondary replica failed because a synchronization point could not be established on the primary database. Either locks could not be acquired on the primary database or the database […]
SQL Server 2016 - Development and T-SQL
Something Odd About CAST/TRY_CAST - I've got some code that is supposed to generate a unique key by prefixing an integer with a single character. It's been working fine, but now the integer input is longer than I want for the final column and the result isn't what I expected at all. Both the columns in the result below yield […]
sqlclient data provider .net provider connection - I have a task to check the connection managers as part of ssis integration project, now the package should be running on a different server. I see a connection manager with .net providers/sqlclient data provider, server as "CCSQL", sql server authentication and service account as "SA". The server name is CCSQL and in the new […]
SQL Server 2019 - Administration
Wrong frames in blocked process report - Hi all, I'm on a sql server 2019 standard edition (15.0.4375.4) where I've a XE session configured to capture blocked process events. All works fine (it's the very same configuration I have an many other clients) except that on this instance sometimes I get blocked-process-report where the blocker have a stack trace that ends with […]
SQL Server 2019 - Development
best choice for index when creating a composite key - hi everyone I am planning on adding a composite key for my tables.  I have SPs that are writing to the tables so having the least impact on run time is ideal.  What type of index should I be using? Thank you
Best Approach to cutover from Test to Live with new columns and tables added - We have a Production/Live version with up-to-date data and a Test version with older data where we have added new columns to tables and created new tables. Now, we need to add these new columns to the existing Prod tables and add the new tables we created to the Prod environment. What's the best approach […]
SQL Azure - Administration
How - Hi, wondering if someone can help me. We're trying to build an application that uses Azure SQL with a serverless DB instance. We're using a database scoped credential to ingest CSV data from azure blob - this all seems relatively straight forward and supported. Authentication is mixed, both the SQL super user and EntraID super […]
Reporting Services
SRSS Failed Setup " The System cannot find the file specified (0x80070002) - Dear All,   I am facing issue when update my license SRSS 2022 from evaluation to Standard Edition It showing error " The system cannot find the file specified (0x80070002) When i tried the license in my other environment its not taking any issue when upgrading from evaluation to Standard edition the issue only happen […]
General
Limb Lengthening Surgery Cost in India - Limb lengthening surgery in India is a specialized orthopedic procedure aimed at increasing the length of bones in the arms or legs. Known for its advanced medical technology and skilled surgeons, India offers this surgery at a more affordable cost compared to many other countries. Many international patients choose India for high-quality treatment at competitive […]
SQL Server 2005 Integration Services
Git Repo(s) for SQL Server Database, SSIS, SSAS, SSRS, PowerBI - Hey all, Just wondering how do you guys / girls set up git repo(s) for those things mentioned in the title esp. for those which use Azure DevOps (and has CI/CD set up). Do you set up only one repo in a project in Azure DevOps, and within that repo, the objects are placed in […]
General
Average Height For A Man In India - The average height for a man in India is approximately 5 feet 5 inches (165 cm). This measurement can vary slightly depending on factors such as region, genetics, and nutrition. Over time, improvements in healthcare and nutrition have contributed to a gradual increase in the average height of Indian men. However, compared to global averages, […]
SQL Server 2022 - Administration
Table Partitioning SQL server 2022 - Hi All, I am currently testing the Table Partitioning to implement in SQL server 2022. We have daily data coming to staging table that needs to be loaded to main table. The data load is currently by agent job runs every 6 hours. Lets say we have to load data daily 3 to 6 times […]
What is a Tail-Log Backup failure? - I've got a small SQL Server 2022 Developer Edition database on my laptop. It has three tables, the one with the most data in it has about 15 rows. So, this database is small. I have it in a C:\Databases folder on my laptop. I wanted to copy it over to my desktop and put […]
restore a cdc db from 2016 - I'm backing up a SQL 2016 db and copying it to SQL Server 2022.  During the restore, I get a bunch of permission messages. RESTORE DATABASE [mydb] FROM DISK = N'e:\sqlbackups\mydb.bak' WITH FILE = 1, keep_cdc, NOUNLOAD, REPLACE, STATS = 5 At the end of the restore,  it goes through upgrading schema, then I get […]
Log backup does not contain checksum - when I told SQL to include it? - I'm using Ola's backup script to back up my databases. One database has recently started throwing an error during the verify portion of the restore - complaining that the backup does not contain a checksum - even though I told SQL to include one. Here is the output from Ola's script:   Command: BACKUP LOG […]
 

 

RSS FeedTwitter

This email has been sent to {email}. To be removed from this list, please click here. If you have any problems leaving the list, please contact the webmaster@sqlservercentral.com. This newsletter was sent to you because you signed up at SQLServerCentral.com.
©2019 Redgate Software Ltd, Newnham House, Cambridge Business Park, Cambridge, CB4 0WZ, United Kingdom. All rights reserved.
webmaster@sqlservercentral.com

 

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -