Software engineering and outsourcing Dragan Jankovic Tatjana Stankovic Faculty of Electronic Engineering University of Nis, Serbia 8th Workshop "Software.

Slides:



Advertisements
Similar presentations
E-Science Data Information and Knowledge Transformation Thoughts on Education and Training for E-Science Based on edikt project experience Dr. Denise Ecklund.
Advertisements

Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 1: Introduction.
SDLC – Beyond the Waterfall
Virtual University - Human Computer Interaction 1 © Imran Hussain | UMT Imran Hussain University of Management and Technology (UMT) Lecture 16 HCI PROCESS.
Software Project Management
Lifecycle models For more info on these models – see text
CS3773 Software Engineering Lecture 01 Introduction.
Sharif University of Technology Session # 3.  Contents  Systems Analysis and Design Sharif University of Technology MIS (Management Information System),
Learning and Teaching Conference 2012 Skill integration for students through in-class feedback and continuous assessment. Konstantinos Dimopoulos City.
IVANA NIŽETIĆ Faculty of Electrical Engineering and Computing, University of Zagreb, Croatia Long-lasting teaching materials in spite of changing technology.
IDS-695 INFORMATION SYSTEMS DEVELOPMENT I WELCOME Ronald Norman, Ph.D., CCP Office: SS-3200 Office Phone: URL:
Supported by: Joint MSc curriculum in software engineering European Union TEMPUS Project CD_JEP A report on development and implementation of.
Software Process and Problem Statements CSSE 371, Software Requirements and Specification Mark Ardis, Rose-Hulman Institute September 3, 2004.
IS6112 Application Modelling and Design Introduction.
SE curriculum in CC2001 made by IEEE and ACM: Overview and Ideas for Our Work Katerina Zdravkova Institute of Informatics
Introduction to Requirements (Chapters 1-3 of the requirements text) CSSE 371, Software Requirements and Specification Don Bagert, Rose-Hulman Institute.
May-June 2001 ISISTAN Research Institute – Tandil, Argentina Software Design Methodologies: UML in Action Dr. Mohamed Fayad, J.D. Edwards Professor Department.
Object-oriented Analysis and Design
Software Engineering About the Course Software Engineering Qutaibah Malluhi Computer Science and Engineering Department Qatar University.
Software Engineering: A Practitioner’s Approach, 6/e Chapter 3 Prescriptive Process Models copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc.
10th Workshop "Software Engineering Education and Reverse Engineering" Ivanjica, Serbia, 5-12 September 2010 First experience in teaching HCI course Dusanka.
Software Development Models: Waterfall and Spiral Sung Hee Park Department of Mathematics and Computer Science Virginia State University August 21, 2012.
1 OO Java, Baile Herculane, Romania, 2005 OO Java Requirements Specification - Produce highly adaptable teaching materials - 1 st step: collect all useful.
Classical vs. Agile Requirements Development Svetlin Nakov Telerik Software Academy academy.telerik.com Senior Technical Trainer
Modern concepts of programming - Course presentation - Prof. Dr Dragan Jankovic.
Session 1 – eProject Overview
CIS 321—IS Analysis & Design
Software Engineering: A Practitioner’s Approach, 7/e Chapter 2 Prescriptive Process Models copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc.
IT Systems Analysis & Design
Alyce Brady, Kalamazoo College Engineering = cost-effective solutions to practical problems by applying scientific knowledge in building things in service.
System Development Process Prof. Sujata Rao. 2Overview Systems development life cycle (SDLC) – Provides overall framework for managing system development.
SOME IMPORTANT FACTORS IN TEACHING SOFTWARE ENGINEERING COURSES Presenter: Jingzhou Li Depart of ECE, University of Calgary,
Introduction to Software Development 1. Outline The code-compile-debug process for writing a program The software development process 2.
THE USE OF E-LEARNING IN THE FIELD OF CONTINUOUS EDUCATION OF INFORMATICS TEACHERS Dušan Vučković – Faculty of Electronics, Niš Dragan Janković – Faculty.
Classical vs. Agile Requirements Development Svetlin Nakov Telerik Software Academy academy.telerik.com Senior Technical Trainer
Learning outcomes for BUSINESS INFORMATCIS Vladimir Radevski, PhD Associated Professor Faculty of Contemporary Sciences and Technologies (CST)
Software Life-Cycle Models Somnuk Keretho, Assistant Professor Department of Computer Engineering Faculty of Engineering, Kasetsart University
L1-S1Introduction 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
CSE 308 Software Engineering Software Engineering Strategies.
Software Life Cycle Models. Waterfall Model  The Waterfall Model is the earliest method of structured system development.  The original waterfall model.
Implementation of Student Mobility Program within the Frame of TEMPUS CD-JEP 16160/2001 Project Ivan Milentijević Faculty of Electronic Engineering University.
10/20/2015 ©2007 Scott Miller, University of Victoria. 1 SENG130 Engineering Software Systems Introduction Rev. 2.1.
Object-oriented Analysis and Design Stages in a Software Project Requirements Writing Analysis Design Implementation System Integration and Testing Maintenance.
01 - Course Intro.CSC4071 CSC407S / 2103S Software Architecture & Design Prof. Penny Bahen 5228 Office hours: Wednesdays 10:00 – 11:00.
Software Engineering II Lecture 3 Fakhar Lodhi. Software Life-Cycle Steps Life-cycle model (formerly, process model) –Requirements phase –Specification.
 What are CASE Tools ?  Rational ROSE  Microsoft Project  Rational ROSE VS MS Project  Virtual Communication  The appropriate choice for ALL Projects.
