DEV Community

Cover image for The development cycle, and how I follow it
Piyush Raj
Piyush Raj

Posted on

The development cycle, and how I follow it

Hello! I am Piyush Raj and today I will be telling you about the development cycle and how I personally follow it. In this post, I will have the different stages in software development and at the end of each paragraph, I will show you what I do at that particular stage.

Pre-Production: Where the pot of ideas boil

As the name suggests, pre-production is that stage before creating the final product. This is the stage where the team comes together to plan out how the product will look like through the use of designs, mind maps, etc.

In this stage, I usually like to make a Milanote board and put design specifications(or a checklist that the final product must/should have) and based on that I(or my team if applicable) make a visual design of the final product using it. I like to use Milanote because it has many tools that help me put my ideas down in a flowing way that anyone can understand and helps me to plan in an efficient way. I also like to use MS Paint and Gimp to create any visual designs.

Production: Where the ideas are cooked into finished products

This is probably the most exciting(and my favourite) part of the development cycle. This is where you(and your team) come together to make the final product based on all of the planning you did in the pre-production stage.

As I said earlier this is my favourite part of the development cycle. I usually like to use GitHub as my source control tool for my projects and to collaborate on projects as well. As for what tools I use, it's probably what you'd expect, VS Code for creating web projects and the Unity Engine to create video games.

Post-Production

This is kind of what most people would refer to as the "boring" or not so fun stage. This is the stage where the final product is tested for any issues. This is done mainly through AB testing and other forms of testing. This is also the stage where apps are given constant updates after production. This stage mainly depends on user feedback and results from the AB tests.

I'll be very honest, I haven't really been part of a post-production stage but I do know that we run beta tests and roll them out to a few users if it's an app and we usually ask for opinions if the final product is a website. We then work accordingly based on the feedbacks we receive.

Conclusion

So, I guess that was the end of this article and I would like to thank you for taking your time to read this article. I hope you enjoyed and hope you learnt something new!

Discussion (2)

Collapse
joelbonetr profile image
JoelBonetR • Edited on

This is kinda weird. You usually don't want your customers to catch bugs in production so usually and according to Git branches, you'll get:

  • Develop <- QA tests here
  • Test - Pre-production <- Client test here (business analysts, client's QA dept....)
  • Master (Production) <- where the customers interact.

Beta versions are not a stage itself, are releases on a given version with a given stack of new features to test globally.
There are many software applications that simply don't qualify to have a beta version (or alpha), i.e. a banking App. I can imagine customers getting a heart attack if any bug occurs here 😆

That being said you don't need to roll out an alpha nor a beta, it's just optional and depends on your market , the data you manage, the use cases your App has and the marketing strategy you follow.

There are other types of releases such an MP (minimum product), MMP (minimum marketable product), MVP (minimum viable product) and so on that can qualify just as placeholder minimum App, usually used to present to investors with the target of course of getting money from them.

I see in your profile that you are interested in both web and game development, try not to mix things related to one industry with the other because both have code, design and so on but them both can be also very different in terms of management and plan, just depends on the case.

You can make a game that's a MP just to show off the mechanics, sound, gameplay and so on like 7days2die did back those days, then create an alpha version from that and push it step by step till beta (that hopefully will come next year in this case) to finally get your product to final version (Release 1.0) out of beta. In this case, building a community is also important to get engagement and support.

Another way to handle that is to make an MP to get investment, then push it till release directly and releasing a demo (capped version of the game) some months before the oficial release date, like Flowstudio did with Len's Island.

Hope it helps somehow :)

Collapse
piyush181 profile image
Piyush Raj Author

Yes, I agree but I wanted to touch on the bare minimum, and I do agree about the MVP, although I do feel that it's better to have BETA versions to only a few people, such as any play testers for games. Thanks for pointing that out!