We will write a custom Essay on Situational Factors in the Software Development Process specifically for you
807 certified writers online
Requirements for the Improvements in Coding Process
There are several requirements that have to be followed in order to help the team ensure that the coding process will be improved successfully. First, there are coding standards. The latter are expected to guide the development team and help them to develop a variety of modules that will be used as a development standard (Volter, Stahl, Bettin, Haase, & Helsen, 2013). For example, the standards can be followed by means of tools such as FindBugs or UC Detector. Second, there are unit test cases. These can be considered to be one of the most important functionalities of the project because usually, there are no test cases transcribed for the development process.
In real life, the rationale for this kind of improvement is the fact that the existing code will not be broken by any new lines of code added by the development team owing to the protective nature of unit test cases (Merkow & Raghavan, 2010). Third, there is the concept of code coverage. This tool is required because it helps the team to evaluate the strictness of code testing and the levels on which the latter is performed. For instance, this idea can be validated by the fact that enhanced code coverage reduces the chances of experiencing broken code. In order to support code coverage, the development team can use CodeCover or EMMA. Fourth, there is the concept of continuous integration (Highsmith, 2013). In real life, it may positively affect the coding process because every development team is able to make sure that new code does not interfere with the old developments. For instance, the team can use such tools as TeamCity or Hudson with the intention of integrating the code continuously.
SDLC Models and Outsourcing Efforts
The majority of managers agree that managing a typical IT project is different from coping with its outsourced counterpart. The latter has to be supported by an appropriate service provider, and the systems development life cycle will have to be managed flawlessly if the team expects to encounter positive outcomes (Clarke & O’Connor, 2012). This is why it is critical to be on the constant lookout for unpredicted challenges. In order to mitigate such inappropriate outcomes and adhere to the security and resiliency needs of the organization, the team may be subject to following a typical SDLC scenario. One of the key aspects of the team’s success is strong project management. Second, there is an obligation to deliver only high-quality systems (Davis, 2013).
So as to accommodate outsourcing, the team has to plan the development process both effectively and safely before getting to the application design and testing. For an outsourced project, there have to be a risk assessment tool and a framework for managing information and available resources (Volter et al., 2013). Safeguarding the project may also be associated with defining the termination date of the outsourcing contract and determining the decision rights. This is important because the individuals involved in outsourcing should cope with the proposals accurately (Clarke & O’Connor, 2012). The security and resiliency needs of the organization should be in line with the SDLC performance standards and contract’s scope. Overall, the expectations should be communicated to the service provider at all times. Such agreements will contribute to the selection of the optimal SDLC.
Development Process Assessment
There are five key phases of the development process assessment that can be identified in Taylor’s (2013) video. First, there is the stage of reviewing the organizational structure and team roles. This stage is crucial because it provides the team with the insights on their task and allows them to allocate resources properly. Moreover, the team may be able to choose the strategy to tackle their short- and long-term objectives (Volter et al., 2013). Throughout the second stage, the team has to analyze the policies and requirements. This has to be done in order to make sure that development process is not impacted by any external or internal variables in a negative way. In other words, the project will be aligned with the organizational culture (Taylor, 2013).
The next stage of the process assessment includes the analysis and aggregation of the data. By means of collecting evidence, the team ensures that they address each of the identified issues properly and do not miss any critical limitations. The fourth step of a decent process assessment includes focused interviews with team leaders (Taylor, 2013). This is necessary because only a team effort can guide the project. This is why an intermediary stage of coming up with the best practices is rather common for the organizations that follow these stages. The last phase of SDLC process assessment includes the creation of a report that includes the gaps that have to be addressed (Highsmith, 2013). It may also be useful to make sure that all the recommendations provided by the members of the team are compiled into a separate list and taken into account by the project team.
Clarke, P., & O’Connor, R. V. (2012). The situational factors that affect the software development process: Towards a comprehensive reference framework. Information and Software Technology, 54(5), 433-447.
Davis, A. (2013). Just enough requirements management: Where software development meets marketing. Boston, MA: Addison-Wesley.
Highsmith, J. (2013). Adaptive software development: A collaborative approach to managing complex systems. Boston, MA: Addison-Wesley.
Merkow, M. S., & Raghavan, L. (2010). Secure and resilient software development. Boca Raton, FL: CRC Press.
Taylor, J. (2013). Webcast: Conducting an SDLC gap analysis using industry best practices. Web.
Volter, M., Stahl, T., Bettin, J., Haase, A., & Helsen, S. (2013). Model-driven software development: Technology, engineering, management. Hoboken, NJ: John Wiley & Sons.