Project Management History and Relevance to Software Development
Verified
Added on  2023/04/07
|15
|3385
|378
AI Summary
This report discusses the history of waterfall and agile methods of software development, their issues and success criteria, and current industry trends.
Contribute Materials
Your contribution can guide someone’s learning journey. Share your
documents today.
Runninghead:PROJECTMANAGEMENTHISTORYANDRELEVANCETOSOFTWARE DEVELOPMENT Project Management history and relevance to Software Development Name of the Student Name of the University Author’s note
Secure Best Marks with AI Grader
Need help grading? Try our AI Grader for instant feedback on your assignments.
1PROJECT MANAGEMENT HISTORY AND RELEVANCE TO SOFTWARE DEVELOPMENT Table of Contents 1. Introduction..................................................................................................................................2 2. Discussion....................................................................................................................................3 2.1 Waterfall History and Review...............................................................................................3 2.2 Waterfall Issues and Success.................................................................................................4 2.3 Agile History and Review.....................................................................................................5 2.4 Agile Issues and Success.......................................................................................................7 2.5 Observation of Current Industry Trends and Methodology Selection...................................8 3. Conclusion...................................................................................................................................9 References......................................................................................................................................11 Bibliography..................................................................................................................................14
2PROJECT MANAGEMENT HISTORY AND RELEVANCE TO SOFTWARE DEVELOPMENT 1. Introduction The software project management can be defined as an art and rigorous planning based on the leading software development projects. The software project management can be defined as an art in which the software projects are previously planned, monitored, implemented and controlled by efficient project managers. With the introduction of computers, the industry of software development has grown rapidly (Fuller et al., 2017). In order to manage the new efforts based on development, the various companies have majorly applied the knowledge of various project management methods to design the project schedules, allocate costs and implement other features for the purpose of project development. Agile software development can be defined as an approach to the process of software development based on which the solutions and requirements evolve with a collaborative effort. In the 1990s, a vast number of methods based on software development had evolved in order to handle the existing heavy weight methods, which were also considered as micro-managed, planned and regulated (Abrahamsson et al., 2017). The methods of agile development break the work of product development into various smaller increments that are able to minimize the amount of planning of work. The various iterations are considered as short time-frames that normally last for a few weeks. This report thus discusses the history of a waterfall and agile method of software development, the issues discovered and the success criteria of the software development process. The report also discusses the current trends within the industry and the discussion about the chosen methodologies that could put an impact on the organizational procedures.
3PROJECT MANAGEMENT HISTORY AND RELEVANCE TO SOFTWARE DEVELOPMENT 2. Discussion 2.1 Waterfall History and Review The Structured Systems Analysis and Design Method or the Structured approach are defined as a systems approach for the purpose of conducting an analysis and design of the Information Systems. This approach can also be defined as a waterfall method based on the purpose of performing analysis and design over the information systems (George, 2019). The principle design of the structured approach of waterfall method had initiated from the 1980s and thus the several versions had evolved further. On the other hand, the object-oriented analysis can be defined as a technical approach for the purpose of analyzing and then design an application, business or system. The object-oriented waterfall approach with the addition of visual modeling helps in fostering a better form of stakeholder communication and improving product quality. The object-oriented approach has been considered as the best form of a modern software engineering technique that is mainly conducted in an incremental and iterative way (Dennis, Wixom & Tegarden, 2015). In the initial days of the development of this approach, there were many different computing methodologies in relation to objected-oriented modeling and software development. In that time there were no such standard notations, process guides, and consistent terms, which were considered as the major concerns during that time. The lack of such necessities had degraded the efficiency of communication and also lengthened the learning curves. The traditional structured approach views the entire system from a top-down view. It has been described as a formalized step-by-step approach that is in relation to software development and thus consists of various phases or activities (Buede & Miller, 2016). In both of the approaches based on the Waterfall method, the process of software development follows a step-
Paraphrase This Document
Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser
4PROJECT MANAGEMENT HISTORY AND RELEVANCE TO SOFTWARE DEVELOPMENT by-step approach that primarily consists of activities or phases. The activities defined in a particular phase should be completed in order to move to the next phase. Milestones are defined in each of the phases and at the completion of each activity, the milestones are achieved. The process model is situated at the center of the structured approach (Bell, Bryman & Harley, 2018). This depicts the processes of business within the system. The primary model presents the processes of the data flow diagram. 2.2 Waterfall Issues and Success During the process of evaluation over the structured and object-oriented approach of waterfall methodologies, it was found that there were some problems in both these approaches. The standards notations, process guides, and consistent terms were mostly lacking at that time, which lead to delay in project delivery and defining a proper schedule to the project (Giachetti, 2016). Further development within the object-oriented and structured approach had led to several improvements in both these approaches. These approaches divide the software life cycle into different stages. In the first stage, the abstract of the entire project is defined. The descriptions to the problems are defined in order to design the code and then finally test to before the delivery of the product. With the several improvements to the software development approach based on the waterfall model, it can be discussed that the object-oriented paradigm puts emphasis on the practice of code reusability and modularity (Kuhrmann et al., 2017). The software life cycle based on both approaches divides the entire program into several small stages that initiate with defining the abstract descriptions to the exact problem. The development team is then responsible to understand the existing problem and design code. This code would further be tested by the testing team before the final deployment of the software product. The primary stage of the process of software development is
5PROJECT MANAGEMENT HISTORY AND RELEVANCE TO SOFTWARE DEVELOPMENT defined as analysis and design. In the object-oriented analysis, the functional model is done by utilizing use cases and different abstract definitions of the vital objects (Despa, 2014). The primary focus of object-oriented design is based on describing data, interactions, and behavior. The design model provides the exact details that would be useful for programmers to implement within the code of the application. The Structured approach follows three important techniques. These are Logical Data Modeling, Data flow modeling and Entity Event modeling. The structured approach also follows a sequence of steps for the design of the application, which includes the process of analysis, documentation, and design of tasks (Stoica et al., 2016). This approach conducts a feasibility study, investigates the present environment, identifies the options within the business and technical system, specifies each requirement and then works on the design of logical and physical systems. After the development of research, the complete design would be able to suggest the software engineers build the system according to the specific standards. 2.3 Agile History and Review The agile software development process can be defined as an approach towards the development of software based on which the requirements and prescribed solutions would evolve with the help of a collaborative effort. The agile methodology started coming into effect from the early 1990s with a variety of methods of software development (Levy, Short & Measey, 2015). The software engineers at that time had decided to create a new methodology to remove the methodology present within the current practices of software development during that time. The methodology had consisted of various principles and values (Crowder & Friess, 2015). The agile methodology is based on an iterative and quick developing software that is primarily focused on
6PROJECT MANAGEMENT HISTORY AND RELEVANCE TO SOFTWARE DEVELOPMENT the feedback of customers and effective communication between the involved people within the process of building of the software product. Themostcommonissuesthatarefacedduringtheimplementationofagile methodologies in several industrial projects are: 1.Communicatingwithinthechangingcultureoftheorganizationandmeeting expectations of customers. This is a huge problem in the process of implementing agile methodology within the industry. 2. The process of procurement and buying of agile based software systems is expensive. A proper form of training should be provided to the employees in order to help them in understanding the process of using the software process (Conforto et al., 2014). In some cases, the concerned team is not interested in adapting to the changes within the industry. The fragmentation within several departments and a proper lack of awareness within the management lead to problems in adoption to agile methodology. 3. There are also day-to-day operational problems after the implementation of agile software methodology. The project managers believe that there is a decreased visibility towards the progress of the project. In large projects, there are different complexities towards progressing on the project work. Unplanned activities would lead to risks to the project and thus there is a chance that the project might get failed. The implementation of agile project management methodology within the industry needs to follow certain steps:
Secure Best Marks with AI Grader
Need help grading? Try our AI Grader for instant feedback on your assignments.
7PROJECT MANAGEMENT HISTORY AND RELEVANCE TO SOFTWARE DEVELOPMENT 1. A vision should be set towards designing a strategy. In this meeting, the agenda of the business would be defined that would be addressed by the project. The target customers, need statement, product name and benefits of a key product would be defined. 2. After the strategy is defined, the product owner would translate the organizational vision into a product roadmap. 3. After the strategy has been planned, it would be important to set a tentative time for the completion of each step of the project phase (Rasnacis & Berzisa, 2017). The product owner would create a timeline based on the release of the software. The setting of a timeframe would generally depend on the exact length of sprints and the periods of work. A typical release plan would generally comprise of 3 to 5 sprints. 2.4 Agile Issues and Success Historical Context of RAD and JAD The Agile development framework had become popular in early 2007 because various software developers had come to use the new software methodology. The Joint Application Development (JAD) and Rapid Application Development (RAD) are defined as two techniques that embodied the principles of agile. The JAD is defined as a process of software design that would bring together various sponsors, designers, analysts, and developers to help in discussing solutions. The basic success criteria of JAD systems was to identify the limitations and project objectives. They would also identify the critical success factors and define the project deliverables (Zheng et al., 2016). Based on the identification of project objectives, the valuable participants would be selected, workshop activities are conducted and then the deployment of the project would initiate.
8PROJECT MANAGEMENT HISTORY AND RELEVANCE TO SOFTWARE DEVELOPMENT On the other hand, RAD is defined as an iterative process of software development. In this process, a prototype model would be designed, which would be responsible for answering any particular question. The prototyping of user interface would help in the reduction of pertaining risks based on presenting of finished software that would have an unacceptable user interface (Guzmán et al., 2017). The primary idea of prototyping is to expose any part of a given solution to the end user. This process is highly necessary to gain critical feedback from the end user and then react to those feedbacks. The feedback from the end users is extremely important as they would help the software designers to understand the areas in which improvements would be needed. They would thus follow those prescribed instructions and thus solve queries. However, with the principles of Agile and a proper definition of the use of RAD and JAD, it would be clear that there is an overlapping of the three terms. The agile methodology is a better consideration in which the techniques of RAD and JAD can be placed (Rosenberg et al., 2017). The agile framework helps in presenting the community of software development with a philosophy regarding software development. Hence, it can be discussed that both these existing techniques would be able to fit within the framework for agile software development. 2.5 Observation of Current Industry Trends and Methodology Selection The practices of software development have evolved in recent decades. There has been an inclusion of several models and methods that have helped in enhancing the effectiveness and efficiency within software projects. Based on focusing on the current trends within the software development industry, it could be found that there are three major trends that are widely followed for the practices of software development. Firstly, the agile methods of software development are gaining high popularity based on life cycle models. The agile methods are mostly better in dealing with the changing requirements
9PROJECT MANAGEMENT HISTORY AND RELEVANCE TO SOFTWARE DEVELOPMENT of users (Kaiser, El Arbi & Ahlemann, 2015). The various agile methods also help in the promotion of a better kind of working relationship that also includes different analysts, testers, developers, project managers, and end users. Secondly, the testing of software is considered as an integral activity within the process of software development. The process of conducting software testing is an indispensable part of ensuring the quality of software. On a traditional part, the testing has been always been consideredasadistinctandseparatestagetowardstheendoftheprocessofsoftware development (Simpson et al., 2014). Various project managers also suggest that software testing should be integrated into the software development life cycle in order to consider the various negatives outcomes from the software. In the current trends in the software development industry, six models have been developed to engage different testers throughout the process of software development. These engaging testers are helpful for the team to catch defects within the code in an early phase of software development (Fenton & Bieman, 2014). The detection of errors in code and correcting them would help the organization in cutting various costs of development. This is because fixing of error codes after the development phase would increase the costs by a certain magnitude. 3. Conclusion Based on the above discussion, it could be concluded that the different trends in methodologies of software development have various kind of important implications to the research community and people involved with a particular project. The discussion focuses on the use of waterfall and agile methods for the development of software. Research on the history of these methodologies had led to the conclusion that before the implication of these methodologies
Paraphrase This Document
Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser
10PROJECT MANAGEMENT HISTORY AND RELEVANCE TO SOFTWARE DEVELOPMENT there used to several problems based on documenting of projects and properly planning the entire schedule of the project. However, from the inception of the methodologies, the processes of software development have rapidly smoothened. The discussion in this research focuses on the use of waterfall and agile software development methodology that could be adopted within the processes of industry based on bringing in changes within the process of the software industry. In recent times, it has been seen that various organizations of software development mainly focus on the adoption of agile development processes for progressing on the work of projects. This study helps in discussing the history of the waterfall and agile methodologies and also providing a centric view of the practices of software development. The study also covers a review of the two software development methodologies, the trends within the present software industry and their implications over the project development phase.A proper review over the methodologies of software development could be helpful for students, educators and project managers to help in developing a proper software that would be able to meet the standards of the industry and also meet the expectation of customers. The proper form of identification of latest trends about the use of latest practices of software development methodologies could help the practitioners to deal and make better kind of tactical decisions in future research over the development of software.
11PROJECT MANAGEMENT HISTORY AND RELEVANCE TO SOFTWARE DEVELOPMENT References Abrahamsson, P., Salo, O., Ronkainen, J., & Warsta, J. (2017). Agile software development methods: Review and analysis.arXiv preprint arXiv:1709.08439. Bell, E., Bryman, A., & Harley, B. (2018).Business research methods. Oxford university press. Buede, D. M., & Miller, W. D. (2016).The engineering design of systems: models and methods. John Wiley & Sons. Conforto, E. C., Salum, F., Amaral, D. C., Da Silva, S. L., & De Almeida, L. F. M. (2014). Can agileprojectmanagementbeadoptedbyindustriesotherthansoftware development?.Project Management Journal,45(3), 21-34. Crowder, J. A., & Friess, S. (2015).Agile project management: managing for success(pp. 27- 29). Cham: Springer International Publishing. Dennis, A., Wixom, B. H., & Tegarden, D. (2015).Systems analysis and design: An object- oriented approach with UML. John wiley & sons. Despa, M. L. (2014). Comparative study on software development methodologies.Database Systems Journal,5(3), 37-56. Fenton, N., & Bieman, J. (2014).Software metrics: a rigorous and practical approach. CRC press. Fuller, M. A., Valacich, J. S., George, J. F., & Schneider, C. (2017).Information Systems Project Management: A Process and Team Approach, Edition 1.1. Prospect Press.
12PROJECT MANAGEMENT HISTORY AND RELEVANCE TO SOFTWARE DEVELOPMENT George, A. L. (2019). Case studies and theory development: The method of structured, focused comparison. InAlexander L. George: A Pioneer in Political and Social Sciences(pp. 191-214). Springer, Cham. Giachetti, R. E. (2016).Design of enterprise systems: Theory, architecture, and methods. CRC Press. Guzmán, L., Oriol, M., RodrÃguez, P., Franch, X., Jedlitschka, A., & Oivo, M. (2017, February). How can quality awareness support rapid software development?–a research preview. InInternational Working Conference on Requirements Engineering: Foundation for Software Quality(pp. 167-173). Springer, Cham. Kaiser, M. G., El Arbi, F., & Ahlemann, F. (2015). Successful project portfolio management beyondprojectselectiontechniques:Understandingtheroleofstructural alignment.International Journal of Project Management,33(1), 126-139. Kuhrmann, M., Diebold, P., Münch, J., Tell, P., Garousi, V., Felderer, M., ... & Prause, C. R. (2017, July). Hybrid software and system development in practice: waterfall, scrum, and beyond. InProceedings of the 2017 International Conference on Software and System Process(pp. 30-39). ACM. Levy, R., Short, M., & Measey, P. (2015, March). Agile foundations: principles, practices and frameworks. BCS. Rasnacis, A., & Berzisa, S. (2017). Method for adaptation and implementation of Agile project management methodology.Procedia Computer Science,104, 43-50.
Secure Best Marks with AI Grader
Need help grading? Try our AI Grader for instant feedback on your assignments.
13PROJECT MANAGEMENT HISTORY AND RELEVANCE TO SOFTWARE DEVELOPMENT Rosenberg, D., Boehm, B., Wang, B., & Qi, K. (2017, July). Rapid, evolutionary, reliable, scalable system and software development: The resilient agile process. InProceedings of the 2017 International Conference on Software and System Process(pp. 60-69). ACM. Simpson, T. W., Jiao, J., Siddique, Z., & Hölttä-Otto, K. (2014). Advances in product family and product platform design.New YorN: Springer. Stoica, M., Ghilic-Micu, B., Mircea, M., & Uscatu, C. (2016). Analyzing Agile Development- from Waterfall Style to Scrumban.Informatica Economica,20(4). Zheng, X., Le, Y., Chan, A. P., Hu, Y., & Li, Y. (2016). Review of the application of social network analysis (SNA) in construction project management research.International journal of project management,34(7), 1214-1225.
14PROJECT MANAGEMENT HISTORY AND RELEVANCE TO SOFTWARE DEVELOPMENT Bibliography Dingsøyr,T.,&Lassenius,C.(2016).Emergingthemesinagilesoftwaredevelopment: Introductiontothespecialsectiononcontinuousvaluedelivery.Informationand Software Technology,77, 56-60. Dingsøyr, T., Fægri, T. E., & Itkonen, J. (2014, December). What is large in large-scale? A taxonomy of scale for agile software development. InInternational Conference on Product-Focused Software Process Improvement(pp. 273-276). Springer, Cham. Papadopoulos, G. (2015). Moving from traditional to agile software development methodologies also on large, distributed projects.Procedia-Social and Behavioral Sciences,175, 455- 463. Popli, R., & Chauhan, N. (2014, February). Cost and effort estimation in agile software development.In2014internationalconferenceonreliabilityoptimizationand information technology (ICROIT)(pp. 57-61). IEEE. Turk, D., France, R., & Rumpe, B. (2014). Limitations of agile software processes.arXiv preprint arXiv:1409.6600. Usman, M., Mendes, E., Weidt, F., & Britto, R. (2014, September). Effort estimation in agile softwaredevelopment:asystematicliteraturereview.InProceedingsofthe10th International Conference on Predictive Models in Software Engineering(pp. 82-91). ACM. Yu, X., & Petter, S. (2014). Understanding agile software development practices using shared mental models theory.Information and Software Technology,56(8), 911-921.