CSE403 Software Engineering Autumn 2001 Project Management Gary Kimura and Will Portnoy Lecture #10 October 18, 2000.

Slides:



Advertisements
Similar presentations
Time Management By Zahira Gonzalez.
Advertisements

Lecture 10 Sharing Resources. Basics of File Sharing The core component of any server is its ability to share files. In fact, the Server service in all.
Facilitated by Joanne Fraser RiverSystems
Annoucements  Next labs 9 and 10 are paired for everyone. So don’t miss the lab.  There is a review session for the quiz on Monday, November 4, at 8:00.
CSCU 411 Software Engineering Chapter 2 Introduction to Software Engineering Management.
Project Plans CSCI102 - Systems ITCS905 - Systems MCS Systems.
Software project management Module 1 -Introduction to process management Teaching unit 1 – Introduction Ernesto Damiani Free University of Bozen-Bolzano.
Computer Engineering 203 R Smith Agile Development 1/ Agile Methods What are Agile Methods? – Extreme Programming is the best known example – SCRUM.
Computers: Tools for an Information Age
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.
Project Time Management
Course Technology Chapter 3: Project Integration Management.
Chapter 5: Project Scope Management
Xtreme Programming. Software Life Cycle The activities that take place between the time software program is first conceived and the time it is finally.
Personal Software Process Overview CIS 376 Bruce R. Maxim UM-Dearborn.
Chapter 10 Project Monitoring and Control
How to Fill Out the CARD Form (Course Assessment Reporting Data Form)
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 17 Slide 1 Extreme Programming.
Copyright © 2003 by Prentice Hall Computers: Tools for an Information Age Chapter 14 Systems Analysis and Design: The Big Picture.
INFO 637Lecture #31 Software Engineering Process II Launching & Strategy INFO 637 Glenn Booker.
Abstraction IS 101Y/CMSC 101 Computational Thinking and Design Tuesday, September 17, 2013 Carolyn Seaman University of Maryland, Baltimore County.
INFO 637Lecture #81 Software Engineering Process II Integration and System Testing INFO 637 Glenn Booker.
6-January-2003cse Introduction © 2003 University of Washington1 Introduction CSE 403, Winter 2003 Software Engineering
McGraw-Hill/Irwin Copyright © 2008 by The McGraw-Hill Companies, Inc. All rights reserved. Reaching Goals: Plans and Controls Today’s smart supervisor.
Appendix A Project Management: Process, Techniques, and Tools.
Project Tracking. Questions... Why should we track a project that is underway? What aspects of a project need tracking?
Teaching material for a course in Software Project Management & Software Engineering – part II.
The Organizing Function. Organizing Distributing or allocating resources toward the accomplishment of the objectives defined in the plans –Requires the.
Defining the project You have presented your project proposal and you have the go-ahead to start the project. Before you start you need to ensure everyone.
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.
This material is approved for public release. Distribution is limited by the Software Engineering Institute to attendees. Sponsored by the U.S. Department.
Prof. Aiken CS 169 Lecture 61 Project Planning CS169 Lecture 6.
CS 5150 Software Engineering Lecture 6 Project Management.
Getting Started Conservation Coaches Network New Coach Training.
Extreme/Agile Programming Prabhaker Mateti. ACK These slides are collected from many authors along with a few of mine. Many thanks to all these authors.
BIS 360 – Lecture Two Ch. 3: Managing the IS Project.
13-January-2003cse LifeCycle © 2003 University of Washington1 Lifecycle CSE 403, Winter 2003 Software Engineering
Applied Software Project Management
CSC 395 – Software Engineering Lecture 5: Teams -or- How to Motivate and Manage the Unwashed Masses.
Chapter(3) Qualitative Risk Analysis. Risk Model.
PROJECT MANAGEMENT Outline What is project mean? Examples of projects… Project Planning and Control Project Life Cycle Gantt Chart PERT/CPM.
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.
CS3100 Software Project Management: Monitoring & Control 1 Software Project Management Week 10: Project Monitoring & control Ian Blackman.
Introducing Project Management Update December 2011.
© 2008 Sterling Commerce. Confidential and Proprietary. How to Get Along with Project Using Microsoft Project so that it actually works for you, not against.
Project Management Workshop James Small. Goals Understand the nature of projects Understand why Project Management is important Get an idea of the key.
Easy Read Summary Mental Capacity Act Mental Capacity Act A Summary The Mental Capacity Act 2005 will help people to make their own decisions.
WATERFALL DEVELOPMENT MODEL. Waterfall model is LINEAR development lifecycle. This means each phase must be completed before moving onto the next!!! WHAT.
Implementing Strategy Chapter 7. Objectives Upon completion of this chapter, you should be able to:  Translate strategic thought to organisational action.
This was developed as part of the Scottish Government’s Better Community Engagement Programme.
Software Engineering Principles Practical Advice and Steps for Managing Your Project.
Team working in distributed environments M253 Team Organization Faculty of Computer Studies Arab Open University Kuwait Branch 2/17/20161 Kuwait Branch.
CSE403 Software Engineering Autumn 2000 Project Management Gary Kimura Lecture #10 October 16, 2000.
CSE-332 Software Design Methods The Mythical Man-Month 박성우 POSTECH October 20, 2015.
Copyright , Dennis J. Frailey CSE7315 – Software Project Management CSE7315 M15 - Version 9.01 SMU CSE 7315 Planning and Managing a Software Project.
Systems Analyst (Module V) Ashima Wadhwa. The Systems Analyst - A Key Resource Many organizations consider information systems and computer applications.
Introduction to System Analysis and Design MADE BY: SIR NASEEM AHMED KHAN DOW VOCATIONAL & TECHNICAL TRAINING CENTRE.
CSE403 Software Engineering Autumn 2001 Gary Kimura Lecture #2 October 3, 2001.
Making more hours in the day Managing your time at university This workshop was originally produced at the.
Chapter 2- Software Development Process  Product Components  Software Project Staff  Software Development Lifecycle Models.
Fundamentals of Information Systems, Sixth Edition
Team member, Team member and Team member
Project Management Process Groups
CSE 403 Lecture 3 Teams and Software.
CSE403 Software Engineering Autumn 2001
Team member, Team member and Team member
Applying Use Cases (Chapters 25,26)
Applying Use Cases (Chapters 25,26)
Extreme Programming.
Presentation transcript:

