The development of software by an IT professional is basically divided into two parts -
A collection of several operations for a well-defined task for the purpose of achieving a goal is known as a project. The characteristics of a project are:
The complete process of development of the software starting from gathering of the requirement till testing and maintenance, which is carried out in accordance with the available methodologies of execution in a mentioned time frame for achieving the desired software product in known as software project.
Development of software is new concept in the present business world and hence there is no much experience in producing the software products. The software products are developed as per the requirements of the clients. The experience of one product becomes outdated to other products because of the rapidly changing environment and technological advances. This may increase the risk in development of the software and hence the software projects need to be managed efficiently.
Software project is accompanied by many constraints. The triple constraints concept of the software project is shown in the image above. A quality product needs to be delivered by lowering and maintaining the cost within the specified constraints and the project need to be delivered within the promised time. These constraints are impacted by several internal and external factors. Among these three also, any one of them can have major impact on the other two.
Hence it is very important that the software project management has to incorporate the requirements of the user within the estimated budget and within the specified time.
A person who is responsible for executing the software project is known as software project manager. Software project manager has complete information and knowledge about the different phases of SDLC which the software will go through. The activities that are involved in the production are controlled and managed by the software project manager but he never directly involves in software production.
The process of development is monitored by the project manager, different plans and prepared and executed, resources are arranged, communication among the team members is maintained and the issues with respect to cost, budget, resources, quality etc are addressed.
Software Project manager have a wide range of responsibilities to be carried out. Some of such responsibilities are -
A variety of activities come under the umbrella of Software project management. Some of such activities include project planning, defining the scope of software product, cost estimation, tasks and event scheduling and management of resources. The activities of project management include -
Before staring the production of software, the task of project planning is performed. Planning includes the set of multiple processes, facilitating software production. It is only a task and not an activity which has direct impact on the production of software.
The scope of the project is defined by scope management. The scope of the project includes all the activities involved in the project, the required process for making a deliverable software product. The scope creates the boundaries of the project as it defined what is done and what is not done in the project and hence scope management is very crucial. The time and cost overrun can be avoided and the tasks are made quantifiable and enable to easily document the tasks.
During Project Scope management, it is essential to -
Various measures need to be estimated accurately for an effective project management. A project can be managed and controlled efficiently and effectively by using correct estimations.
Project estimation may involve the estimation of the following:
Software size estimation
The size of the software is estimated either in terms of KLOC (Kilo Line of Code) or can also be estimated by calculating the function points included in the software. As per the requirement of the user or the software, the function points vary and the Lines of code depend on the coding practices.
In accordance with the requirement of the personnel and man-hour for producing the software, the efforts are estimated by the managers. The size of the software is very essential for estimating the efforts. The efforts can be estimated either using the historical data of the organization or by applying some of the formula, the size of the software can be converted into efforts.
It is also essential to estimate the time required for producing the software. By using the Work Breakthrough Structure (WBS) the software tasks are divided into smaller tasks and which are being scheduled on a day-to-day basis or monthly basis.
The time required for completing all the tasks is added together for obtaining the total time required for completing the project.
Estimation of costs depends on many elements and hence is considered difficult that estimation of other factors. The following elements need to be considered for estimating the cost.
Project estimation is done in terms of various parameters such as size, effort, time and cost.
The above mentioned factors can be estimated by using two different techniques by a project manager. They are -
Under this technique, the software is assumed to be a composition of various components. The main models of this technique are -
Under this technique, estimation is done by using the empirical formula. The formulae are based on LOC or FPs. The models of this technique are -
The model is based on the frequency distribution of Norden. Under this model, the effort and time required are mapped with the size of the software.
COCOMO stands for COnstructive COst Model. Under this model the product is divided into three different categories - organic, semi-detached and embedded.
The roadmap of all the project activities that are carried out within the specified time and within the specified order is known as project scheduling. Various tasks and milestones of the project are defined by the project managers and accordingly they are arranged. They mainly concentrate on the tasks that are in the critical path of the schedule that are to be completed in a specified time and specified manner. The tasks that lie out of the critical path do not impact the project schedule.
It is essential that some of the points need to be considered while scheduling a project. They are -
The resources of a project constitute all the elements that are essential for developing a software product including software libraries, human resource and productive tools.
The resources remain in the organization and are considered as a pool of assets. The availability of the resources is in limited quantity and hence the project development is hampered by the shortage of resources. If extra resources are allocated that may lead to increase in the development cost. Hence adequate resources need to be estimated and allocated for the project.
Resource management includes -
The activities related to the project such as identifying and analyzing the predictable and non-predictable project risk is known as project risk management. The following are associated Risk.
The risk management process involves the following activities. They are -
In the project plans the tasks are described and the described tasks are executed as scheduled.
To check if everything is going as per the plan, monitoring is required. The risk probability is monitored and measures are taken for addressing the risk and the status of the different tasks is reported.
Some of such measures include -
The success of the project depends on effective communication. The gap between the organization and the client is bridged by communication. Also the gap between the project stake holders and the team members is bridged by communication.
The process of communication management has the following steps -
The team is moved to next phase or next project after closure.
The changes in the software with respect to design, functions, requirements, functions and product development are tracked and controlled by a process known as configuration management.
Configuration management as defined by IEEE is a process by which the item of the system is identified and defined and the changes of these items are controlled during its life cycle, the status of the item and the requests for change are recorded and item completeness and correctness is verified is known as configuration management.
The completeness of the phase is defined by a measurement known as baseline. When all the activities belonging to a particular phase are completed and well documented, that particular phase is baselined. If the activity is not in the final phase, then the output of that phase is used in the next phase.
After a phase is baselined, if any change occurs, the occurrence is managed by configuration management. The changes in the software are checked by CM.
The changes that are made to the software system are ensured that they are as per the rules and regulations of the organization. This is ensured by a function of configuration management known as change control.
The steps for a change in configuration are as follows -
Some tools are made available which facilitate in effective project management. They are as follows -
The schedule of the project is represented with respect to the time periods by Gantt charts which are developed by Henry Gantt (1917). It is usually represented by using horizontal bar charts. The bars represent the activities and the scheduled time for the activities of the project.
The tool by which the project is depicted as a network diagram is PERT (Program Evaluation & Review Technique) chart. The main events of the project are graphically represented in parallel as well as in consecutive way. The dependency of the events resemble that events occur one after the other.
The nodes with numbers are events and labelled arrows are used for connecting the nodes. The sequence of the tasks is depicted by arrows.
For a project event the number of resources required for a specific period of time is graphically represented either in bars of charts by the graphical tool known as Resource Histogram. For staff planning and coordination, resource histogram proves to be an effective tool.
The interdependent tasks of the project are recognized by the tool known as critical path analysis. For the successful completion of a project, the shortest or the critical path is identified by this tool. A specific time frame is assigned to each of the event. The events are assumed to proceed only when the previous is completed and the dependency of the event is displayed by this analysis.
In accordance with the earliest possible start time, the events are arranged. Here critical path is the path between the start and the end node implying that all the events are to be executed in the specified order.
Software Engineering Related Interview Questions
|Java Script Interview Questions||ASP.NET Interview Questions|
|MySQL Interview Questions||Manual Testing Interview Questions|
|Artificial Intelligence Interview Questions||Java Interview Questions|
|Software testing Interview Questions||Test Cases Interview Questions|
|Software Development Lifecycle (SDLC) Interview Questions||Software Process Engineer Interview Questions|
|Software Architecture and Design Interview Questions|
Software Engineering Tutorial
All rights reserved © 2018 Wisdom IT Services India Pvt. Ltd
Wisdomjobs.com is one of the best job search sites in India.