Why is it important to follow a process model? Does it have any benefits?
Process Models are well defined processes and procedures that have been used repeatedly for the development of systems. Following one of these processes will help with the definition of what needs to be done, and how it should be done. Selecting the appropriate process model is also important since it can affect the duration of the development process and the overall cost. Process models like waterfall, Incremental-build, Evolutionary, Agile, and Spiral models, can help a software development team with the process of continuous integration, verification and validation, early defect detection, and the early warning processes of potential problems and issues that every project encounters
Software is just like building anything else in the world. To do it effectively and efficiently you need a process. Just like manufacturers have work instructions and procedures on how to build a product, software engineers also need a process to properly build the application. The main objectives of a process is to increase productivity, quality, and improving the workflow within and among tasks to make software development more efficient and more effective. Improved work processes raise the productivity and morale of software developers, which then gets passed on to satisfaction of users and customers.
In short, having projects run within pre-established methods that work increase the chances of project success.
Processing models are a set of standards that software engineers use in designing and coding their software. UML or Unified Modeling Language, can be considered a process model because it is the industry standard for modeling software systems.
How do process models help project align? Align with what? Strategic goals? Thoughts?
Process models help to align the project with business/project requirements. Projects will support strategic goals. Whether it’s a software project or remodeling a room you need a plan to do it. Process Models present steps you should take. Our organization is in the early steps of adopting a Scrum framework which, I believe, is one of the best for software development along with RUP. Granted I’m only basing that off of what I have learned and from what those that have done it told me. I personally have never worked on a software development project but I am ScrumMaster certified and have been through other Scrum training. From that training we used software development projects to practice and it just seemed to work well. I have also talked with Sr PM’s and they have stated the same thing.
What are some drawbacks or disadvantages of using a process model?
Processes and procedures serve as a guide for any implementation or project. Not having a defined process could lead to redundancy and an increase in overall project cost. One of the major disadvantages with a process model is that you cannot deviate from the defined process. You have to follow the defined process all the way out. Reducing redundancy saves time and money. Also, you are right about not being able to stop the process once it is started. When we first put our process together it was cumbersome and time consuming. No one liked it and it cause a lot of frustration.
What is another disadvantage of having a process model?
Process model obligates you to follow establish rules and criteria. Kinda like forcing you to follow the rules. in regard to the waterfall model specifically, here are a few disadvantages:
The biggest disadvantage is one of its greatest advantages. You cannot go back a step; if the design phase has gone wrong, things can get very complicated in the implementation phase.
Often, the client is not very clear of what he exactly wants from the software. Any changes that he mentions in between, may cause a lot of confusion.
Small changes or errors that arise in the completed software may cause a lot of problems.
Until the final stage of the development cycle is complete, a working model of the software does not lie in the hands of the client. Thus, he is hardly in a position to inform the developers, if what has been designed is exactly what he had asked for.
What are some drawbacks or disadvantages of using a process model?
Process models are specialized process, procedures, design and arrangements, and systemic procedures used to develop software products and services. However, the impact of global supply chains and outsourcing/off-shoring of software developments activities across the globe, much compartmentalization and different areas of quality assurance, engineering and human capital teams, technology and equipment, and entire systems/processes/quality assurance. and putting together has meant PROCESS MODELS ARE NOT ALWAYS NEEDED. In fact, the large complex software technology, systems, components, and products and services demanded these days may require hundreds if not thousands of software processes and sub processes as they through global supply chain before final development is released. The reliance on one or few models do not simply work and vast range of software/engineering/programming/architectural personalities, visions, leadership, style and approach, trust and risk management has meant process models are not always enforceable during the entire software development process. Both the public and private section have many hundred billions allocated for new software development products and services and now INFORMATION SECURITY THREATS AND RISKS has pushed new trends towards more confidential in house processes and models harder to crack than the mainstream practices. Its about protecting the secrets, competitiveness, control, and insider knowledge of software developments and to prevent leaks and breaches of very critical knowledge that could damage projects and sponsors for a very long time frame. Thus, reliance on process models are decreasing and now with declining software infrastructure as more large scale and critical operations go overseas, there is little software developers can use to ensure the models and processes are done correctly and effective for the software development. Its not an easy process and software developments need a broad and diverse range of high end, high tech, high infrastructure and human capital, and newest and most innovative processes for each stage and process of development is needed and not a very narrow and bland approach. No matter what process model used, it falls short and opportunities for small to medium size software developers and servicers is declining as they are being bought by larger firms or go under because they cant compete or do not have the resources to develop software that meets and exceeds what the market demands. The technology changes too rapidly, costs cant be kept under control, and better wages and opportunities at larger firms means attracting and retaining quality human capital is difficult.