1 Advanced Computer Programming Project Management: Basics Copyright © Texas Education Agency, 2013.

Slides:



Advertisements
Similar presentations
Unified process(UP) UP is an OO system development methodology offered by Rational(Rational Rose) s/w, now a part of IBM Developed by Booach,Rambaugh,Jacobson--
Advertisements

Ch 3: Unified Process CSCI 4320: Software Engineering.
McGraw-Hill/Irwin © 2006 The McGraw-Hill Companies, Inc. All rights reserved BUSINESS DRIVEN TECHNOLOGY Chapter Nineteen: Building Software to Support.
BUSINESS DRIVEN TECHNOLOGY
May 2, May 2, 2015May 2, 2015May 2, 2015 Azusa, CA Sheldon X. Liang Ph. D. Software Engineering in CS at APU Azusa Pacific University, Azusa, CA.
W5HH Principle As applied to Software Projects
Rational Tool Overview. Introduction Requirements-Driven Software Development with Rational Analyst Studio. Tafadzwa Nzara Analysis & Design Consultant.
Stepan Potiyenko ISS Sr.SW Developer.
A framework for describing IT Project Management Processes and Tool Set Features Enterprise Project Management Framework.
R R R CSE870: Advanced Software Engineering (Cheng): Intro to Software Engineering1 Advanced Software Engineering Dr. Cheng Overview of Software Engineering.
Computer Engineering 203 R Smith Requirements Management 6/ Requirements IEEE Standard Glossary A condition or capability needed by a user to solve.
1 CMSC 132: Object-Oriented Programming II Software Development I Department of Computer Science University of Maryland, College Park.
Chapter 6 Systems Development.
Connecting with Computer Science, 2e
Applied Software Project Management Andrew Stellman & Jennifer Greene Applied Software Project Management Applied Software.
Copyright  Larry Dribin, Ph.D. SE470_EngFlows_v1.ppt SE470 EngFlows - 1 Excellence in Software Engineering Repeatable Level Defined Level Manage.
Iterative development and The Unified process
Chapter 3: The Project Management Process Groups
CHAPTER 9: LEARNING OUTCOMES
Objectives Explain the purpose and various phases of the traditional systems development life cycle (SDLC) Explain when to use an adaptive approach to.
Project Management and MS Project. The project management triangle: Time Resources Scope.
Planning. SDLC Planning Analysis Design Implementation.
CHAPTER 19 Building Software.
Release & Deployment ITIL Version 3
University of Palestine software engineering department Testing of Software Systems Fundamentals of testing instructor: Tasneem Darwish.
INFO 637Lecture #31 Software Engineering Process II Launching & Strategy INFO 637 Glenn Booker.
IT Project Management Cheng Li, Ph.D. August 2003.
Managing Software Quality
Applied Software Project Management Andrew Stellman & Jennifer Greene Applied Software Project Management Applied Software.
1 Advanced Computer Programming Project Management: Software Life Cycle Copyright © Texas Education Agency, 2013.
Introduction to RUP Spring Sharif Univ. of Tech.2 Outlines What is RUP? RUP Phases –Inception –Elaboration –Construction –Transition.
Chapter 2 The process Process, Methods, and Tools
Transforming Organizations
Business Driven Technology Unit 5 Transforming Organizations McGraw-Hill/Irwin Copyright © 2013 by The McGraw-Hill Companies, Inc. All rights reserved.
-Nikhil Bhatia 28 th October What is RUP? Central Elements of RUP Project Lifecycle Phases Six Engineering Disciplines Three Supporting Disciplines.
Software Testing Life Cycle
1 Advanced Computer Programming Project Management: Methodologies Copyright © Texas Education Agency, 2013.
1 Chapter 5 Practice: A Generic View Software Engineering: A Practitioner’s Approach, 6th edition by Roger S. Pressman.
1. 2 IMPORTANCE OF MANAGEMENT Some organizations have begun to ask their contractors to provide only project managers who have been certified as professionals.
Chapter 3: Software Maintenance Process Omar Meqdadi SE 3860 Lecture 3 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Teaching material for a course in Software Project Management & Software Engineering – part II.
CPSC 2150 August 21, Chapter 1 Object Oriented Software Development This is an introductory course In this chapter we will look at 3 topics Challenges.
1 Chapter 5 Software Engineering Practice. 2 What is “Practice”? Practice is a broad array of concepts, principles, methods, and tools that you must consider.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Coming up: Software Engineering: A Practitioner’s Approach, 6/e Chapter 5 Practice: A Generic View copyright © 1996, 2001, 2005 R.S. Pressman & Associates,
What is a Business Analyst? A Business Analyst is someone who works as a liaison among stakeholders in order to elicit, analyze, communicate and validate.
Roles in a Project Team By Sebastian Wagner And Michal Pieniazek.
Teaching material for a course in Software Project Management & Software Engineering – Part I.
1 김 수 동 Dept. of Computer Science Soongsil University Tel Fax
Rational Unified Process Mr Hisham AlKhawar. Iterative versus Waterfall  We need to use a life cycle model in order to approach developing a system easily,
1 Software Engineering: A Practitioner’s Approach, 7/e Chapter 2 Process: A Generic View Software Engineering: A Practitioner’s Approach, 7/e Chapter 2.
Connecting with Computer Science2 Objectives Learn how software engineering is used to create applications Learn some of the different software engineering.
Agenda: Overview of Agile testing Difference between Agile and traditional Methodology Agile Development Methodologies Extreme Programming Test Driven.
Meghe Group of Institutions Department for Technology Enhanced Learning 1.
Lecture Notes - Richard Ssembatya1 Information System Project Management Lecture Five By Richard Ssembatya MSc. Cs, BSc CS, CCNA, IT Essentials, ICDL Institute.
BSBPMG501A Manage Project Integrative Processes Manage Project Integrative Processes Project Integration Processes – Part 2 Diploma of Project Management.
RUP RATIONAL UNIFIED PROCESS Behnam Akbari 06 Oct
Copyright 2015, Robert W. Hasker. Classic Model Gathering Requirements Specification Scenarios Sequences Design Architecture Class, state models Implementation.
11 ADM2372 Management Information Systems (MIS) Chapter 10 – Part I Systems Development Chapter 10 – Part I Systems Development.
Software Development. The Software Life Cycle Encompasses all activities from initial analysis until obsolescence Analysis of problem or request Analysis.
Project Management Finals Lesson 1 - Principles - Techniques - Tools.
Advanced Software Engineering Dr. Cheng
Software Development.
Fundamentals of Information Systems, Sixth Edition
Methodologies By Akinola Soyinka.
Teaching slides Chapter 1.
Unit 6: Application Development
Software Project Management
The Waterfall Model Also known as: classic life cycle, the waterfall model, the linear model Rarely projects are sequential (allows iteration indirectly)
Presentation transcript:

