top | item 20707494

(no title)

rohan404 | 6 years ago

Disclaimer - I'm a VP E at Engineer.ai

Happy to elaborate - in a nutshell what we're trying to do is automate as many parts of the traditional software development lifecycle as we can, and for whatever cannot be automated, put in place the right tooling to allow for repeatable results.

Our thesis is that most applications today have a huge amount of duplication at a code level, and process level. We're trying to use reusable building blocks (well structured libraries, templated user stories, wireframes, common errors, etc.), in order to immediately solve that duplication. That being said, we're not talking about automatic code generation, it's more about being able to assemble these reusable building blocks together at the beginning of a project so you have a better starting point. There will always be customization required for any project however, and that is a human led process.

Apart from actual development, we're also trying to automate processes around project management, infrastructure management, and QA. For example, what we've already been able to do is automatically price and create timeline estimates for a project without any human involvement, determine which creators on our network are best suited for a given project, evaluate and onboard developers on to the network, setup developer environments, and a lot more!

discuss

order

ammar2|6 years ago

Sorry if I'm missing something obvious but it's not very clear to me how the first part significantly benefits from AI. Code re-use is just good software engineer practice, are you somehow able to figure out what libraries to use automatically? Isn't this trivial to perform by a human anyway?

The latter part, as far as figuring out what work to assign and estimating time-frames does seem like a legitimate AI use case though.

rohan404|6 years ago

Disclaimer - I'm a VP E at Engineer.ai

We're attempting to tackle the problem holistically. That means that we're tackling every single step of the traditional product development process. All the way from how you ideate, price, and spec, to sourcing and managing developers through to QA and infrastructure management.

For example, today, our ideation/pricing/spec tools leverage applied ML, creator management leverages facial recognition for fraud prevention, and infrastructure management uses statistical modelling.

We're trying to make code re-use a repeatable and predictable process rather than just a best practice. Today in the industry it's a purely led by developers, and very often is done solely at their discretion in a manual fashion. We're attempting to platform enforce code reuse, across autonomous distributed teams and products. Apart from just deciding what the optimal building blocks for a project are, the actual assembly or intelligent merging of these building blocks in an automated way is non trivial and mirrors modern automative assembly lines.

computerex|6 years ago

Can you provide specific examples and validation? I too can write a program that "creates timeline estimates for a project without any human involvement" - doesn't mean that its estimate is accurate. Can you provide specific examples of how you are automating traditional SDLC using AI?

You are here on a forum of technical people, can you be appropriately technical?

rohan404|6 years ago

Disclaimer - I'm a VP E at Engineer.ai

All of our project timelines are generated fully automatically. Today we are hovering at around a 90% accuracy on those estimates, and are moving more and more towards solving that last 10%.

We put our money where are mouth is - for example if our system generates a spec with a timeline of 10 weeks and a price of of 10K, and we take 15 weeks, we do not charge more than 10K.

Unfortunately I can't reveal more details of how we generate those timelines automatically apart from the fact that is uses NLP, CNNs, and regression analysis as it is proprietary and core to our business.

perl4ever|6 years ago

The problem I've always seen with structuring code, is that text files are basically one dimensional, meaning that you always run into conflicts between putting things close to each other that are similar in one dimension vs. those that are similar in another dimension.

I'm not lucid enough tonight to give good concrete examples, or be more specific about how this relates to repetition, but I feel like there are deep problems with designing software automatically even looking at mundane, small scale stuff.

efdee|6 years ago

But how is any of this related to AI?