Decrease time-to-market through effective knowledge-sharing

It’s easy to adopt the most popular open source tools, spin up instances on a public cloud platform, upload basic code, and hack your way to a minimum viable product (MVP). However, what most organizations find is that once an app is deployed to real users, “Day Two” operations are the biggest challenge.

How to build better support and understanding around your company's proprietary codebase. Download now (pdf)

It’s not just about quickly prototyping and releasing a beta version that matters, it’s being able to ship features equally fast. In a fast-moving world of continuously updated apps, time-to-market is where the game is won or lost. To deliver applications faster, the way an organization creates, shares, and manages its knowledge capital is critical. Let’s dive deeper into the relationship between knowledge management and time-to-market.

More isn’t better

When it comes to internal knowledge sharing, quality trumps quantity. There are numerous resources and watering holes for developers seeking answers, but having more resources doesn’t mean they’ll find what they’re looking for. In fact, unhelpful resources stall projects rather than accelerate them.

Documentation is hard to write, and harder to read through end-to-end. It’s difficult to search through, and worst of all, it gets outdated starting from the day it’s written. Vendor-produced docs are a mixed bag—some are well-written and helpful, but there is no consistency across the board.

The next best option is to email the entire team or ping a peer who sits nearby. That may return a great solution but at the cost of having multiple people on the team get distracted as they read and respond to issues. And good luck finding the same answer when you need it a few months later. It takes clicking in and out of multiple email threads and re-reading trivial chat conversations from way back.

Traditional communication patterns delay a resolution and increase time-to-market.

Culture is always changing

Stand up meetings aren’t practiced anymore except by fierce Agile loyalists. Fifteen-day sprints are now too slow for continuous delivery. Team culture is always changing, always adapting to trends and innovations. In the midst of this change, organizations need to give careful thought to the kind of culture and collaboration they foster from within. Knowledge sharing is a key piece of this puzzle.

With older knowledge-sharing models failing development teams, there’s a need for newer models to emerge. To be successful, knowledge sharing should be many-to-many rather than one-to-one. In-person conversations and even meetings are not effective for software delivery teams. Those communication patterns do have their place, but their importance has been on the decline. Instead, having a way to capture, organize, and make a team’s knowledge available at any time, any place, and to any team member is the new norm. To make this type of knowledge sharing possible, it takes a platform that is built keeping in mind the drawbacks of traditional collaboration and communication patterns.

What a modern knowledge sharing solution looks like

Knowledge capture is the first challenge. As teams have questions, the knowledge sharing solution should be a go-to place to find answers. This means a safe environment where code-level discussions can happen without compromising on application security.

In terms of format, real-world questions have proven to be much more effective than say, an FAQs section or a static knowledge base. User-generated questions that capture real-world information are much more valuable than over-simplified imaginary scenarios. They elicit deeper engagement between the person asking and the person responding and help to quickly get to the root of an issue.

Today’s knowledge management platforms should prioritize search capabilities and make it easy to find the proverbial needle in the haystack. This requires the power of full-text search engines that can see the minute differences between two nearly identical blocks of code. It would also require the use of machine learning algorithms that are trained to find answers the searcher may not even know they need.

Search on its own doesn’t make a knowledge-sharing platform effective. A modern knowledge-sharing platform should have sophisticated methods of organizing and prioritizing information. This starts with the use of topics or categories, but trickles down to the use of tags and labels and easy-to-use sorting and filtering options. These are essential tools to help a searcher get to their answer fast.

Unlike earlier times when knowledge always flowed top-down and was organization-driven, today knowledge flows upward and is predominantly peer-to-peer. In such an environment, users become the most critical asset of a knowledge-sharing system.

A knowledge management platform includes:

  • User profiles with vital information about every user so that anyone can get to know everyone else with just one look at their profile page.
  • Users’ communication history, visible to others in the organization.
  • A voting system of some sort—one of the most powerful ways a knowledge-sharing system can capture consensus on any topic or question.

Chat as a complementary tool

Chat apps like Slack dominate much of the transient communication between software development teams and are great for getting the pulse of an organization. Modern knowledge-sharing platforms should integrate with these apps to take advantage of their powerful capabilities for search, private conversations, and as a bridge to every other tool in the software delivery toolchain.

There are various factors to consider when choosing a knowledge-sharing solution. Each of these features builds on the others and, together, deliver great gains in average time-to-market for an application. As technical teams are able to share, respond to, record, and find very specific pieces of information, they can save time and accelerate their way through every step of the software delivery cycle.

Knowledge sharing should happen in near real-time. It should be peer-to-peer and engineered to be socially aware, and it should create safe places for information to be shared in detail.

Though conversations happen in real-time, conversations from months past should be just as easy to access.

Finally, knowledge sharing should include tools like Slack, that have become the heart of today’s software delivery team. All this may sound like a tall order, but it’s the only way teams can accelerate application delivery and not just have a fast “Day One,” but even faster release cycles from “Day Two,” and forward.

See how Stack Overflow for Teams can transform collaboration within your organization. Learn more

Login with your stackoverflow.com account to take part in the discussion.