Choosing to build scalable digital solutions can have a direct, positive impact on team chemistry and productivity
Digital services seamlessly blend a complex array of frontend and backend services, infrastructure and data and content management solutions to deliver an excellent customer experience. With an ever-growing ecosystem of tools and technologies to manage, it can be daunting to choose the right pieces to produce the results organisations are seeking.
Building engaging, scalable and successful digital solutions depends as much on team chemistry as it does on the services used. For organisations embarking on digital transformation journeys, choosing to build scalable solutions can have a direct, positive impact not only on product performance but also on team chemistry and productivity.
Successful transformations happen when planning, collaboration, developer experience, upskilling, qualitative focus and open communication are given priority and embraced by organisations.
Planning: Establish a digital roadmap
In order to establish a solid foundation for building a scalable digital solution, it is absolutely crucial to get the planning phase right. In this case, planning consists of more than just visualising the end result and mapping out the tools and technologies needed to get to that point.
It’s important to understand the teams who will be building the product, select the right tools and technologies to maximise productivity and performance, establish documentation guidelines, define what success means in the context of the project, identify areas for upskilling and provide the appropriate resources for staff to obtain the skills needed to continually innovate and scale the product.
Because of the complexity associated with designing successful scalable solutions, it’s important to embrace an agile approach to software development and set a Minimum Viable Product (MVP) to get the project up and running. As the project evolves, the tools, technologies and skills can evolve alongside the project.
At NearForm, we’ve found the best way to kickstart projects and start delivering immediately is to begin with a discovery workshop. Discovery workshops consist of pre-sales conversations with organisations to understand the scope of the project and project goals. The workshop itself is led by a Design Director and Technical Director who work with organisations to further define the scope of the project, establish a product roadmap and deliver interactive prototypes and project estimates that enable teams to begin delivering immediately.
Regardless of whether you are working with a consulting firm or not, conducting a discovery workshop to define the project’s goals, capabilities and architecture is a great way to establish a solid foundation for getting projects off the ground.
Collaboration: Work together to deliver value
Successful projects depend on more than just the speed at which developers can deliver. Bringing in key stakeholders early on in the process enables teams to build products that are more well rounded and more likely to succeed in the long run.
Again, discovery workshops are an excellent way to establish a culture of collaboration by giving everyone the chance to have input into the project from the beginning and therefore establishing a sense of ownership. By aligning teams on tooling, technology, design and an MVP, the path to success is clearer for everyone involved in the project.
Likewise, selecting tools that allow developers and designers to collaborate seamlessly in real time enables quicker iteration and closer alignment between teams. For collaboration to be truly effective, it’s important to define the tools to be used and document how the teams involved in delivery should use them to encourage maximum collaboration.
Bringing in an outside consulting firm such as NearForm is a great way to get these processes established from the start. We constantly monitor the newest tools and technologies for improving workflows, collaboration and developer experience, as well as establishing best practices for implementing them in client projects.
Developer Experience: More than just a mature tech stack
Transforming a digital ecosystem can be difficult, but giving employees tools they love, well-established frameworks and clear goals will empower them to create digital services that customers want to use.
Scalable digital services should be built on technologies that provide a great developer experience. Part of the process of ensuring a great developer experience is using tools and technologies with good documentation and thriving communities behind them.
When it comes to providing a good developer experience, working code counts. Example-rich documentation counts. And, interactivity at your fingertips counts. But, all the tools and techniques in the world won’t matter if there isn’t an engaged development community that has embraced the technology that you, the architect, intend to use to realize your architectural vision. In short, software without a community, ain’t. – RedHat, Developer experience: an essential aspect of enterprise architecture
Internal documentation is another aspect of product development that is often overlooked or neglected. Clear, consistent, accessible documentation is a key piece of all of the projects we undertake at NearForm. We understand the importance of great documentation and how it contributes to a great developer experience.
By taking the time to document the products we develop and selecting the appropriate established tools and technologies, we make onboarding for new hires and cross-team collaboration easier, allowing teams to innovate and evolve products faster.
Upskilling: Shrink onboarding times
An essential part of developer experience and project planning is defining the skill sets needed to get the MVP launched and giving teams the skills they need to realise this.
Even if React is not the right path for your organisation, similar tools available have short onboarding times. That’s why it’s important to get developers involved early and make the decision together to choose technologies that get developers excited about the new project, while giving them the opportunity to improve their skills so that they can deliver more innovative products.
Focus: Deliver software not story points
In today’s world of agile development, it’s important to have a clear path for getting products up and running. Encouraging developers to focus on innovating and contributing great ideas is more important than laying out a stale blueprint with story points that need to be met every two weeks.
The planning stage is important for setting the focus, but establishing rigid guidelines from the start can handcuff the project and prevent it from evolving organically. Vision is just as important as flexibility. As developers become more familiar with the tools and technologies they will be using to develop, new ideas and creativity should be welcomed and encouraged.
There are entire organisations of hundreds, thousands, of developers that do not focus on delivering software. They focus on doing story points. If your basic unit of measurement of how successful a team is are story points, then you have a problem. It doesn’t really matter how quick we deploy if what we deploy makes no sense…We are very susceptible to gamification…[Developers] see that the people that get promoted are the people that are doing the most story points. Instead of actually considering something done… ‘I know that thing has a bug, but I’m not going to fix that bug unless somebody points it out so that later on I can do more story points in the next sprint.’ They start doing this type of game essentially bringing the actual progress of the team to a halt…but they are not doing any delivery. – Matteo Collina, The Promise of DevOps
Communication: Empower teams to engage
Perhaps one of the most important aspects of developer productivity is clear communication. Clear goals, constructive feedback and a culture of listening to new ideas lead to products that grow faster and scale better.
Ensure that your team has the tools and processes to communicate openly and build consistently — and that those tools and processes are being used. If they’re not, find out why and make adjustments until you establish a solid routine. – Github, Best practices for a collaborative software development culture
Understanding the technology that will be used and putting teams in place with good people skills goes a long way in determining whether a project will grow or become stagnant.
As a remote-first company, we are keenly aware of the importance of effective communication and organisational structure and work with our clients to structure their organisations and teams around open and constructive communication.
The route to successful digital solutions lies in creating a digital roadmap, working together in a spirit of open communication, empowering and upskilling developers and focusing on software delivery. By implementing a reliable system for delivering effective digital solutions, organisations can break out of the system of silos that blocks so much business progress. Now is the time to create the systems that will align your teams and boost productivity to ensure scalable success into the future.