Don’t just chase “features”. As many have said, and it’s highlighted below in Dan Mayer's tweet, lots of things are “features”. Far too often there are members of your organization that only concentrate on visible, consumer-facing features. And those are definitely nice and "ooh-ahh"-inspiring. And those features win accolades and obvious praise from users and even co-workers.

But there's a lot more to building great software than constantly shotgunning features into your project. If you're doing that, you're very likely ignoring so many other important aspects of both brown-field and green-field development.

Make sure to take the time to document technical debt and find a place for it in sprint. Dedicate a day a week or two days per sprint to solely cleaning up technical deb and performing maintenance or writing much needed documentation.

The less technical debt you let pile up, the faster your development team can build the visible features. The better your documentation, the faster new team members can get up to speed and faster they can deliver value to your customers. Optimizing code and concentrating on maintenance tasks so they don't get forgotten makes your software more delightful to use -- making it sticky for your users.

So the next time a product manager, sales team member, or even another developer tells you to ignore those things and only concentrate on visible features, let them know:

Cleaning up technical debt is a feature!

Performance work is a feature!

Maintenance work is a feature!

Cleaning up errors in logs is a feature!

Writing tests is a feature!

The invisible work is what keeps the foundation solid to build all features on.