The story behind every software development process

in #technology6 years ago

Softwares have made our life so interesting and easy,people are experiencing best of the softwares available they are using the rich content available they have started to realize what kind of features can be embedded into a system to improve the look and feel and enhance the experience.people wish the best of the features to be embedded into their system,And they want it to be done fast and expect it to be perfect at the same time.
But people are'nt looking at the dedication the time and effort required to develop the master piece,and I agree not everyone has a Computer Science background,this is why I thought to write regarding this topic to give people a basic idea what it takes to develop a software or an app for a developer.Software Development is not a Rocket Science though but its not a child's play too.

last week I and my developer friend went to see a prospect, who wanted to get a software built for their organization.We got their software requirements and had a talk on the interface and their previous software and the last thing he asked us was when will you deliver us the software,Could you do it in two days ?? that was quite shocking,Because even the best professionals take atleast 20 days,Then I realized that people need to be educated about the software development process.Well we were just a beginner though we Still told them we would show up in 10 days,We were so excited with our project and we were able to successfully deliver our first version of the software in 7-8 days.

"People need to realize that Great things take time specially when it comes to developing complex things"

I confess, this example is not mine. It was devised by extremely talented creative director (Emma), and I think it’s brilliant to help explain some of the complexities involved in software development.

Take any button within any software application you are currently using. Look at it closely. What colour is it? How big is it? Does it have rounded or straight corners? Does it have a border? What text is on it? What font is being used? What color is the text? Inside, how much padding is there around the text? Does it have an icon? What spacing is there around the button? Does it change color/shape/position when you hover on the button?

Each one of these things had to be designed and built. That’s right, the text on the button had to be typed in by someone. The spacing had to be figured out in relation to other buttons or things around it. In your mind’s eye, start thinking how long it might take to figure out and build all of the things I just outlined - for a single button.

These are the general software development phases involved in every software Development process.

f3c806219021f02101fe807bb2c2a2a7b0a160e7.png

As I said this will just give you a basic idea about the development process so I am not going to go into details just a rough cycle of the development process.Theres much detailing involved in the formal process but I will break down into 4-5 phases to keep things simple and explanatory in an informal way.

The software Develoment process

  1. get The Requirements
    The developers have to first find out,What are the requirements of the software,The user must provide the requirement in as much detail as possible,the details may include the task and operations the software will accomplish. the user may also specify the layout of the software what features are expected . The developers must also consider the Hardware capabilities and the environment of the system on which the software has to run, This will save the time for the developers and give them a direction to work on.

  2. Gather the tools required
    Once the requirements have been gathered the Develoepers must now work on to find the right tool required to develop the software that includes what programming languages,frameworks,databases to choose and in what kind of environment the software will be developed that includes the type of Operating system.Whether you will be developing on a Windows Mac Or Linux System.

  3. Designing Process
    After gathering the required tools to fight the battle the developers must devise a design,How the interface or GUI of a software will look,at every corner of the software and this is where flow diagrams come into picture basically these flow diagrams include the Class Diagram, the Sequence diagram etc.
    I recommend using a paper and pen to be clear about the design process.Because this will keep you sticked to the plan and you can consistently be focused on developing the further design rather than thinking what design is required.

  4. Coding
    This is the core stage of the Entire software development process, This stage is also known as programming phase where all the important stuff happens,At this stage the developers actually start building the software by writing an error free code in the programming language choosen during the second phase.Error free code doesn't actually mean our code does what the customer expects,it simply means our code is running but we cannot guarantee the requirements of the customers are met.We must ensure the code does what it is supposed to do in the next phase that is Testing.

  5. Testing the product
    At this stage, the developers must test that the software works in every worst case possible and more importantly the software meets the expectations of the customer.At this stage, the software can be delivered to the customer so as to involve the customer in the testing process and the customer can provide the valueable feedback by using the software in the real environment.And if any changes are required or bugs are detected the developer must take care of those.

  6. Delivery and Maintenance
    Once every functionality is well tested and changes are integrated the stable version of the software is delivered to the customer. Well no product is completely perfect and stable there's always a space for improvement, customers can expect the Devs to provide updates and incorporate any features that are demanded by the customer.

This is how every Software Development has to go through this kind of similar cycle and I believe this post gives people idea and understanding what challenges the software developers has to go through.And Inspires other Developers around the World to build cool stuffs for the community and make this world a better place.

" Softwares should not be seen as a product because people ultimatey use softwares to build a product"

Sort:  

I cannot begin to tell you how true this all is from a software developer's perspective.
People these days are so accustomed to getting digital things instantaneously, that they don't understand the struggle which goes on behind the scenes. They have to understand that things take time.
No matter what I'm developing, they want me to meet unreasonable deadlines.
SEO worth six weeks time to be delivered in 6 days.
A Website worth three weeks to be delivered in two days.
An Android app worth a month of work to be delivered by the end of the week.
Perhaps this article might help people put things into perspective for many people who are unaware of the things which take place behind the scenes.

I hope with time people will tend to realize the struggle behind the scenes.by the way We are developers my friend we need to keep pushing our limits and give our best.

Wooow nice work bro tanks rili gained alot

Posted using Partiko Android

Beautiful work keep it up bro👍🙌

Posted using Partiko Android

It's actually way more complicated than it seems, that's true. But I think it doesn't mean that there should be no reliable specialists in this field.

You're right, but I can tell you that nowadays, it's not that hard to find decent specialists in this field. For instance, when I was struggling with Credit decision making, I managed to discover a reliable platform that I still work with, and it provided me with all the necessary tools, so it was never a problem for me.

As sad as it is, it's not always about talent and art, but about hard work with code and tables.

For those unicums who would like to facilitate their work with such things, I would advise to take a look at the tools which are full of internet. Of course nowadays there are not many most convenient third-party software for working with database tables, because not everyone has a parallel integration. But with ERD Lab you can optimize your work effectively

Coin Marketplace

STEEM 0.29
TRX 0.12
JST 0.033
BTC 63016.70
ETH 3028.58
USDT 1.00
SBD 3.75