A Dozen Initiatives for Every Development Team

Quick Summary - Success in software development, or anything really, requires a continuous mindset as it doesn’t happen overnight and shouldn’t stop once you taste it.

A Dozen Initiatives for Every Development Team

Coding standards

It’s worth emphasizing at every opportunity that establishing, enforcing, and updating coding standards for your team is essential. It’s one of the first things you can do to keep your team on track. This applies to all teams, centralized or distributed. Developers tend to change jobs every two years while software will need to be maintained on average seven years before it gets phased out. A lot can change during that time, so having a common reference point will make it easier for everyone to read, understand, debug, and update the code over its life.

Fortunately, there are plenty of style guides for different programming languages that you can adopt. Define your work processes, Git branching strategies, and what constitutes “good enough” code. It’s also worth defining resources (tools, libraries, third-party services, etc.) you prefer for your developers to use. Besides keeping everything aligned to your project’s tech stack, this promotes using existing solutions vs. custom creation of new ones (not usually efficient). Having coding standards helps with onboard new developers more efficiently, and can be reinforced during standups, code reviews and retrospectives.

Onboarding and retention programs

We’ll keep this short, as we talked quite a lot about the components of both programs in How to Make Great Startups. Though they are two different efforts, they work together. Few things are as disruptive and expensive than having a developer leave midstream on a project. Software developers tend to change jobs every two years, on average, but can easily exceed 25% in tech startups (intensity, change, lacking mature processes, etc.). While the industry average for turnover is 12.3%, Ukrainian developers have much lower turnover rates.

About 40% of turnover is concentrated in a new hire’s first 90 days on the job. The thing is if you have turnover problems, hiring replacements for your replacements isn’t going to help you if you aren’t addressing the root causes. They may leave, too. The best way to prevent turnover is a retention program that not only tries to persuade developers to not leave, but conducts a good exit interview to determine why they are leaving. This gives you information you can consider acting on to make your company a place where your developers want to stay.

Performance analytics and DevOps

Software developer wages are the single largest expense of software development – and qualified developers are always in high-demand (short in supply). But, some estimates place average developer inefficiency at over 30%. There will always be some inefficiency for reasons ranging from initially trivial wait times in file transfers to developers being tasked to projects involving less frequently used programming languages.

Automated software development analytics help engineers spot problems early and drive continuous improvements relative to productivity, efficiency, quality, and teamwork. Analytics provides data that can be used in pairing developers for code reviews, assigning mentors, and optimizing teams around project requirements. Analytics can also help identify team members at risk of burnout or looking for another job.

While most development teams are working with Agile, they can and should be gravitating to the mindset and practices of DevOps. DevOps compliments Agile and seeks to shorten the software development lifecycle while also improving quality. DevOps necessarily measures everything to verify the effectiveness of any changes in process. Performance analytics can be integrated into Sprint retrospectives and daily standups to allow your team to suggest tips and methods of tracking improvements. Combining performance analytics with DevOps is the first step in aligning your team toward Continuous Improvement.

Continuous Integration → Delivery → Deployment

Continuous Integration, Delivery, and Deployment require a Continuous Improvement mindset and Agile methodologies with tools to achieve successively greater levels of automation in software development. While performance analytics combined with DevOps works for People and Process, automation focuses more on Processes and Technologies. DevOps wraps around to make both branches work together as seamlessly as possible.

  • Continuous Integration (CI) aims to automate processes so that developer commits are always tested and committed to the main branch of your code repository.
  • Continuous Delivery (CD) takes CI a step further so that your code is always in a deployable state. Human intervention is needed for the more complex effort of testing everything in a production-like environment, before making it available to end-users.
  • Continuous Deployment automates the testing and verification of all commits one step further by making them available in production – where everyone can interact with the code and see how it works.

Automating processes inherently increases productivity while reducing developer costs. It also gives you a couple of business options. The first is that you could reduce the size of your development team. The second is that you can have your developers work on more important tasks that cannot be automated – add new features, reach additional platforms, localize for more markets, experiment with new technologies, start new software projects. Most teams are likely to find the opportunities more lucrative than the cost savings of a smaller team.

Continued education and career paths

Here are two more programs covered in How to Make Great Startups as referenced earlier that work hand-in-hand, but also support retention, continuous improvement, while increasing your potential to automate further. The demand for new developers consistently exceeds new developers entering the job market. Those entering the market have relatively basic skill sets and lack a lot of experience. At the same time, technology is becoming increasingly more complex, working with more devices, handshaking with more software, handling more data, and requiring more advanced skill sets.

