Agile development · Coding

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

Amit Bhattacharyya S/w Solution Architect, Tech Product Manager. #TechStartups #Blockchain #Crowdfunding #SolarEnergy

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.

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.

Sebastian Pereyro

Last updated on May 17th, 2017

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

Karl Schulmeisters Founder ExStreamVR

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

Last updated on December 3rd, 2018


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

Oleksii Shevchenko Technology Consultant for Startups, Head Of Operations at Ezetech

February 21st, 2018

If and when you have a startup idea, the odds that you’re completely sure of what will work and what won’t are laughably slim. So that way Waterfall approach aren’t serve well in most cases cause it is not flexible at all. So what does?

If the project is complicated (which is pretty much any project harder than a business card) startups should look for as much flexibility as possible with agile development.

But what to choose: Scrum or Kanban?

Our experiences have taught us that startups shouldn’t even choose in most cases. We don’t know any team that uses pure, unadulterated Scrum that doesn’t stray from a single rule in the book. On the other hand, when the scope of product grows while using Kanban, they might find it necessary to borrow more and more Scrum rules to better organize the work and improve the processes continuously.

What’s most important when it comes to deciding is to understand the framework and overarching guiding elements of both and then take and choose the best from both worlds. Start with Kanban to make it simple, and take whatever you need from Scrum when necessary.

Work it out. Trust the process. Be agile!

If you want to know more about differencies of methodologies this article is worth reading.

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

May 14th, 2017

Amazon Web Services are key.

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

May 15th, 2017

Scrum and the UP are the best


April 6th, 2018

I'm just finishing development of the first MVP iteration of a mobile app. I hired a remote development team and am finding my process to be very effective.

Before hiring the team, I had everyone that would potentially be working on the project sign an electronic NDA. Once they signed, I gave them the list of requirements broken up into milestones. After we agreed on the order and payment amount for each milestone, they began development. I was getting status updates at the end of each day and was available to answer questions during the day. But I was very informal with my interactions.

The code was kept in a private online repository and when features were completed they would upload the code to the repository. I would then download the code to my machine and test it on my phone. Once a milestone was completed, I would send them money via Paypal.

We communicated over Skype.

Hope this helps.