Scheduling Managing large-scale projects involves scheduling activities –It is human nature to work better toward intermediate milestones. The same concepts.

Slides:



Advertisements
Similar presentations
Microsoft Project Entering and Organizing Tasks Adapted from the Microsoft Step by Step Series by Aaron Schroeder.
Advertisements

Prescriptive Process models
Project Management and Software Quality See accompanying Word file “Software PM tools 3”
By Veronika Movagharianpour and Adam Brakel. Software Developers face challenges:  Producing high-quality software  with low-defect levels  while doing.
The Peanut Butter & Jelly Computer Instructor’s Handout (modified from zerorobotics and CS10K Community handouts) KEY CONCEPTS Software and hardware work.
Software Engineering Session 14 INFM 603. Software Software represents an aspect of reality –Input and output represent the state of the world –Software.
Chapter 10 Schedule Your Schedule. Copyright 2004 by Pearson Education, Inc. Identifying And Scheduling Tasks The schedule from the Software Development.
Project Workshops Project Planning 1. Project planning proper management is essential the responsibility of the student with the advice of supervisor.
Time Management Center for Academic Student Achievement.
Software Engineering.
Project Management Module 3. Keep focused on the timeline Week Prepare for Kick-off Meeting Assign teams Team forming Review and execute.
CSE 115 Week 14 April , Announcements April 14 – Exam 10 April 14 – Exam 10 April 18 – Last day to turn in Lab 8 for any credit April 18.
Keys to Success College is as easy as A, B, C. A -- Attend Class __________________.
Iterative development and The Unified process
Coursenotes CS3114: Data Structures and Algorithms Clifford A. Shaffer Yang Cao Department of Computer Science Virginia Tech Copyright ©
Planning. SDLC Planning Analysis Design Implementation.
Software Development Methodologies For the Computer Science IA (2014 syllabus)
Self Management Project MGT 494
Problem Solving and Programming Design –Requires intense concentration –When is the best time to fix bugs? Testing –Requires a lot of skill, practice –How.
SEVEN STRATEGIES FOR IMPROVING TEST PERFORMANCE
System Implementation. System Implementation and Seven major activities Coding Testing Installation Documentation Training Support Purpose To convert.
MANAGING TIME AND MONEY CHAPTER 7. OBJECTIVES CREATE A TO-DO LIST EXPLAIN HOW TO AVOID COMMON TIME MANAGEMENT PROBLEMS IDENTIFY STRATEGIES FOR MANAGING.
 Log into Moodle and complete today’s Bell Ringer REMINDER: Remember to be checking my website (not Moodle) if you were absent or didn’t get work done.