CSE403 Software Engineering Autumn 2001 Project Management Gary Kimura and Will Portnoy Lecture #10 October 18, 2000

Today Understand that there are different approaches to project management for software Go over some of those approaches Offer alternative and guidelines for your class project Managing schedules

Project management What percentage of the effort to date has been spent writing code? What percentage has been spend working through requirements and design? What percentage has been spend in meetings? When does the real coding start?

Problems with managing projects include Figuring out and coordinating schedules Handling communication among the team –The figure shows a rough notion of the cost of team communication –The theory is that about 25% of each group's effort is spent in communication, with this cost applying recursively –As Brooks observes, the worst case of this is adding people to a late project, which tends to make it even later Making decisions Recording decisions Managing egos What else?

Team structure Brooks talks about the desire everyone has for a small, sharp team 10 or fewer people All of them brilliant All of them focused on the task at hand But he observes that this is too slow a way to build a really big system And rightly so…

Why? Time Brooks: take a 10 person team composed of people all 7x better than the worst 5x to 25x are within known ranges Assume OS/360 was built by the worst Assume a small team has a 7x communication benefit Assume no turnover of the team Assume 5000 person-years for OS/360  10 actual years for the task Now, do the same estimates for NT 5.0 with 60,000,000 lines of code!

Chief Programmer Team An alternative idea is to restructure a classic big team to get the benefits of the small, sharp team (ability and focus) with the benefits of a bigger team (overall speed) The key is to design the positions on the team very carefully

