Software development involves four phases: analysis, design and plan, build, test and deployment. It mays some different with each method like Agile or Waterfall but basically , they still have a same core of process.
The responsibility of a developer is understand and join this development process. Writing code is just a small part of these. It looks seem easy but not really. The developer need some essential skills to do this . There are what developer need to do in development process :
1. Analysis
In this phase, developers decide what the software must do. They might study existing systems, design new processes, or interview people to understand how they will use the system. This also defines other constraints or requirements. For example, how much data must the system handle, how quickly must it respond, and what should it do when problems occur? The resulting documents could range from a few pages to hundreds or more.
2. Design and plan
In this phase, developers decide how the software will work and how it will be created. This can include deciding on which language to use, sketching user interfaces, designing databases, subdividing it into pieces, and specifying the files and even the individual functions to be created. Developers also need to estimate the time, effort, materials, and cost to create the system, and a schedule for who will do which tasks at what time.
3. Testing
Developers check whether the software works correctly, and fix any problems they find during the testing phase. This is often the longest and least predictable phase, and a common reason for delays and extra costs. There are many types of tests – unit tests check if individual functions are correct, functional tests check individual components, integration tests check if components work together, and system tests check the entire system.
4. Build and deployment
In the build phase developers create the software, including user interfaces, databases, code, and documentation for users and programmers. This means that coding is just one part of one phase of software development, and in some ways the easiest and most predictable. As each piece is built, developers might inspect or review the code to see how well it is written, and then integrate it into the larger system. The deployment is bigger picture, all artifact build will be deploy to cloud or on-premise environment.
During developing/coding process , developer need to use some tools like IDE or Version control system to manage source code and build it.