Managing Construction By Semirindi Makala. Encouraging good coding Assign two people to every part of the project : If two people have to work on each.

Slides:



Advertisements
Similar presentations
Automating Software Module Testing for FAA Certification Usha Santhanam The Boeing Company.
Advertisements

Lecture 2 1 Introduction to Software Engineering.
Practical SW Project Management Issues What is it like to manage a team effort, building a complicated project? © Buckley.
The “Lifecycle” of Software. Chapter 5. Alternatives to the Waterfall Model The “Waterfall” model can mislead: boundaries between phases are not always.
7 th Grade Language Arts. Choose your topic  In some circumstances, especially when you are given a particular essay writing assignment, your topic may.
1 reviews8 Software Reviews, Walkthroughs, and Inspections The standard technique to ensure quality in software development.
Protocol & Test Review Spaceport America Student Launch University/Institution Team Members Date.
Component Patterns – Architecture and Applications with EJB copyright © 2001, MATHEMA AG Component Patterns Architecture and Applications with EJB JavaForum.
R R R CSE870: Advanced Software Engineering (Cheng): Intro to Software Engineering1 Advanced Software Engineering Dr. Cheng Overview of Software Engineering.
© 2005 by Prentice Hall Chapter 5 Maintaining Information Systems Modern Systems Analysis and Design Fourth Edition Jeffrey A. Hoffer Joey F. George Joseph.
Computer Engineering 203 R Smith Agile Development 1/ Agile Methods What are Agile Methods? – Extreme Programming is the best known example – SCRUM.
Development and Quality Plans
Cheng-yu yu.  Assign two People every part of Project  Review every line of code  Require codes sign off  Route good code examples for interview 
Using A Defined and Measured Personal Software Process Watts S. Humphrey CS 5391 Article 8.
Chapter 16 Maintaining Information Systems
CSSE 375 Software Construction and Evolution: Configuration Management
Introduction to Computer Technology
Personal Software Process Software Quality CIS 376 Bruce R. Maxim UM-Dearborn.
Software Quality Chapter Software Quality  How can you tell if software has high quality?  How can we measure the quality of software?  How.
PHASE 4 SYSTEMS IMPLEMENTATION Application Development SYSTEMS ANALYSIS & DESIGN.
Software Engineering Chapter 15 Construction Leads to Initial Operational Capability Fall 2001.
Overview Coding Practices Balancing standards Configuration Management Providing Change Control Software Estimation Reasons why Programmers and Managers.
Comp 245 Data Structures Software Engineering. What is Software Engineering? Most students obtain the problem and immediately start coding the solution.
PGD-1303 Software Project Management?. What is software? Software  Computer programs and associated documentation Documentation includes  requirements.
System Analysis and Design
Disciplined Software Engineering Lecture #8 Software Engineering Institute Carnegie Mellon University Pittsburgh, PA Sponsored by the U.S. Department.
Ethics CPTE 433 John Beckett. Ethics & Morals Morals tell us what is right and good. –Religious people believe morals come from God –SAs often say something.
Chapter 3: Software Maintenance Process Omar Meqdadi SE 3860 Lecture 3 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Information Systems Security Operational Control for Information Security.
© 2006 ITT Educational Services Inc. System Analysis for Software Engineers: Unit 3 Slide 1 Chapter 16 Maintaining Information Systems.
Copyright © 1994 Carnegie Mellon University Disciplined Software Engineering - Lecture 1 1 Disciplined Software Engineering Lecture #8 Software Engineering.
Milestone 2 Review Measurement Phase Complete Cost Data Integrity Project October 19, 2007.
CHAPTER 9 INSPECTIONS AS AN UP-FRONT QUALITY TECHNIQUE
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.
1 김 수 동 Dept. of Computer Science Soongsil University Tel Fax
QUALITY ASSURANCE PRACTICES. Quality Plan Prepared and approved at the beginning of project Soft filing system approach followed. Filing location – –
Chapter 2 Iterative, Evolutionary, and Agile You should use iterative development only on projects that you want to succeed. - Martin Fowler 1CS
Part TWO The Process of Software Documentation Chapter 5: Analyzing Your Users Chapter 6: Planning and writing your Doc. Chapter 7: Getting Useful reviews.
Software Testing and Maintenance 1 Code Review  Introduction  How to Conduct Code Review  Practical Tips  Tool Support  Summary.
CSSE 375 Software Construction and Evolution: More SCM, and a loop back to Feathers! Shawn and Steve Left – On big systems, SCM is a well-defined process.
Chapter 15 GIS Design and Implementation Management Information Systems –Systems Analysis –Systems Design –Systems Implementation.
1 Chapter 3 1.Quality Management, 2.Software Cost Estimation 3.Process Improvement.
Project – A Quick Tutorial Krishna Sainath Meda. PROJECT  A task assigned to a set of people or teams to be completed within a time frame  Any project.
MNP1163 (Software Construction).  SDLC and Construction Models  Construction Planning  Construction Measurement.
Personal Design and Development Software Process PD 2 SP “The unexamined life is not worth living.” Plato.
Configuration Management
Requirements Management with Use Cases Module 2: Introduction to RMUC Requirements Management with Use Cases Module 2: Introduction to RMUC.
T Project Review Wellit I1 Iteration
Chapter 16 Maintaining Information Systems. Objectives:  Explain and contrast four types of system maintenance.  Describe factors affecting maintenance.
What is a software? Computer Software, or just Software, is the collection of computer programs and related data that provide the instructions telling.
Advanced Software Engineering Dr. Cheng
Software Project Configuration Management
Managing the Project Lifecycle
Debugging Intermittent Issues
Welcome to My Class! Your Name Here.
Debugging Intermittent Issues
The V Model The V Model Damian Gordon Damian Gordon.
Constructive Cost Model
Software Construction
Software Development Process
Software Testing and Maintenance Maintenance and Evolution Overview
CMPE 412 Software Engineering
Software Construction
Maintaining Information Systems (SAD- 18)
SYSTEMS ANALYSIS & DESIGN
Software Construction
Chapter 16 Maintaining Information Systems
Software Construction
Should we ban the burka in the UK?
Software Construction
Presentation transcript:

Managing Construction By Semirindi Makala

Encouraging good coding Assign two people to every part of the project : If two people have to work on each line of code, you’ll guarantee that at least two people think the code works and is readable. Review every line of code. Require code sign-offs by the managing engineer.

Configuration Management Configuration management is the practice of identifying project artifacts and handling changes systematically so that a system can maintain its integrity over time. To achieve this, we have to : Follow a systematic change-control procedure making sure that change will be considered for what’s best for the project overall

Configuration Management cont’d Handle change requests in groups Estimate the cost of each change (time, revision of the code and retesting the system) Be wary of high change volumes because they often mean that the original product wasn’t well done enough to support effective construction.

Estimating a Construction schedule Establish objectives: Figure what you want out of the system/ software that you’re creating. Spell out software requirements by defining the requirements or plan a preliminary exploration phase before making an estimate. Estimate at a low level detail :

Estimating a Construction schedule Estimate at a low level detail :Depending on the objectives the more detailed your examination is, the more accurate your estimation will be. Reestimate periodically: Factors on a software project change after the initial estimate, so plan to update your estimations periodically.

Measurement Measurement gives you a handle on your software development process that you wouldn’t have without it. Here are some useful software development measurements 1. Size (Lines of code, comment lines, declarations, etc) 2. Overall quality ( Total number of defects, mean time between failures

Measurement 3. Maintainability :(Lines of code in each class or routine, Number of local variables used by each routine, etc) 4. Defect :( Severity of each defect, location of each defect, etc) 5. Productivity :(Work-hours spent on the project, work-hours spent on each class or routine, dollars spent per defect, etc)

Treating Programmers as people Be aware that you’re dealing with a sensitive area : Don’t expect them to be perfect : software development is still going to involve bugs. Avoid setting rigid “rules” or “standards” Have your programmers develop their own standards : Don’t set your standards for your programmers, let them develop their own.

Managing your Manager Non-technical managers are common in software development, therefore you can help a manager by: Planting ideas for what you want to do. Educating your manager about the right way to do things.

Managing your Manager cont’d Refuse to do what your manager tells you as far as the technical side is concerned and insist on doing your job the right way. Find another job.

Questions ?