TyroCity

Discussion on: Software Development Strategies and what to consider while choosing what to use?

Collapse
 
angel profile image
Angel Paudel

Different company chooses different software development strategies to get around any project. The post discusses three such software development strategies that are widely adopted throughout the industry:

Agile Methodology of software development provides flexibility in the software development stage. Unlike in other software development methodology, changes are welcomed and adopted in this process. It also involves direct involvement of the client or his/her representative as in the daily stand-up meeting. This is a way of briefing what has been done, what will be done that day and to discuss any major incidents in the process. That often happens at the start of the day. This thus adds that element of transparency and the collaborative feel. This method also helps enhance the relationship with the client as they will be aware of what activities the team is carrying forward and with they being involved throughout the process, the chances of project going out of track is almost negligible (Maruping, Venkatesh & Agarwal, 2009). This, however, might increase the overall development cost for the client and as it demands client involved, may be an issue if they are unwilling to do so.

Waterfall model follows a step-by-step procedure. This means that only once a phase is completed, it’ll move to the next and so on. The phases of steps of the model include planning, analysis, design, development, testing, implementation, and maintenance. To comply with the process, one can’t skip through a process or return back to the previous one. If any major changes need to be made, the process starts from the very first again (Baseer, Reddy A & Bindu C, 2015). So, this type of software development process is best for only those projects where the requirements are fixed and won’t change during the duration of the project.

Iterative strategy is another method popular when it comes to software development. It focuses on the time available for the development of a software. Works are divided into several iterations and looked into which features can be delivered within the available time frame. Unlike waterfall, this doesn’t follow that one phase should be completed before another to start but slightly similar to Agile, different phases overlap during the development process. Once all the different iteration is completed, the overall project goal can be fulfilled. Through the use of this companies can first complete the core requirements and then move to other lesser important requirements down the line.

For any company to make a selection of the software development strategy, they must first know the strength of the team within and then choose the system which will give the best result for the money and time spent. Another factor to consider would be the size of the project. Choosing Waterfall approach for a large project with changing requirement won’t do well to the company as that will further complicate the project as that will mean more time for testing. With no communication with the client in this method until close to completion of the project, chances of going off track exist as well. Agile or iterative method works better in that case. Also, analyzing how much changes might occur for the project along with a cost of delay should be considered. In today’s world with startup on a rise, most of them have an inclination towards agile method as it provides more flexibility to them. However, in the world of software development, there’s no right or wrong method but only which would be the best suitable as per the scenario and companies often look at all those criteria as mentioned here to select a process to go ahead with.

References

Baseer, A., Reddy A, R., & Bindu C, S. (2015). A Systematic Survey on Waterfall Vs. Agile Vs. Lean Process Paradigms. I-Manager’s Journal On Software Engineering , 9 (3), 34-45.

Maruping, L., Venkatesh, V., & Agarwal, R. (2009). A Control Theory Perspective on Agile Methodology Use and Changing User Requirements. Information Systems Research , 20 (3), 377-389.