Intro. to Software Engineering 1CSCI 3333 Data Structures.
Roles in a project team and software life cycles Authors: Hubert Czerczer s3688 Maciej Basista s3524.
Connecting with Computer Science2 Objectives Learn how software engineering is used to create applications Learn some of the different software engineering.
Software Engineering: Challenges of Distributed Projects Global Projects.
Analyzing academic computing curricula with a focus on practical aspects for software engineering Costin B ă dic ă Sabin Simionescu University of Craiova,
The influence of the new administrative law upon teaching OOP course Ana Madevska Bogdanova Nevena Ackovska University “Sts. Cyril and Methodius”, Skopje,
Using UML, Patterns, and Java Object-Oriented Software Engineering 15. Software Life Cycle (Waterfall)
Software Engineering Process Models Models for Guiding the Development of Software.
2 Systems Analysis – ITEC 3155 Systems Analysis Tasks.
Industrial Software Development Process Bashar Ahmad RISC Software GmbH.
Chapter 2- Software Development Process  Product Components  Software Project Staff  Software Development Lifecycle Models.
Emanuele Tupone Jakub Stach Marko Nikolić
Systems Analysis & Design N106
Consultation: Your Say ….
Agile Software Development
Unified Modeling Language
Software Engineering: A Practitioner’s Approach, 7/e Chapter 2 Prescriptive Process Models copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc.
Software Engineering: A Practitioner’s Approach, 7/e Chapter 2 Prescriptive Process Models copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc.
Introduction to Engineering Design II (IE202) Section XBG Team 7 Designing a Robot Students name: IE202-Team#7 Celebration.
Process Models Coming up: Prescriptive Models.
Computer Science & Engineering Electrical Engineering
Software Engineering: A Practitioner’s Approach, 6/e Chapter 3 Prescriptive Process Models copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc.
Software Engineering: A Practitioner’s Approach, 6/e Chapter 3 Prescriptive Process Models copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc.
SOFTWARE ENGINEERING CS-5337: Introduction
Presentation transcript:

Software engineering and outsourcing Dragan Jankovic Tatjana Stankovic Faculty of Electronic Engineering University of Nis, Serbia 8th Workshop "Software Engineering Education and Reverse Engineering“ - September 2008

Outlines  Outsourcing  Needed knowledge  SE knowledge  Theory versus practice  Questionnaire  Recommendations  Conclusion

Outsourcing  Definition  Kinds of outsourcing Realization team Kind of jobs Location Developer status

Realization team  Complete out – all developers are out of company  Shared-major – major part of developers is out of company  Shared-minor – minor part of developers is out of company  One-man show

