Enhancing Productivity Tools Arena
Productivity Tools Trends
Many of the lessons learned from open source development and deployment of large cloud-based applications have been incorporated into to the development of internal tools. Teams working on domain-specific tools for their own use now leverage external tools like GitHub and Slack to collaborate, communicate and develop throughout their entire company. Developers can launch small projects and prototypes quickly, with nearly instant feedback. This is a valuable combination for motivation and innovation that allows us to tap into the creativity of our engineering teams and ultimately benefits the company as a whole.
At Walmart Labs, we leverage the tools that enable developer productivity (e.g. GitHub, Slack, among others). When engineers see a gap, they're able to leverage these tools to quickly and easily build domain-specific tools, launch them internally, gather feedback and innersource contributions. We find that these tools empower developers and, in turn, enable our company to really leverage the inner creativity of engineering teams.
Productivity Tools in crossroads
Productivity tools are at a crossroads. There is a plethora of valuable tools available today and many of them are open sourced. Just look at GitHub, BitBucket and GitLab. Or Slack, Discord (where React folks hang out) and Gitter. More and more companies as well as communities of developers are going into the productivity tools space.
Do one thing and do it very well. That's how tools like Slack, WhatsApp and GitHub have achieved success
There is also more sophistication around what you can do with APIs and projects that are being open sourced. Technologies that used to take months to implement are now often an API call away, which enables developers to build applications on the back of those technologies. This would have been impossible just a few years ago. You start to see more sophisticated APIs and big companies moving into this space, such as Google buying API.AI. You can also see companies start to release very sophisticated technology that previously a start-up could make a living off of, such as TensorFlow and DeepMask/SharpMask.
Unmet Technology Needs
I see the biggest area of need in mobile testing and development. As mobile devices become more and more prevalent and the OS share continues to fragment, we need a way to develop and test for hundreds of variations. There is need for something that saves time, is cost-efficient and 100 percent accurate. There is a constant influx of new tools claiming to offer the best way to develop and test for mobile devices, but I haven't seen a solution with a 100 percent winning formula yet.
Another issue that comes along with this wealth of new tools is that many of them overlap, and it’s difficult to “enforce”—or even keep track of—where collaboration takes place. Slack is great for sharing knowledge, but it doesn't have great file management, so it’s not good for long-term documentation. Confluence is good for long-term storage, but it’s mainly used by engineering teams, while marketing and UX groups prefer tools like Dropbox or shared drives. GitHub just added project management tools; is it worthwhile to switch to them to have code + pull requests + stories in one place? Another example is that Google Docs is great for collaboration on documents, but should a discussion happen in a Slack channel, or in a Google hangout, and if you don't have enterprise Google Docs it opens another can of worms. All these options are overwhelming, and the more tools a team uses, the more difficult it is to find information when you need it—did that conversation last week happen in Jira? Slack? GitHub? Email? Confluence Comments?
Advice for Budding Technologists in the Productivity Tools
Do one thing and do it very well. That's how tools like Slack, WhatsApp and GitHub have achieved success. Each of them entered a crowded field with competitors, but they succeeded by understanding customer needs and offering a focused product that met those needs in a compelling way.