You might have used Mobile Application like Ola, Oyo, Zomato, flipchart. And one thing is common about these applications i.e,
They have a very beautiful layout, interface & services.
It takes years of experience & expertise to make a nice, compatible and beautiful Mobile application.
So if you have any creative idea, Your dream project/ Startup. What you gonna do, Will you Start learning Web, Android, IoS Development?
Don’t Worry, you don’t need to really learn any programming languages.
Thanks to Software Developers. You can hire them to make your Application either via Software Company or Freelancer.
Overview of how a Hired Software Developer works:
In this Article, I will tell you not only how a Hired Software Developer works but also How do we make a Software?
In Addition to this, What is the process & stages behind making an Application? And how does a Software developer know exactly know your requirements of a client?
Now let us Assume,
For Example, you have hired a Software Developer for making your Software Application. via any software development company in your Area or any Freelancer.
In this case, The first thing will be asked is -> requirements about your Software.
Exactly how you wanted your Software Application wanted to be.
About its functionality and Targeted Audiences.
For this Documentation, they make an RSD.
RSD
The Requirement Specification Document (RSD) is one large document. written in a natural language.
It contains description of what the system will do without describing how it will do.
Understanding the requirement of any project is the most crucial part of the project and forms a foundation for that project.
This Document is used as a Reference tool for all the successive stages of the Software Life Cycle.
Therefore, It should be easy to modify and serve as an authentic document for the system tester and maintainers.
Characteristics of a Good RSD:
- Correctness
- Completeness
- Consistency
- Unambiguousness
- Modifiable
- Traceability
- Design independent
- Understandable by Customer
There are various Techniques of RSD:
1) Interviews
2)Brainstorming– It applies in a situation where no clear solution exists. The goal of brainstorming is to generate a large number of solution for a problem.
This process can be done by face to face meeting or via email or by group video.
3) Delphi Technique– In this technique session. Participants asked to write the requirements.
These requirements are exchanged among others, who give their feedback. In most cases, This process goes on until the final solution is satisfied.
4) FAST– It was developed for collecting requirement similar to brainstorming,
In addition , some other activities also take place like-
- identification of External data objects
- Detail description of software functionality
- Understanding the behavior of software
- Stablishing the interface
- Describing the design constraints
TYPES of Application
Software Application may be of Small, Medium, Medium large & Big size. Depending on its functionality and also on how big is its targeted audience.
A Hired Software Developer uses different Models/Approach.
In order to make project on time, undergoes various stages and process.
Different types of Models
Hired Software Developers follows a different approach to make some Application.
It should be Noted that The Model of Software not only depends on – how Big is the Project & its budget.
but also on, Time required & Safety and security of the Application or Project?
Built and Fix model:
It is a Simple two-Phase model.
1st Phase is to → write code
2nd Phase is to → fix it
Built and Fix model is used only for Very small sized projects.
Water Fall Model:
This model is an alternative to Build and fix Software Development method for Medium Sized Project.
This type of model has 5 phases:
1) Requirement Analysis
2) Design
3)Implementation and testing
4) Integration and System testing
5)Operation and Maintenance
Disadvantage- The working model of software or Application is not available until the software reaches its second last stage.
Thus any error would lead to further increase in both time and money.
Prototype Method:
It is an Alternative to the Waterfall model.
In this case, The Software Developer 1st make Working Prototype as per currently available requirements.
Even though, it has limited functional capabilities and low reliability.
This helps the Customer see their project prototype as early as possible.
Therefore Now the customer can share his views on the project and can give feedback.
This makes the project more Comfortable, secure and satisfied.
Spiral Model :
Spiral Model is a combination of Waterfall and Prototyping model.
This model gives the best way for risk analysis. And is good for large and mission-critical projects.
In this case, Each cycle around the spiral provides a successively more complete version of the software risk analysis. Furthermore allows more flexibility to manage requirements control changes.
Disadvantage– This Model is a very costly model to use and Needs a high level of expertise.
Cost estimation:
The cost of Software depends upon the size of the Software or Project.
It also depends on how much functionality gives to the user.
The resources needed and various copyright features it needed.
As well as Maintenance, it can cost more than 50% of the total cost of the project.
Challenges in Cost Estimation:
- Not much Personal Experience
- inaccurate Project size
- Type of Project
- Level of Uncertainty
SOFTWARE MYTHS:
There are a number of Myths associated with Software Development community. Some of them are:
- Software is easy to change
- Reusing Software increase Safety.
- Computer Provide greater reliability than the devices they replace.
- The software can work right the first time.
- Software with more feature is better Software
- Addition of more Software Engineers will make up the delay
- Software Testing can remove all the errors.
To Summarise, These were Some of the main Steps/points a Hired Software developer follows-> RSD, Types of Application, Models of Software, size and cost estimation.
Moreover, A software developer also focuses on stuff like->
Risk Management, Maintenance, Required Elicitation Techniques, Software Testing, Reverse Engineering, which I will cover in my next article.
THANKS for Reading
I Really Appreciate your TIME
Leave a Reply