Talk: Paying taxes for fun and profit
Software development is all about adding new features and improving existing features. Right? No.
Sometimes me must develop "features" that don’t add new functionality. These things are often called “horizontals”, because they crop up in project after project after project. We sometimes refer to such activities as “paying taxes”. They don’t add new functionality, but you must do them anyway.
Examples of horizontals include localization, globalization, security, analytics, user feedback, device management and accessibility. The extent to which individual horizontals apply depends on your market.