Kind of job  Complete development  Subsystem development  Shared development

Location  Home  Office(s) shared with other developers  Another company offices (part time)  Company connected to the main company  Part of company (full time, part time)

Developers status  Full time  Part time Work for 2 or more companies  Software companies  Different kind of companies  On-line students

Outsourcing perspective in WECs  Knowledge - good  Culture – more less similar to Europe countries culture  Time zone – 1-2 hour for Europe; 6 hours for USA  Salary – depends of the region, between , sometime senior developer much more (1500 or more)

Needed knowledge  Programming languages  IDE (I ntegrated Developing Environments )  Debugging  Testing  Documentation writing  Organization  Time estimation  Collaborative work ( , video- conference, phone, meeting with company representative)

Software engineering knowledge  Software life cycle Vision Requirements Specification Design Programming Documentation Deployment Maintenance

Software development models  Waterfall  Incremental  Iterative  Boehm spiral model  Agile methodologies (eXtreme Programming)  RUP-Rational unified process  Microsoft  Etc.

Models in (outsourcing) practice  Models in practice Iterative Incremental eXtreme Programming

What is missing?  Theory versus practice  Theoretical knowledge demonstrated on examples  Problems: Exercises and labs very simple and time limited Projects realized by one or two students Students – not very interested in imaginary problems

Questionnaire  B.Sc. and M.Sc. working in outsourcing companies  Working experience – between 1 and 10 years  Different kind of outsourcing  Some of them have been working for different companies

Questions  Year of your graduation  Years (months) of your working experience (1-10)  What knowledge did you need right at the beginning of your career that you have not get during your studies? (Java, C#, Debugging…)  Do you think that programming language knowledge attained during your studies were enough? If not, quote knowledge that you think should be included in regular studies. (Web services, UML, JavaScript, …)  Do you find Software Engineering knowledge from the faculty usable in practice? (Yes, but not enough)  Would you change something and what? (Real projects, bigger teams…)  What software-developing methods are used in your company: Structured methods Data-oriented methods Object-oriented methods Formal methods (deals with mathematically based software engineering methods) Prototype methods (involves software prototyping)

Questions  Do you use knowledge taken from your studies related to the areas below (All the time/Sometimes/Never)? Algorithms and programming Data structures Databases Object Oriented programming Parallel programming  Do you find software testing knowledge you’ve got from your studies satisfactory? (No)  How much do you think this knowledge is necessary in every- day practice? (Much/Less/Not at all) (Much)  Do you find project management, software documenting and software developing life-cycle knowledge taken from regular studies satisfactory? (Software doc. More, pr.m. less, but not enough)  What would you change? (Lecturers experts, real world examples)

Questions  Are you satisfied with your project managers? (No)  Do project managers in your company use knowledge taken from their studies (according to your opinion)? (No)  For what software life-cycle activity have you taken the most information during your regular studies? (Code implementing)  And for what the least? (Requirements, testing, …)  How much are knowledge and theory related to software life- cycle and activities and the way of their implementation different from your every day practice experience?  What software life-cycle activities in practice have the biggest disagree with theory-knowledge you achieved from studies?

Outsourcing experience  Authors More than 10 years Different kinds of outsourcing Outsourcing for/in companies  RistanCase GMBH - Zurich, Switzerland  Siemens A.G. – Munich, Germany  Infineon A.G. - Munich, Germany  Accordia LLC – New York, USA  ABB, Baden, Switzerland  Colleagues

Recommendations  For University  For companies  For students

For University  More practical exercises  More practical labs  Modification of SE curricula  Practical works in groups  Project group size more than 5 students  Assistants with practical experiences  Projects in companies  Story from real life

For companies  It is not real to expect “yang ready full developer”  Learning period  Demonstration with courses and tutors  To offer including of students in real projects

For students  Force cooperation with assistants and professors  Force interactive lectures

Conclusion  Software engineering in our faculty gives very good experts, but there is place for improving  Experts as guest-lecturers should definitely be one of the improvements  The idea of the exception of investigation team at the university should be considered?

THANK YOU!