July 21, 2017

3 questions to ask when starting a software development project

Does this story sound familiar? You’ve got an earth-shattering idea–one that will disrupt an entire industry.

But you need some help making this idea become a reality.

You know you need to hire a software development team, and you want to get your idea to market as fast as possible. As long as they get the job done, does the development method matter?

Below are three questions to ask yourself before selecting your development team.

What kind of idea do I have and what do I know about it?

Is your idea a fairly complex one, slowly taking shape in your head? Maybe the features and functionality aren’t 100% defined and there is still a fair amount of uncertainty about it.

Or, is your idea more straightforward? Do you know the details of your app down to the last pixel? Do you know exactly what the value proposition is?

If you fall into the first bucket, you’re better off with a team that practices agile development.

Because agile development teams are built around flexibility, they welcome change. So it makes sense that if your complex project has a fair amount of uncertainty (and it will) you’ll want to work with a team that can change direction based on feedback and direction from you and your users, ensuring that your dev team is focused on what you and your users want.

An idea that is less complex and more defined could benefit from a waterfall approach. Because everything is agreed upon at the start of the project, you and your development team can plan, design, build, and release your idea with ease.

Am I concerned about being beaten to market?

Speed to market is at the core of the agile development mindset. In fact, three of the twelve principles of the manifesto for agile development address this:

  • Working software is the primary measure of progress
  • Our highest priority is to satisfy the customer through early and continuous delivery of valuable software
  • We favor delivering working software frequently, from every couple of weeks to a couple of months, with a preference for the shorter timescale

To put this another way, “Agile development is a way to get your idea to market in as little time as possible, without sacrificing quality and without killing your people.”

If speed to market is important, an agile development team is your solution.

What kind of dev solution will get me the most for my money?

There is no guarantee that a certain type of team or development method will save you money on your project.

Take the example from this article. If you need a coffee table and various methods give you– a dresser, then the method doesn’t matter. One method may have wasted your money faster or more efficiently, but they both solved the wrong problem.

Instead, a better question to ask would be; ‘What development solution will get my idea to succeed in the marketplace?’

What we’re trying to say here is that you want a development solution that will be able to uncover and solve the right problems.

An experienced, agile team will be able to build small parts of your idea quickly, release them to the market and then use that feedback and learning to determine what to build next (i.e., what problem to solve next).

Repeating this process over and over again allows the team to consistently reassess where you are and where you need to go next, based on what you and your users want.

The above process, done well, will save you money.

Conclusion

In case you couldn’t tell, we’re fans of agile development; we use it ourselves. And while it isn’t applicable to every project, most software projects absolutely benefit from an agile development approach.