You have the option to hire developers with advanced development skills; developing the skills of your existing team; or some combination of the two. As a developer’s skills increase, so are the chances they will look for a new higher paying or more interesting/challenging job. Turnover has a cost not only in terms of replacing the developer, but the company/project-specific knowledge and skills they’ve developed. Turnover can be exacerbated with new hires into positions that pass over existing qualified developers. Implementing continued education and career path programs as early as possible in your organization’s development can solve a host of problems in the long-term.

Growth planning

We recently discussed planning for growth, but a recent survey suggests that many companies will find doing so more difficult if they insist on centralized teams. A majority – 58% of those who have worked remotely due to the Covid lockdowns really don’t want to return to the office. The fully-loaded cost of in-house developers working from home offers little to no advantage vs. outsourcing with a distributed team. Depending on your location, the cost variation can run from two to one (for Tel Aviv) to four to one (for San Francisco).

But, the core issue of growth planning feeds into the reasons for establishing a continuing education and career development program. Your goal is to help prepare members of your existing team to grow into future roles. Your initial developers may be tomorrow’s team leads, your team leads can grow into being software engineering managers or into more specialized technical roles – like data architects, ML/AI specialists, etc. This is likely to improve retention while making it easier, faster, and less expensive to hire developers after your next funding round.

How much does it cost to build a remote team in Ukraine?

If you decided to hire a development team in Ukraine or even open an R&D center, this calculator helps you figure out how much it would cost.

Calculate now

Software and app localization

It’s usually left to the executives and senior managers in Sales and Marketing to determine the languages needed for a software release. Some focus almost exclusively on the lucrative English-speaking market (~5% native and ~8% secondary speakers) – and generally favor iOS over Android. However, software scales extremely well as a “develop once distribute many” product. For startups and enterprises alike, app localization offers opportunities that are often not considered. And for Israeli companies that depend upon being able to scale into the global market, few opportunities are more pronounced.

Localization efforts are not without cost. For best effect, translations of software into different languages should be accompanied by culturally-relevant graphics and design elements. Hebraic is read from right to left, a characteristic shared by a small family of languages. This adds a variety of UI/UX challenges that make localization of most left-to-right language families easy in comparison.

Of course, companies want to focus on specific markets simply for having a finite marketing budget. Some apps may also only be relevant to specific regions. If this is not the case, there are no preclusions to licensing out your software to companies in other regions as some form of Software as a Service, royalty per-use, or direct sale basis. We will explore a lot more about app localization in the near future. There’s always room to grow.

Strategic networking

Sometimes it’s not what you know, but who you know – and who knows you. This isn’t about getting on Twitter or Facebook, but engaging more strategically for knowledge and resources. There are six main areas to consider:

  • Government: Among the largest investors in R&D and Data, government agencies are obliged to help you – data, favorable terms on patent licenses, market advice, contacts, and RFPs. For that matter, though applications have been closed, SelectUSA has its own TechSummits for companies to pitch to investors. For more, check out our post on Technology Transfer.
  • Startup Ecosystem – From incubators and accelerators to Angel/VC firms, trade shows and conventions, having a Plan B, C, and D for your Series A, B, or C is always helpful. Connecting with other startups can also be useful in sharing resources,
  • Trade Associations, Think Tanks, and NGOs – When you have the technical expertise, you’re able to participate in top-level conversations for influencing laws (trade associations), policies (think tanks) and opinions (NGOs) that others can’t.
  • Universities – Besides providing local access to the next class of IT graduates, universities offer an opportunity to seed early-stage research. In the US, many universities are connected with the Federal Labs Consortium, and so may also provide access to specialized equipment that’s cost-prohibitive for startups to acquire.
  • Media and Industry Influencers – Sometimes, all it takes is a prominent influencer or journalist to share their story to give your project or startup the lift it needs. Journalists can find it hard to source good answers to technical questions. Though best to pass this off to marketing, if your company is hungry for publicity, Help a Reporter Out (HARO) can help you get it.
  • Developer Community – Many large software developers hold events, sponsor activities, and are otherwise involved in both their local communities, and supporting open forums accessible to other developers.

Networking, even on a strategic basis, is a wide-open space. Each new contact you make equates to a possibility. Even if you make one opportunity a week, you’re creating at least 52 new opportunities a year. Nothing may come of it, but then all it takes is one good connection to land a huge deal.

LET’S TALK

Tell us about what you are trying to build

  • This field is for validation purposes and should be left unchanged.

Subscribe to our newsletter

icon
  • This field is for validation purposes and should be left unchanged.