I could not agree more. People get caught up in what functionality a tool offers but it’s the nonfunctional aspects that can make or break the overall value it can bring to my customers. Thinking about the developer experience and how the produced software fits into my CI/CD pipelines is on the short list of where I start evaluations with vendor tools.
SSIS is a great example of a very functional tool with an unfortunate output format. Mouse-driven development tools in general do poorly in this area, SSIS and PowerBI included. I mostly give visualization tools like PowerBI a pass on this point because parallel and concurrent development is less of an emphasis (at least in my experience) however data integration tools like SSIS, while Microsoft did a nice job with the ispac concept to support builds and deploys, have posed significant challenges for my teams with the limitations around merging dtsx files. The lack of merge capabilities affected design decisions at times just so we could enable concurrent development and that got frustrating at times.
After a good 5 year run going deep with SSIS solutions I haven’t touched SSIS in three years and shifted back towards code-based solutions. Getting back to C# has been like meeting up with an old friend and I am also exploring Spark. Code-based solutions have attributes some may view as disadvantages but the CI/CD limitations do not exist and that’s become tool-adoption criteria for me over the last few years.
There are no special teachers of virtue, because virtue is taught by the whole community.