1 Advanced Computer Programming Project Management: Basics Copyright © Texas Education Agency, 2013

Overview What is Project Management? Project Initiation Project Planning Project Execution Project Closure 2Copyright © Texas Education Agency, 2013

What is Project Management? Software Project Management is an organized series of processes and implementation of tools to improve the quality and time it takes to deliver developed software. 3Copyright © Texas Education Agency, 2013

Project Initiation Project Initiation is the process of determining the problem to solve and the feasibility of doing it. 4Copyright © Texas Education Agency, 2013

Project Initiation The steps involved in Initiation are: Requirements Gathering – collecting “user stories” or information about the software from a client Feasibility Study – is it viable to make the software with the budget given? Vision and Scope – a determination of what the software will and will not cover Selection of the Development Team 5Copyright © Texas Education Agency, 2013

Project Planning Project Planning is a crucial part of Project Management. Without proper planning a project can easily fail to accomplish the task requested. 6Copyright © Texas Education Agency, 2013

Project Planning There are many aspects to Project Planning. They do not need to be done in order. Some of the tasks are: Risk Assessment / Risk Management Requirements Analysis Estimation (time and cost) Scheduling Communication Protocols Selecting a methodology to implement the project Create a Test Plan 7Copyright © Texas Education Agency, 2013

Project Planning: Risk Management There are numerous risks involved with developing software. Some risks do not have significant impact, but can prevent a project from moving forward. Other risks can have significant financial impact or even put lives in peril. 8Copyright © Texas Education Agency, 2013

Project Planning: Risk Management Some of the less significant risks you might encounter in a project are: Developers getting sick and not being able to work Computers getting viruses or failing to work Technology or Software unavailable for what you want to do Many others -- can you think of any? 9Copyright © Texas Education Agency, 2013

Project Planning: Risk Management Examples of Severe Risks THERAC-25 (1980’s) – a radiation therapy machine whose software malfunctioned giving massive overdoses of radiation NASA Mars Climate Orbiter (1999) – An orbiter intended to relay data about Mars broadcast information in metric, but the receiving terminal on Earth read the data in English units causing the $125 million dollar craft to crash Many others -- can you think of any? 10Copyright © Texas Education Agency, 2013

Project Planning: Requirements Analysis Requirements Analysis is a process of determining what the client wants the software to do, and then determining what software and hardware would be required to solve the problem. Designs for the software are also generated from this analysis. Very often project managers will use CASE (Computer Assisted Software Engineering) tools to perform this work. 11Copyright © Texas Education Agency, 2013

Project Planning: Estimation When a client solicits a computer application, they want to know how much it will cost and how long it will take to build. A Project Manager must supply this information up front in order to get the job. This is a lot harder than it sounds. Consider this: How long would it take you to write a Chess program? How about the person next to you? Your teacher? 12Copyright © Texas Education Agency, 2013

Project Planning: Scheduling What is the availability of your developers? Your team leads? Your client? Everybody needs to communicate with each other, and not get in each other’s way. No one should have to wait for someone else to finish. How to you plan everyone’s time to make sure it all works out? 13Copyright © Texas Education Agency, 2013

Project Planning: Communication Protocols To make sure everyone is “on the same page,” there needs to be a clear plan for communication. This can come in several forms: Documentation – user manuals, notes on design decisions UML (Unified Modeling Language) – a form of documentation that allows designers and developers to “map” their ideas visually Customer Feedback – through web forums or paper “change requests” 14Copyright © Texas Education Agency, 2013

Project Planning: Methodology Selection There are numerous methods for accomplishing software development. This lesson looks at the following methodologies: Rational Unified Process (RUP) Waterfall eXtreme Programming (XP) 15Copyright © Texas Education Agency, 2013

Project Planning: Test Plan A Test Plan is created before development for several reasons: It helps guide the developers to know how to determine if their software will be successful It can be used to verify that the client is getting the features they’ve requested Provides a framework to ensure the quality of the product 16Copyright © Texas Education Agency, 2013

Project Execution Once you have a plan in place, you build the software. The core components of execution are: Development – actually writing the code Time Management – tracking time usage and progress Quality Assurance – testing during development to ensure the product is defect-free Change Management – preventing “feature creep,” allowing the user to make change requests, and tracking defects 17Copyright © Texas Education Agency, 2013

Project Closure Once the software is built and tested, it is released to the customer. Very often when this occurs, the only changes the development team will make will be to maintain the software and correct defects. An activity some programming teams perform at the end of a project is a “post-mortem.” This is essentially a recap of things that went right and wrong with the project and what the team would do differently if they had to do it again. 18Copyright © Texas Education Agency, 2013