Free The Philosophy Behind The Phase Case Study Example
Compare and contrast Traditional Structure Methodologies and Traditional Object Oriented Methodologies
All software applications, whether large or small have some kind of methodology upon which they are developed from. A methodology is a way of doing things in a systematically. A methodology describes a repeated process of doing things and spans the easiest process of software development to complex processes of managing installed applications. A methodology specifies the expectations as well as the recommendations or techniques for resource planning, scheduling and others basing on the needs of a project. Over the years, software development methodologies have come to existence. There is the traditional method where activities are conducted stepwise and the modern method where each phase is performed in more than once and in no particular order.
The traditional approach is defined by a number of phases common to every development. It starts with the requirements capturing and ends with maintenance. The phases include requirements, analysis, design, specification, implementation, testing, deployment and maintenance. Maintenance phase may comprise of processes such as debugging, system improvement and support.
In object-oriented development, the system is viewed as a set of objects. Because object oriented methodologies are not too prescriptive, developers have the choice of deciding what to use in the development process. The methodology addresses the following in general.
The workflows and individual activities
The artifacts to be produced
The dependencies between artifacts
Notations for the different kind of artifacts
The requirement to model static structure and dynamic behavior
The differences between the traditional methodologies and object oriented methodology can be summarized in the below
Also, the three criteria of complexity cost and experience varies among the two approaches. This criterion is dependent on the type of model and the size of the project. Object-oriented approach is purely dependent on the size of the project which leads to the cost than other approaches. The object-oriented approach has advantages over the traditional approach with respect to project complexity and the fact that most contemporary languages and tools are object-oriented.
Evaluation of three agile methods
Agile methodologies share most of the same philosophies, practices and characteristics. However, each has different terminologies, tactics and practices based on an implementation standpoint.
Agile scrum methodology
Scrum is a lightweight project management platform based on agile development. It has broad applicability for managing and controlling iterative and incremental projects. Scrum has garnered tremendous popularity in software development because of its simplicity, proven productivity and its umbrella ability to cover various engineering projects by other agile methodologies.
While using Scrum, the product owner collaborates closely with the development team to identify and prioritize system functionality by conducting Product Backlogging. The product Backlog is made up of processes, bug fixes, non-functional requirements and other activities which need to be accomplished to deliver a working system. Once the product owner decides on the priorities, cross-functional teams take over to sign up for delivery of potentially shippable increments during successive Sprints. This is usually carried over in 30 days and once a Sprint Product Backlog has been committed, no additional functionalities can be introduced except by the team. Upon delivering a Sprint, the Product Backlog is analyzed and reprioritized. The next set of functionality is selected for the next Sprint and process continues.
XP is one of the popular and controversial agile methodologies today. It is used to deliver high quality software in a short period of time and continuously. The method facilitates product owner involvement, rapid feedbacking and continuous testing and planning. There is also close collaboration to deliver software packages at close intervals such as monthly. The original XP recipe is based on four values and twelve principles. The values include simplicity, communication, feedback and courage.
This is another lightweight and highly adaptable software development methodology. It comprises of a family of methodologies such as Crystal Yell9ow, Crystal Clear, Crystal Orange and others. The method is influenced by factors such as system criticality, team size, project priorities and others. The Crystal family is founded on the need that every project needs a tailored set of policies, practices, and processes which meets the projects unique characteristics.
Crystal is founded on the following tenets; teamwork, communication, simplicity and frequent adjustment and improvement. Projects in Crystal are delivered frequently and there is high user involvement as well as adaptability and less bureaucracy.
The following sections are based on EDF Energy case study. EDF is the provider of gas and electricity in most UK properties.
Functional Requirements (Use case)
Relevant robustness diagram
Initial sequence diagram
Test cases for complete system
EHEM Ltd is a food supply company specializing in individual home deliveries and family occasion services such as birthdays and weddings. The company is engaging in rigorous marketing strategies which includes development of a website to enhance customer interactions. As the project manager of EHEM website development project, the following project management strategies are applicable.
Key principles and procedures for managing the aforementioned project
Every project should be conducted with the goal of producing success at the tail end. The principles of project management should be applied accurately to increase the chances of attaining success. They are as follows:
Every project is intended to solve a particular inefficiency in the organization and bring a sizeable return on investment. The benefits that a particular project will bring should be understood clearly. In this case, a website for the company will enhance interaction between customers and management allowing them to choose their food themes, order online and provide responses. The definition of project goals will also allow security of authorization from superiors to continue.
Defining roles and responsibilities
Every project member should a have a distinct role or contribution to the overall success of the project. Defining roles and responsibilities falls under the knowledge area of human resource management and prevent job duplication and collision.
Management by steps
Breaking a project into small stages is required for easy decision making. Subdividing this project into small steps such as designing, coding and implementation will reduce the risks since all the risks are apparent and can be managed better.
Before commencement of a project, it is advisable to think carefully about the inputs, deliverables, workforce, finance and other requirements. The clearer the requirements are, the more realistic and achievable the objectives will be.
Every project is unique in its way and even though the same methodology may be applied, the requirements differ. Thus, the project must be tailored to suit the stated requirements that is develop a user friendly and attractive website where users are able to interact in 6 different languages as they search through the available menus, create their own combination, book for events and order food for home delivery.
Viability factors of a project (success/failure criteria)
The project success or failure is gauged based on the following three achievements:
Whether the project scope, cost and time has been met. If the website is developed within the planned time with the allocated funds and the required scope, then it is termed successful.
Customer satisfaction – if the users of the website are satisfied with the type of website developed based on aesthetics, functionality and other parameters, the website is termed a success.
The objective is met – If the website increased sales for the company and facilitated easy booking and delivery of food products, satisfying the management and the customers, then it is termed a success.
Project termination and post project appraisal
Projects are terminated because of some reasons. These se reasons include change of scope, lack of clarity of objectives, cost overruns, lack of resources contrary to the initial plan and time. Some other external factors can also impact a project to the point that it is worth terminating. They include lack of technical capabilities to steer the project to completion, occurrence of damage and lack of disaster recovery plan, change of company structure, loss of viability or necessity of the project and finally completion of all the requirements. If all the project steps are accomplished with no constraints in terms of cost, time and resources, the project is terminated and handed to the owners.
Human resource requirements of a project and Organizational structure
The most important resource in a project are the workforce. A project manager define the roles and responsibilities of all the project members. The fundamental components of a human resource management strategy include staffing, managing employees, team building, assessment and improvement of the team. Human resource planning is executed early in the project and is iterated in an interactive manner throughout the project lifecycle. An organizational structure depicting the various human resources required for the software development process is shown below.
Control and coordination of a project
Project leadership requirements and qualities of a deputy project manager
A deputy project manager fills in for project managers in their absence. The following qualities are required of deputy project managers: time consciousness, leadership skills, organizational skills, and general management skills just as the project manager. The deputy project manager should be able to solve conflicts, communicate with staff members, monitor budget attend meetings and communicate with project manager. Communication and problem solving skills come in handy in these tasks.
Implementation of project scheduling, cost estimation and cost control procedures
Project schedule development utilizes the results of the preceding time management processes to establish the start and end dates of a project. The goal of developing a project schedule is to provide a basis for monitoring project progress for the time dimensions of the project. A schedule for this project will be developed using a Gantt chart. Other tools to be used for controlling project schedules are critical path and PERTY analysis.
A cost plan is develop to structure finances for the project. A cost plan will provide fiscal feasibility of the project and determine if the cost cap set by the owner can be met. Cost planning is so important in this project such that if the cost cannot be met, the project need to be reworked or cancelled.
Project performance measurement methodology
Measuring project performance is a critical component of project management. It allows the project manager to identify cost and schedule problems early and take steps to remedy it. It begins with setting standards for the size of work packages, applying credit for completed work and classifying which to add value metrics and which to track. Measuring project performance give organizations a clear picture of the health of the project. There are a number of techniques used for evaluating projects. A milestone chart depicts the planned and actual milestones in a project. An highlight report is prepared by the project manager for the project board to give the progress and status of the project. An exception report describes an exceptional situation, the impacts it has on the project and recommendations. The report is prepared by the project manager.
Project change control procedures
A change control is sometimes not inevitable in organizations even with the most successful project. Modifications are necessary along the way. In order to control them and ensure project success, the following processes are followed:
Definition of the actual change request – this covers the request, reasons for change, condition of success, expected completion and expected value.
Response – Once review has been conducted, a response is given with the proposed recommendation highlighting the proposed solution, proposed timeline and impacts.
Final decision and approval - a change control committee decides on the best course of action as per the outcome of the response.
Betz, Charles T. Architecture and Patterns for IT: Service Management, Resource Planning, and Governance - Making Shoes for the Cobbler's Children. Elsevier, 2011.
Boctor, F. F. "Some efficient multi-heuristic procedures for resource-constrained project scheduling." European Journal of Operational Research (2012): 49(1), 3-13.
Gil Gomez, H., A., S., M., D., O., B., & R., F. "Evolution And Trends Of Information Systems For Business Management: The M-Business." A Review. Dyna 77.77 (2010): 181 -193. .
J. Kruger, J. Muller, W. Lehner, D. Kossman, B. Fabian. "Business and Information System Engineering." International Journal of WIRTSCHAFTSINFORMATIK 3.6 (2012).
Kerzner, H. R. Project management: a systems approach to planning, scheduling, and controlling. John Wiley & Sons, 2013.
Roger Ireland, Brian West, Norman Smith, David I. Shepherd. Project Management for IT-Related Projects. BCS, The Chartered Institute, 2012.
Series, Shelly Cashman. System Design and Analysis 10th edition. Rosenblat, 2013.
Silberschatz A., Korth F., Sudarshan S. "Database system and Concepts: Sixth edition." 2012.
Taylor, James. Managing Information Technology Projects: Applying Project Management Strategies to Software, Hardware, and Integration Initiatives. American Management Association, 2004.
Wang, H., & Wang, S. "A knowledge management approach to data mining process for business intelligence." Industrial Management & Data Systems (2008): 622-634.