Agile development · Coding

What software development methodologies & techniques are really helping software startups and how?

Amit Bhattacharyya 17 yrs hands-on @ Ent. solution architecture, s/w design & development. Want to join Startups.

May 14th, 2017

I am trying to know from Startups as to which s/w dev. methodologies/techniques are helping them release good software which in turn ensures the success of their products.I definitely understand that startups will not have fixed processs . But there definitely will be a "method to madness" !!


This question is important to me as I am conducting some field research on this so that I can analyze the feedbacks from here as well as other sources and take it back for further discussion to a Startups meetup trying to promote the knowledge about efficient software development methodologies to Startups to help promote more efficient practices to benefit those startups.

Your help will be greatly appreciated.

You have an idea. Now it’s time to turn it into a brilliant and beautiful product. In this course, you’ll learn specialized tactics to study your user, create testable wireframes, and transform them into fully functioning features and products.

Deepinder Singh Thinker

Last updated on May 14th, 2017

First and foremost, what is the biggest challenge for the s/w teams in a startup - it is chaos.

Startups have flat and liberal organizational structures, so you have ideas coming from everyone. This could be good and bad. Good - because it shows the collective enthusiasm and energy of the team. Bad - it creates noise and a lot of CHAOS.

  • One good way to handle this in a startup, according to my (limited) experience is - FAILURE DRIVEN DEVELOPMENT. Get all the ideas. Pick the best ones. For every idea, figure out the critical paths (steps to get the idea executed) - and then do the HARDEST thing first. If it fails, Great - congratulate your team - on saving a lot of effort and time.
  • TEST DRIVEN DEVELOPMENT approach is a great way to manage a lot of frequent changes. You have unit tests wired into every layer of your software architecture. This will ensure that new changes don't introduce new set of bugs. This will only work, if you have SOLID principals being followed, especially, the Single Responsibility, and Dependency Inversion concepts.
  • SCRUM Methodology - to bring method to madness, as you mentioned. A touch base meeting to see what everyone is doing and what are their challenges and kind of have a big picture view of it. It helps everyone to prioritize their work.

Craig Rich Cofounder at ThreeDotZero Studios, LLC. Prior CMO/CIO/CPO at WDS, a Xerox Company.

May 15th, 2017

I would certainly advocate an agile methodology but make sure it's product-led. Depending on what you are building, bringing in some product management discipline early will really help to keep focus on what is important to the market/customers you are targeting.


Teams of developers often have the tendency to build the things that are cool, intellectually stimulating, or familiar. It really helps to have someone accountable to building the right featureset from the very start.

Karl Schulmeisters CTO ClearRoadmap

May 16th, 2017

a lot depends on the industry being served. Deepinder's comments below are pretty spot on. But there are industries like Healthcare, embedded systems, transportation, and anything that has life-safety issues involved where more rigorous approaches are required not only to insure product quality but to withstand regulatory scrutiny.


Agile, Scrum etc all require an effective "Voice of The Customer" to be able to deliver a quality product. And in most startups, there is no "Voice of The Customer". Instead that is proxied by the founders' vision of what they seek to build. which is a common cause of failure of Agile methods


Agile/scrum methods also need to be adapted to use Test Driven Development for embedded systems. Embedded Systems (and most IoT is embedded hence the slow development curve of IoT) can benefit from Agile/Scrum methodologies early on, but all too often the developers forget that once it is productized, the ability to do updates becomes very limited.


For example, in "Industrial IoT" at "real scale" a factory or production facility might run 3-5 years in continuous operation, during which time you cannot make any real software updates. That means it also cannot fail in a way that necessitates a "Release To Web" style update


CMMI is a common methodology used in such environments.

Alex Black Marketing

May 17th, 2017

I found an interesting method from the guys Artjoker: Artjoker Method - a unique approach of a project management

Douglas Lyon Founder Docjava.com, PhD, Bell Labs, Jet Propulsion Labs, 3 books, 49 journal pubs, patents

May 14th, 2017

Amazon Web Services are key.

Sebastian Pereyro

Last updated on May 17th, 2017

Explore agile methodologies (Scrum in particular), they are the current standard in software development.

Hamza Malik CEO @zizz-Network,Ideas Generator for bussiness,coder,designer

May 15th, 2017

Scrum and the UP are the best

Jayram Joshi Venture Technologist, Enterpreneur,Agile,Devops

May 17th, 2017

Many have recommended agile. In my experience a blend of various agile practices can have a huge impact

1. Imbibing lean principles - Startups are limited by resources. This helps them focus the limited resources on building what is important for success and avoid waste

2. Inculcating Devops practices - Cut down on time a feature takes to reach users. Continuous Integration & Delivery compliment Lean very well. Also help you pivot quickly

3. Borrow engineering practices from XP & TDD. Only pickup whatever is relevant at the stage you are

4. Bring in some discipline/cadence by borrowing relevant practices (standups, singups) from Scrum