Stock image of pink game piece on a board blog about technical decisions

Making Technical Decisions that Make Sense for Your Project

In a recent blog post about what software developers experience with different project types (greenfield, brownfield, staff augmentation, etc.), we touched on considerations that go into technical decisions. In today’s post, we take a closer look at each of the key factors product engineering teams should keep in mind. They include:

Project Requirements and Goals

Technology choices should align with project objectives, taking into consideration both short-term needs and long-term strategy / vision.

Scalability, Performance, and Security

It’s important to choose technologies that can handle expected growth. Build today for tomorrow’s potential load and data volume to assure a positive user experience over time, and to help prevent the need for costly reengineering. 

One of the most important considerations when approaching any software development project (from mobile apps to web platforms) is security. Always choose technologies with strong security features, keeping in mind project-specific compliance needs, like GDPR and HIPAA.

Platform and Device Support

Ensure compatibility with target platforms (web, mobile, desktop), as well as consider cross-platform development needs, i.e. the process of building applications with one, shared code base that can then be delivered onto different platforms, like iiOS, Android, web, and desktop (macOS and Windows).

Experience, Expertise, and Learning curve

It’s critical to assess your team’s current skills and capabilities, identifying and addressing gaps, and factoring in time for learning, as needed.

Community of Support and Ecosystem

At Revelry, we feel it’s especially important to work with technologies with active communities of support. (It’s one of the many reasons Elixir is our go-to programming language.) The availability of libraries, tools, documentation, and other resources is important for seasoned and less experienced developers alike. 

Cost Implications

Whether you’re using an in-house engineering team or contracting for support, in addition to man hours, your project estimate should take into account licensing costs, hosting expenses, and both initial and long-term maintenance costs. On the plus side of the spreadsheet, you’ll want to weigh potential ROI.

Integration and Maintenance

Make sure any new technologies being considered are compatible with existing systems, and that future integration needs are a part of the conversation. In a similar vein, consider the tech’s maturity and future outlook, and evaluate potential maintenance costs.

Performance Metrics and Monitoring

Last, but certainly not least: Choose technologies that allow for easy monitoring and optimization. Doing so allows your business to proactively identify and address potential system issues, leading to improved performance, a better user experience, less downtime, and ultimately, increased efficiency and cost savings (resulting from enabling interventions before issues escalate). 

Do you have a project for which you need help determining technical direction? Let’s connect. We love this stuff.

We're building an AI-powered Product Operations Cloud, leveraging AI in almost every aspect of the software delivery lifecycle. Want to test drive it with us? Join the ProdOps party at ProdOps.ai.