SOFTWARE PROCESS  In software engineering there are many definition of software process. “The software process is the set of steps and method that used different tools to produce high quality products.” The objective of software process is to provide an appropriate organizational constancy and good control. The software process is a framework of tasks to manufacture excellence software. (R.S. Pressman) Many example is observe in software engineering field like The Software engineering development process (SDLC), Requirements engineering process, Quality assurance process ,Change management process, Design process.
PART C: Research – Agile Methodologies 1. Introduction Agile software development methodologies are based on iterative development whereby requirements and solutions evolve through collaboration between self-organizing cross-functional teams. It is used to structure, plan and control the process of developing an information system. There are several software methods also known as agile techniques such as Scrum, Extreme Programming, Adaptive Software Development and Lean Software Development. An agile manifesto is a document used to uncover better ways of software development by implementation and following specific values and principles.
Before a software or a program is created, there are a few stages that the software development team need to follow to build a good software. To build that, they need to follow the software development life cycle (SDLC) process. According to Justin (2003), the SDLC is a process to ensure a high quality software that is build to meets the customers’ requirements and also to reaches completion within the cost and time estimation in the project development process. SDLC is a framework that defines all the tasks or works to be performed at each stages. There are five stages in developing a software namely the planning, analysis, design, implementation and maintenance of the software (refer to Figure 1 in Appendix 1).
System development life cycle is a term used by system engineers to explain the cycle of planning, creating, testing, producing and refining and it’s used in software systems, hardware systems or both together. It’s made up of different work stages to help system engineers though the process of making a system. These engineers start a project from scratch and build an entire functioning system based on users’ needs, and these systems go through phases in the order of planning, analyzing, designing, building, lunching then maintaining. System engineers spend time in each phase to ensure the quality of the system. Examples of system development life cycle are waterfall and iterative development.
Once the system passes testing, it is documented and installed for use” (Williams, Ashley). Essentially, this methodology consists for a few different stages, and the stages differ depending on the development that is being performed. However, the stages encompass the necessities for the full rollout of an application. The stages are as follows: • Requirements: In this phase, the requirements are laid out and serves as the foundation for the development of the application. The expectations for the application are
As such, during project development and implementation, all the above phases need to be considered and ensured that proper planning is put in place for effective project development to be achieved. During the process of project development within an Information Technology organization, the above project development cycle need to
Scrum team utilizes Sprint Retrospective to inspect itself and extract learned lessons to identify the possible improvements to be considered in the next sprint. Scrum framework includes three main artifacts: product backlog, sprint backlog, and increment. • Preparing Product backlog is the first activity of the product owner that includes visualizing the product and creating a refined and prioritized list of tasks . The product backlog evolves as the product evolves. For ongoing product development, the product backlog might also contain new features, changes to existing features, defects needing repair, technical improvements, and so on .
In any case, in this model before advancement is begun, a framework test arrangement is made. The test arrangement concentrates on meeting the usefulness indicated in the necessities gathering. • The abnormal state outline (HLD) stage concentrates on framework engineering and plan. It gives review of arrangement, stage, framework, item and administration/process. An integration test arrangement is made in this stage also with a specific end goal to test the bits of the product frameworks capacity to cooperate.
Software process models A structured set of activities required to develop a software system, • Specification: what the system should do and its developments constraints. • Design: production of software systems. • Validation: checking the software to make sure it is what the customer wants. • Evolution: changing the system in response to changing demand. A software process model is an abstract representation of process.