Y2K Most of these specific (lower-level) job descriptions are clearly out of date “…a team will rarely need its own machine and operating system crew” “All computer input goes to the clerk, who logs and keys it” But the idea of focusing on how to break up the team into well-defined jobs is, of course, still extremely pertinent

Chief Programmer Team An underlying theme of this approach is that a smart person understands the domain and defines an appropriate architecture Then the subpieces are spawned off to people who are talented programmers but who have little (or less) knowledge about the project In practice I wonder if this works very well at all –Need commitment and buy-in from all parties –Need to build team synergy

Aside: outsourcing Over the past years, there has been an increased interested in outsourcing significant pieces of software projects In particular, the interest has been to use cheaper labor in places like India, China, Ireland, etc. –There is a big political issue related to this, which is the question of granting H1-B visas to people from other countries to work in high-tech in the U.S. This in many ways resembles aspects of the chief programmer team — “Give them the spec and let them code!”

More on outsourcing A serious problem with the outsourcing version of coding is the increased distance between the programmers and the people who own the requirements Communication is almost entirely by , travel is costly and time consuming, etc. I believe this leads to less effective communication, significantly increasing risks

Some Microsoft job titles Program Manager –Maintaining the big picture. Weighing risks against costs. Understanding many disciplines. Keeping a variety of specialists on the same page. Sewing all the components of a project together to make world-class software projects happen on time, on budget. Software Design Engineer –Working with other product team members from the beginning of the product cycle through release, our SDEs design and implement sophisticated products... SDE in Test –Deeply involved in every phase of the product cycle, our SDEs in Test devise and implement test plans and strategies. … It's a specialized skill that requires the ability to effectively second- guess our other developers. Software Test Engineer –As the strongest advocate our end-users have, Microsoft Test Engineers develop and execute test plans and scripts designed to detect problems and ensure the quality...

Last years team structure Well-defined team structure (dev, test, performance) Medium-sized teams (10 students) One coordinator Impossible to schedule meetings

This years team structure Hierarchical divided up into specific areas One assigned coordinator for the whole team Each sub-team works “quasi” independently of the other teams But communication and buy-in by everyone is still a must A way to make decisions needs to be agreed upon A very common problem is to fight for a long time over decisions for which either alternative is adequate; often, making a decision is more important than which decision is chosen. Most often a good manager is the decision maker if consensus cannot be reached in sufficient time

Decision making Making decisions is something we do all the time in a project The biggest risk, in general, is not that we make a bad decision It is that we delay making any decision past a point of no return You should probably spend relatively little time deciding between two pretty strong alternatives This is perhaps especially true in your project, given the incredibly compressed schedule

Recording decisions In your meetings you will be making a lot of decisions Some of you’ve probably already made are who will do what, what will the requirements be, who will write up what, what coding standards (if any) will we use, how will we name our variables, etc. You might even still have some major design decisions to work through. You cannot record all your decisions in writing…but you’d better record the key ones! Decide where these are recorded and how. How have you been recording and keeping records?

Running meetings You’ve already had a few meeting. Here are some tips: Have an agenda Have a person responsible for keeping the meeting on the agenda Have a person record key decisions This person can rotate or can be assigned to someone who is good at this by nature Show up to the meetings Start them and end them on time It may be that your team’s ability to succeed is driven as much by things like how your meetings run as by how well you cut code

Artifacts The following are two documented/analyzed ways to aid in managing projects You may find these artifacts helpful for your project management task Some, of course, may appear in your actual project, as well As always, (a) use what you want and (b) don't over do anything!

The primary example is a Gantt chart to show the link between tasks and time A Gantt Chart maps tasks to dates There is a row for each task; the columns represent dates This makes it easy to see the schedule So it’s often a good way to build an initial plan, to view the schedule, and to make adjustments Task linking is a constraint that says, “Task x cannot start until Task y completes”

PERT charts Displays tasks and task dependencies as a network diagram or flowchart A node represents each task and a line connecting two boxes represents the dependency There are some nice software packages that help with these charts.