Agile development · Framework

What are the best software development frameworks?

tripti khanna HR Manager | 6+ Years Experience |

April 3rd, 2017

I work with a few startups where the engineers are managing other engineers for the first time. They’ve been part of a few different structures and systems, but they’ve never had to implement one and manage people using it. I’ve read a bit about the “agile” framework and scrums, but not being an engineer myself, I was hoping you could recommend the simplest and most effective frameworks.

Dmitri Toubelis

Last updated on April 4th, 2017

The short answer is - there is no such thing as the best framework. There are only right tools for the job.

The frameworks you are refereeing to are intended for managing software development projects. "Agile" is not a framework it is manifesto that outlines general principles (Goggle for Agile Manifesto). There are few formal frameworks that qualify as Agile, in particular Scrum, XP, Lean, Kanban, etc. All of them address different problems, so in order to make the right choice you need to understand each of them and they are not universally applicable.

For instance:

- if you are starting on development of new product with small team then Lean or Kanban would be a good candidates

- if you have have larger team and fixed timeframe and buget (i.e. if you do it for client) then Scrum is probably the most appropriate.

- if your project is in maintenance stage then you are probably better off with Kanban

- if you have no clue what you are doing start with Lean - it will at least teach you not to waste time on choosing frameworks but focus on result ;-)

Bottom line is, don't try using frameworks just because everybody else does. Learn what problems they solve and see if you have any of those problems. Each framework adds certain overhead, so if you make a wrong choice you may spend resources on implementing something that does not solve your issues.

It is always a good idea to talk to advisor or hire a consultant.

Pierce Wetter Front End Principal at Skyport Systems

April 3rd, 2017

The best framework is a physical project dashboard, and clear priorities. Engineers can only work on one thing at a time, and the more clearly you can communicate what they should be doing, the more effective you'll be.

All of the frameworks are really an attempt to make all of that clear.

As a non engineer, I'd recommend you start with this: as Johanna talks about what works and doesn't work in general, and gives broad practical advice without being tied into a methodology.

James Abel Software/Hardware Engineer

April 3rd, 2017

Scrum is great and I'd recommend it. But I'd also strongly recommend you have at least one senior developer that has experience of leading a team. It sounds like you have a collection of more junior developers. You'll need a senior person at the very least as a mentor that can come in and help these new leaders execute the project. If you can't hire one full time at least have one come in on a part time basis. If you don't want to pay for one, find one that will work for equity.

In other words, you need someone on the technical staff that can answer the question you just posed. There is *so much more* than just picking the right framework. If no one on your technical team can answer it, then you need to find someone that can.

Rogelio Triviño

April 6th, 2017

Disclaimer: I'm the author.

Agile and scrum is more a methodology, not a technical framework.

Rapid prototyping is best accomplished with script languages on one server, sacrificing reliability, performance and scalability. Low front costs but delayed and hidden costs on maintenance and future upgrades.

To reach any platform and any screen size with just ONE front end development, I recommend an hybrid single page web app, using cordova or similar to pack it for android and ios.

I'm on my way to market the best of both worlds, where you define your specs and I pack it as an universal web app for any platform, and an scalable and reliable web service, deployed on several servers with distributed database for performance, reliability, high availability and scalability.

This way, I will offer custom SAAS services developed to your needs on days, with top of the art quality and best software standards.