Please introduce your company and give a brief about your role within the company?
AgileEngine is a nearshore software development and design company that ranks among the top-3 dev shops in Washington, DC, Argentina, and Ukraine. I founded AgileEngine in 2010 and am currently leading the company as the CEO. We work with high-growth VC backed startups and top brands like Bloomberg, VMware, and Estee Lauder.
Headquartered in DC, we have four nearshore R&D centers in Ukraine and Argentina. Over the past decade, we’ve become one of the fastest-growing privately-held businesses in the US, according to the Washington Business Journal and Inc 5000.
What was the idea behind starting this organization?
AgileEngine sees its mission in helping people turn their ideas into successful software products. It’s this mission and how we pursue it that makes us stand out. To fuel our clients’ success via software solutions, we need to do so much more than merely handle projects or development tasks. Our experts are often responsible for architecture-level decisions that influence our clients’ flagship products and business-critical features.
This has had many positive results. Gartner, the Webby Awards, and Facebook featured our work. The solutions we’ve built for our clients enabled them to raise funding and save up to 90% on product scaling.
What is your company’s business model–in house team or third party vendors/ outsourcing?
In-house engineers do all our work at our R&D centers in Ukraine and Argentina. Our engagement model revolves around dedicated teams that we custom-build based on our clients’ goals.
Our model supports on-site architects, consultants, and team leads or brief visits and business trips to the client’s location. We also encourage our clients to visit our R&D centers, meet their teams in person, and see how we work.
How is your business model beneficial from a value addition perspective to the clients compared to other companies' models?
Our business model relies on the long-term integration of our experts into our clients’ product teams and development processes. This approach fosters a product mindset and an in-depth retained knowledge of the product and codebase.
Our software developers, QAs, designers, data engineers, and managers, effectively become our clients’ remote team members working on their products full-time. Some of them have spent more than three years working with the same client. In the case of some projects, our engineers do tech talks for our clients and visit their main offices in the US annually.
What industries do you generally cater to? Are your customers repetitive?
Our clients are top-ranked providers of software development tools and companies renowned as leaders in data, fintech, IoT, AR/VR, media, and other industries. These include well-established brands known to millions of people and prominent startups. In addition to these technologically-focused companies, we work with large clients from other industries. For instance, we’re part of the digital product development efforts of a worldwide cosmetics brand with a strong presence in 150 countries. We also build applications for the world’s top job search engine.
Mention the objectives or the parameters critical in determining the time frame of developing software.
The time frame of software development projects is an equation with many variables:
- Team size and composition. Having enough people on the team is crucial (even though more doesn’t always imply faster). The technical knowledge, soft skills, seniority, and expertise of these people with similar projects are also necessary.
- Project type, scope, and complexity influence the time frames in the most direct way.
- Technical debt. Large-scale re-architectures or migrations often take longer than greenfield projects. When dealing with a badly-implemented solution, you need to figure it out first and then fix or rebuild it.
- Development tools. Do the backend and infrastructure use readymade solutions like AWS? Is there a library or framework like React or Vue underlying the web UI? Is the mobile app fully native or built with React Native or Flutter? All of these factors have a massive impact on time frames.
- Project management methodology and process. Things tend to go faster in the long term if there is a good process in place complete with robust QA.
How much effort in terms of time goes into developing the front end and back end of software?
Five years ago, UI development used to be undeniably simpler in terms of scope than backend development. Today, technologies like React and Angular make us write more client-side logic. In the meantime, things like AWS and Firebase have streamlined backend infrastructures to a point where simple apps can fully embrace the cloud. These two trends have narrowed the gap between UI and backend development to a certain extent. They also make estimations more complex. You need to factor in the variables from the previous question for both UI and backend development to estimate time frames.
What are the key parameters to be considered before selecting the right framework for developing software?
The framework needs to be future-proof in two ways:
- It needs sufficient support from its developers and the open-source community (if it’s open-source).
- It needs to have sufficient following among software engineers. Should you decide to add new members to your team, the tools you’ve chosen should never create bottlenecks in the form of talent shortage.
For both of these reasons, it’s often wiser to choose frameworks and tools that have been popular for at least a couple of years. New solutions that are skyrocketing in popularity can also be the right choice, yet I wouldn’t call them a safe bet.
Which languages & frameworks do you prefer to use in the development of software?
Historically, AgileEngine has also been significant on all things Java, and, to a slightly lesser extent, .Net. These used to rule supreme in enterprise development, and they still do in the case of older, larger companies. We also have many projects that involve Scala and Python, especially those in machine learning, big data, and AI space.
Accurate native mobile applications constitute a large part of our portfolio, which means Swift, Kotlin, Objective-C, and Java.
What are the key factors that you consider before deciding the cost of the software?
The size of the team, the specialization, experience, and seniority of the people in the team, and the project duration.
What kind of payment structure do you follow to bill your clients? Is it Pay per Feature, Fixed Cost, Pay per Milestone (could be in phases, months, versions etc.)
We use the Time and Material model because it offers our clients more control over their product development budget. Models like Fixed Cost and Pay per Feature work better for short-term projects with a clearly-defined scope. The development of websites and small mobile apps are good examples of such projects.
Most of our projects are long-term, with enormous scope and complexity. We build B2B software solutions for Fortune 500 companies and apps for multi-million audiences. At this scale, it’s more difficult for our clients to precisely estimate budgets early on. Most of our projects also use Lean and agile, which means changing requirements. Due to these two reasons, the flexibility of the Time and Material model works better for our clients and us.
Do you take in projects which meet your essential budget requirement? If yes, what is the minimum requirement? If no, on what minimum budget you have worked for?
On average, our rates are about 50% of what you would expect from US engineers with comparable experience and skillsets. These rates enable us to hire and retain the top 3% of engineers in Argentina and Ukraine. We rarely go below this point as far as pricing goes.
What is the price range (min and max) of the projects that you catered to in 2018?
There are more factors involved in how we choose projects than just prices. These include the technology stack, team size and composition, our client’s approach to project management, long-term product strategy, and more. In our case, each project is unique.