Define measurement data points for Test Case analysis
Creation and Validation of the predictive model
Articles / Web Information
Software Processing Methodology:
Understanding the Problem
In this work, I examine three different Software Processing Methodologies. I start with the iterative model, followed by the spiral model, and conclude with the V-model. Each of these methodologies are discussed in length to gain a clear understanding of their similarities and differences. This paper focuses on gaining a key understanding of the methodologies and when it is best to utilize each. Each serves a special purpose; the process of understanding the problem one must solve remains as complicated as actually solving the problem itself. In this work, I will investigate the intricacies required to formulate the problem while also selecting the appropriate methodology. I will analyze each of the methodologies, their pros and cons, given problem we are intending to solve. The pure nature of the problem will not only dictate which methodology, but also foreground why. The why becomes critical to providing a solid response.
This work also provides an analysis of historical projects and examines their chosen methodology. I provide a complete breakdown of the thought process for entry into the methodology as well as an examination and summary of the life cycle model based on the chosen methodology. I conclude each with a summary of possible different outcomes if another methodology would have been selected to solve the same problem.
The end results of this work is intended to provide a new setup entrance criteria to select a software processing methodology based on the problem. Given the enormity of software processing methodologies, this work will sub-focus on the requirement element of each model listed above.
How to determine which software processing methodology provides the optimal delivery of a complex solution with regards to functionality, cost, schedule, and quality, also known as the quad constraint (PMI, 2007). Quad constraint an extension of the well-known triple constraint;, which consists of cost, functionality, and time. The triple constraint forms one of the most important concepts in the context of project management. However, as Reis (2008) pointed out that the execution of a given project includes the alteration of three or four legs of a 'stool' that comprises of cost, time, and functionality and now includes quality as the fourth leg or constraint. A change in functionality would lead an increase in project cost and time along with possible impacts to quality. This means that an alteration of one leg of the stool would mean a change in the other legs of the stool[footnoteRef:1]. This praxis will examine three different software processing methodologies. The end goal is to develop a model that will predict which model should be used to deliver the given solution. [1: See Reis (2008)]
Deploying a solution that optimizes the quad constraint remains crucial to the survival of all companies. The quantitative portion of this praxis will focus on the requirements aspects of each model, but a full understanding of each model will be required. Requirements are the cornerstones of driving a successful project. Failure to produce and deliver quality and accurate requirements is the main cause of project failure with regards to the quad constraint. This praxis will not spend cycles reproving the value of software processes, but will rely on already proven works. This work will examine the various models to set the background and understanding of the value of each. The comparison is relevant to creating the final model for selection.
The extended technical question that drives the overall thought process hinges upon what solution works best in the current customer environment to deliver and support the end solution within the overall strategic business case. Companies struggle with understanding the multitude of approaches to deliver a complex technical solution. When choosing a methodology, organizations must consider the current resources available people, processes, and technology within given environment. The combination of building and maintaining a solution within the cost and revenue guidelines causes most IT leaders to move with caution on any technical decision, let alone the methodology. The focus is to help those leaders choose the best methodology so as to ensure success.
The importance of the problem involves improving the number of successful deliveries in the context of the quad constraint. Projects always deliver. That is not the concern. Optimizing the delivery and reducing overall costs to improve revenue are the motivating factors behind selecting the best fit methodology. The goal is to help organizations select the right methodology and ramp up resources to drive the requirements phase of the project. Focusing delivery using the best fit methodology has proven to reduce costs and provide a better quality solution.
This work utilizes both academic and corporate theory to define a set of new entrance criteria for selecting the model to best solve the problem.
The following is the approach of this paper.
1. Introduction and Setup the Problem (Theory)
a. This information is provided in Section I and serves to set the stage for the problem we are attempting to solve. It also includes the rationale behind the work.
2. Analysis of three Software Methodologies (Theory)
This information is provided in Section II and will focus on defining the three methodologies along with the SWOT analysis for each. This section will conclude with recommendations on how to begin the definition of the data points required to build the predictive model for entrance criteria on methodology selection.
3. Define measurement data points for test case analysis (Theory plus Practical)
This information is provided in Section III and consists of evaluating six completed complex technical solutions using each of the models. The solutions selected are similar in nature and completed for a more comprehensive result. This section also defines the data points for the predictive model.
4. Creation and Validation of the predictive model (Practical)
This information is provided in Section IV and is the mathematical representation in Excel that provides a methodology recommendation based on the input parameters and data points defined in section III. The model that will be used has not been finalized because it will rely on the data points defined in Section III. We will review and determine if the model will use semantic, UML, SysML or a combination. The final model will take inputs from the determined model (s).
This section provides a summary analysis of the findings as it relates to the research. This section will also discuss the practical usage of the model in a corporate vs. academic environment.
Research and Contribution Methods
Textbooks, internet articles, current and past work experience, interviews with colleagues and discussions with other industry experts will guide and shape the outcome of this praxis. I plan to work with corporations, universities, and government agencies to acquire the required completed projects for the analysis against each methodology.
I will also take the predictive model into my current company and use it against new projects on the horizon. The goal of my praxis is to have three small projects created from start to finish using each of the three methodologies and conclude if the predictive model can be validated in a controlled sample.
Software Processing Methodologies
Developing a system methodology means the structuring, controlling, and planning the development of a system of information (CMS,2005). There have been a number of frameworks developed over the many years with each framework exhibiting its uniqueness in recognized strengths and weaknesses. In this consideration, all system processing methodologies are not all good fits for all projects. Of course using the word "all" makes this statement true. The real focus is not which methodology does not fit, but rather which is the more optimal fit. In this section we explore the Waterfall, Iterative, and V-model methodologies. The end result of this section are to provide the path to the data points required in section III.
The background of software processing methodologies
According to Royce (1970), the explicit models in the context of software evolution can be traced to the earliest project that involved the development of very large software systems in 1950's as well as 1960's.In totality, the most obvious purpose for the development of these earlier software development methods/models was to present a conceptual scheme to be used for the rational management of the software development systems. These schemes served as the main basis used to plan, organize, staff, coordinate, budget as well as direct all of the software development activities.
Boehm (1976) pointed out that since the 1960's several descriptions of the traditional (classic ) software life cycle have been…