The Software Development Practices These Engineering Leaders Swear By

by Janey Zitomer
November 13, 2019

Just as a trained chemist must secure their safety goggles, calibrate instruments and track their findings for potential duplication, there are a few tried and true practices software engineers trust to keep their code timely and systematic. 

Sure, JavaScript or Python might not explode like vinegar and peroxide. But that doesn’t mean errors won’t be reaction-free.

We recently spoke to three engineers about their documentation processes and how they incorporate new strategies while staying on course. The key? Trusting your intuition and relying on organizational systems as necessary.  
 

Shipwell employees
Shipwell

When it comes to freight shipping, tracking miscommunications and timeline misinterpretations aren’t mistakes businesses can afford. That’s why Shipwell’s engineering team looks to Agile methodologies to stay on track.

VP of Engineering Charles Dickerson explained why they consider those practices starting off points rather than proclamations. 

 

How does your software development team define their best practices? 

Shipwell is an agile development shop. We adhere to the methodologies described in the Agile Manifesto. Fundamental to this is our belief in the following Agile best practices, including: individuals and interactions over processes and tools; working software over comprehensive documentation; customer collaboration over contract negotiation and responding to change over following a plan.

Best practices are only a starting point. How they are implemented varies depending on the team. The goal is to find the best way to delight our customers and deliver software as quickly and efficiently as possible. Organizational systems are always evolving.

Best practices are only a starting point.’’

 

How does your team balance a need to incorporate best practices into their work with the desire to try and test new methodologies and strategies?

We operate in two-week cycles called sprints. Each sprint results in the delivery of new features and capabilities. They are also followed by an internal review of the sprint’s process. That includes a review of what went well, what didn’t go well and what needs to change. This retrospective is the time when the team can decide to explore new methodologies or implement new best practices in the upcoming two-week sprint. At the conclusion of the following sprint, we repeat the process. We review and either modify or eliminate new methodologies or best practices for effectiveness.

 

Optimizely
Optimizely

At Optimizely, Director of Engineering Peter Oh’s work is never done. After all, optimization is not an implement-and-walk-away type of job.

Oh told us how the software company, which helps businesses increase value in digital products, stays on top of their game by incorporating strategies that work and ditching what doesn’t.  

 

How does your software development team define their best practices? 

At Optimizely, engineering teams are empowered to discover, experiment and adopt various engineering best practices as they see fit. These practices include how they provision infrastructure, monitoring, alerting, continuous integration and continuous delivery, etc.

In recent times, as our engineering organization has continued to expand, our engineering best practices have been defined by the new hires who bring practices from their previous companies with them, some of which are a reflection of the latest industry trends. As we continue to grow, I see a need to standardize these engineering practices across the organization to allow us to deliver high-quality software efficiently at scale.

It is a cycle of continuous improvements.’’

 

How does your team balance a need to incorporate best practices into their work with the desire to try and test new methodologies and strategies?

Optimizely’s employees embody an experimentation culture and mindset. Teams are encouraged to experiment and share their results at our various community-of-practice groups. These include how we manage feature flags in our product development, how we develop software (Kanban vs. Scrum), how we conduct technical interviews, etc.

Over time, some of these become best practices because teams embrace them while others continue to try out new methodologies and strategies. It is a cycle of continuous improvements.

 

Personify team on Halloween
Personify

The NASA team that first put a man on the moon didn’t pack up their bags and walk away as soon as Neil Armstrong set foot on its surface. In the same way, software development requires consistent review and modification, especially as new programs are released.

Understanding how to adapt successfully and often is not important; it’s crucial. We recently spoke to Manmeet Duggal, vice president of engineering at Personify Corp, about what challenges that means for the constituent management and engagement (CME) platform and how they iterate effectively. 

 

How does your software development team define their best practices? 

At a strategic level, our software development team’s best practices reflect the alignment of core software development tenets at Personify. There is an underlying commitment to client success. We ensure that every product we build is easy to use, visually appealing, easy to configure, easy to extend and enhance, reliable, scalable, quick and responsive. Our business environment is constantly evolving.

For example, privacy laws are changing due to the regulatory and competitive landscape. So it’s crucial that our best practices adjust to that environment. We continuously adapt and optimize. 

At Personify, we structure it as more of an evolution than a revolution.’’ 

 

How does your team balance a need to incorporate best practices into their work with the desire to try and test new methodologies and strategies?

Our continuous search for new strategies and methodologies is driven by changes in the competitive landscape and macro environment around the organization. However, continuous changes in best practices and processes can lead to inefficiencies in the process.

So at Personify, we structure it as more of an evolution than a revolution. Once approved by the governance team, we pilot any new methodologies and strategies on a small scale before rolling them out to the entire team. We also leverage sprint review meetings and Scrum of Scrum calls to discuss new ideas, improvements and strategy. 

 

Jobs from companies in this blog

Austin startup guides

LOCAL GUIDE
Best Companies to Work for in Austin
LOCAL GUIDE
Coolest Tech Offices in Austin
LOCAL GUIDE
Best Perks at Austin Tech Companies
LOCAL GUIDE
Women in Austin Tech