Understand Application Lifecycle Management
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
Time pressure is a major source of stress for many people. Organization doesn't make more hours in the day, but it can reduce time pressure by making it.
Capability Maturity Models Software Engineering Institute (supported by DoD) The problems of software development are mainly caused by poor process management.
COMP 208/214/215/216 Lecture 3 Planning. Planning is the key to a successful project It is doubly important when multiple people are involved Plans are.
5. Planning.
(A radical interpretation) Tomo Lennox Bow Tie computer services Why Agile Works.
~ For College Students ~
Software Engineering MCS-2 Lecture # 6
AP-1 5. Project Management. AP-2 Software Failure Software fails at a significant rate What is failure? Not delivering it on time is an estimation failure.
TIME IS THE SCARCESTRESOURCE AND UNLESS IT IS MANAGED, NOTHING ELSE CAN BE MANAGED - PETER F DRUCKER.
Chapter 2 Iterative, Evolutionary, and Agile You should use iterative development only on projects that you want to succeed. - Martin Fowler 1CS
By: Danna Nicholson and Emily Russell.  Failing to keep a to-do list  Not setting your own goals  Not managing your distractions  Trying to do more.
An Introduction to Software Engineering
SE is not like other projects. l The project is intangible. l There is no standardized solution process. l New projects may have little or no relationship.
Coursenotes CS3114: Data Structures and Algorithms Clifford A. Shaffer Department of Computer Science Virginia Tech Copyright ©
Distance Learning Quiz. Is Distance Learning For Me? Let this short quiz help you decide. For each question, choose one answer. Scoring instructions will.
WATERFALL DEVELOPMENT MODEL. Waterfall model is LINEAR development lifecycle. This means each phase must be completed before moving onto the next!!! WHAT.
Final Review. From ArrayLists to Arrays The ArrayList : used to organize a list of objects –It is a class in the Java API –the ArrayList class uses an.
ORGANIZATION GETTING ENOUGH SLEEP GETTING ENOUGH SLEEP A. Students often lose sleep while studying for exams, enjoying social life, working, and going.
Module 3.2 Succeeding in College. IMPORTANCE OF THE SYLLABUS One of the best things you can do to make sure you succeed in college is to carefully review.
Chapter Eighteen Proposition of the Mythical Man Month: True or False?
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 4 Slide 1 Software Processes.
Engineering Economics Lecture 18 Project Management 6 January 2010.
Project Management Why do projects fail? Technical Reasons
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
Software Engineering CE 501 Prepared by : Jay Dave.
Project Deliverables CIS 4328 – Senior Project 2 And CEN Engineering of Software 2.
Development Project Management Jim Kowalkowski. Outline Planning and managing software development – Definitions – Organizing schedule and work (overall.
Using Time Wisely. Time Is of the Essence Use a planner. Planning will relieve stress. Using a planner leaves less room for error. Keeping track. If you.
Tool Support for Testing Classify different types of test tools according to their purpose Explain the benefits of using test tools.
KEEP CALM AND STUDY ON How are you doing?. HOW STRONG ARE YOUR STUDY SKILLS?  I set a positive mood for my studies, schedule a productive time to study,
Time Management CA- Apps. What is “Time Management”? “act or process of planning and exercising conscious control over the amount of time spent on specific.
Software Engineering Session 12 INFM 603. Software Software represents an aspect of reality –Input and output represent the state of the world –Software.
Software Development.
The LAST Recitation Godfrey Tan.
Lecture 11: Scheduling, Estimation, and Prioritization
Chapter 10 Systems Implementation and Operation
Scheduling and Student Performance
COMP 208/214/215/216 Lecture 3 Planning.
Software Engineering I Fall 2017
Software Engineering I Fall 2017
CIS 4328 – Senior Project 2 And CEN Engineering of Software 2
Creating robust project networks
Project Iterations.
Section 01: Life Cycle Objectives Review
Problem Solving and Programming
Presentation transcript:

Scheduling Managing large-scale projects involves scheduling activities –It is human nature to work better toward intermediate milestones. The same concepts can/should be applied to mid-sized projects encountered in class. –For any project needing more than a week to complete, break into parts and design a schedule with milestones and deliverables. –Find some way to keep track of details.

Real Results #1 Amount Done 1 Week Prior to Due Date

Real Results #2 Results were significant: –90% of scores below median were students who did less than 50% of the project prior to the last week. –Few did poorly who put in > 50% time early –Some did well who didn’t put in >50% time early, but most who did well put in the early time

Real Results #3 Correlations: –Strong correlation between early time and high score –No correlation between time spent and score –No correlation between % early time and total time 4

What is the Mechanism? Correlations are not causal –Do they behave that way because they are good, or does behaving that way make them good? –By tracking students who sometimes do well and sometimes to not, we established a causal link. Spreading projects over time allows the “sleep on it” heuristic to operate Avoiding the “zombie” effect makes people more productive (and cuts time requirements)

Incremental Development How to fail at implementing your project: 1.Write the project 2.Debug the project How to succeed: 1.Write the smallest possible kernel 2.Debug the kernel thoroughly 3.Repeat until completion: i.Add a functional unit ii.Debug the resulting program 4.Have a way to track details 6

How to Survive Keys to success:  Keeping Track of all the details  You can’t remember it all  Rational Planning (and keeping to the plan)  Spread the work over time  Incremental Development  Interleave writing and debugging 7

Being Organized 1 Software development has so many details –Spec requirements –Program interactions So does Life –Assignments and other things to do 8

Being Organized 2 You can’t turn this on/off –Either you live an organized life, or you can’t succeed as a software developer –Part of it is developing the attitude of “sweating the details” –Part of it is having the coping mechanisms to handle the details 9

Memory Can’t Handle It Externalize –TODO lists (What) –Scheduling (The Plan for How) –Issue trackers –Documenting/Commenting –Be able to update lists at any time, Repository: GitHub 10

Spread Work Over Time For anything beyond a small software project, you must have a plan/schedule Explicitly develop a schedule: –Break into pieces: List of subtasks –Deadlines for subtasks –Realistic, enough flexibility built in –Continuously modify and refine the plan 11

Incremental Development Break the project into a small initial core Implement and test the core Then gradually add functionality On any given day, write only as much code as you have time to debug THAT DAY This works well with Scheduling and Organizing 12