Welcome... Creating Software Engineers - A Systemic View Dr. F.C. Kohli CSEE &T 2002, Feb 27,2002...
-
Upload
harold-sparks -
Category
Documents
-
view
214 -
download
0
Transcript of Welcome... Creating Software Engineers - A Systemic View Dr. F.C. Kohli CSEE &T 2002, Feb 27,2002...
Creating Software Engineers - A Systemic View
Dr. F.C. Kohli
CSEE &T 2002, Feb 27,2002 Cincinnati, USA
Agenda• The “Engineering” of Software• Core competencies for a Software Engineer• Initial Education & Continuous Learning• Systemic view of creating Software
Engineers• Knowledge Portal• Role of Professional bodies
• Education for a taxonomy of IT careers• Conclusions
Engineering
• Profession in which knowledge of Physical & Natural Sciences gained by– Study,Experience & Practice
is applied with judgement to develop ways to utilize economically– the materials & forces of naturefor the benefit of mankind.
….. Engineering Council for Professional Development
Why Engineering in Software Development?• Software development involves
– Disciplined problem solving– Analysis of problem– Product specification– Identification of Component Interfaces / Sub-
assemblies– Process and Project Management Skills– Prototypes– Reuse
• As many programmers learn skills on the job, an engineering mindset brings a process discipline
Software and Software Engineering
• Software Engineering is a systematic approach to the development, operation, maintenance and retirement of software [IEEE].
• Software is the modelling and implementation of the
– philosophy,
– methodology and
– knowledge
of accomplishing a task into computer codes.
5 P’s of Software Engineering
• Product (Software)• Problem (Domain)• Process (Development Process)• Project (Project Management)• People (Team)
Dynamics of Software Development
• We need to have an integrated perspective on software development (including both management functions like planning, controlling and staffing, as well as software production activities like designing, coding, testing, etc.) [Abdel-Hamid & Madnick, 89]
• Software project management system is far more complex conglomerate of interdependent variablesRef. T.K. Abdel-Hamid and Stuart E. Madnick, “Lessons Learned from Modeling of Dynamics of Software Development” Communications of the ACM, Vol. 32, No. 12, 1989, pp.1426-1455
3 Core Competencies of a Software Engineer
• Systems Engineering
• Software Engineering
• Concurrent Engineering
Core Competencies• Systems Engineering
– Recognize and handle complexity in consulting assignments– Perceive systems as a network of inter related subsystems– Probe beyond and behind the obvious during problem
diagnosis / discovery phases– Understand the needs and constraints of all stakeholders in
the system– Get better understanding of the domain leading to lasting
solutions rather than quick fixes– Treat quantitative and qualitative models with equal respect
(perceptions are as important as hard data in societal applications)
– Aligning Business and Information systems architectures
Core Competencies (contd…)
• Software Engineering– Application of scientific knowledge in the design and
construction of computer programs and the associated documentation
• Concurrent Engineering– involves the interaction of diverse group of
individuals who may be scattered over a wide geographic range
– takes advantage of shared information
– allows simultaneous focus on different phases of the software development life cycle.
Software Engineering Education
• Creation of intellectual assets– Choice of raw material– Process of converting the raw material into usable
assets
• Guarding against obsolescence• Matching business needs and individuals’
aspirations• Learning through experience sharing
Induction - Continuing Education
Growth inTechnology
Complexity inConsulting
ContinuingEducation
SkillsUpdation
Ability to HandleComplexity
O S
S
S
S
ExperienceGained
Handling of newProblem Domain
Grow th inBus ines s
S
S
S
Need in Projects
S
Recruitment
InductionTraining
Outflow fromTraining
OverallDvelopment
Ability to handlevariety
Productivity
S
S
S
O
S
S
S
O
TCS Induction Training Model• Input
– Predominantly Engineers from heterogeneous disciplines
• Concepts - Skill - Attitude Triad– Engineering Process
• Core Competencies• Mini-case implementation
– Core fundamentals of Computer Science– Technologies– Life skills
• “Learning to Learn” paradigm• Feedback & measuring effectiveness of training
SE Education - A Curriculum• SE Module
– Systems & Concurrent Engineering– Requirements Modeling– Software Design (Structured and OOAD)– Static and Dynamic Testing– Software Quality– Project (mini-case) implementation
• Computer Science foundations– Computer Architecture / Operating Systems– Discrete Mathematics / Data Structures and
Algorithms– DB & Network Technology
• Life Skills– Communication / Team Work / Presentation skills
Creating Software Engineers
• Current Scenario IT Education
– Immature Discipline– Non consensus on Body of Knowledge– Delay in building infrastructure, general technical
education, quality faculty, relevant curriculum and getting accreditation
Industry– Manpower requirement based mainly on short-term
revenue targets– Delays in technology absorption– Deployment of HR with skill mismatch
Creating Software Engineers - A Systemic View
Policy
ProfessionalBodies
Fees
Funds
Infrastructure
General TechnicalEducation
IT Education
TelecomInfrastructure Accreditation
KnowledgePortals
Recognitionof KP
Skill TrainingInstitutions
Qualityof
Faculty
Outflow forIT
Need in Industry
R&D
Growth inBusiness
ExperienceGained
RelevantCurriculum
Technology Watch
Quality HumanResources
Art & Scienceof Living
Complexity inConsultancy
Moving up theValue Chain
Brand Image
DomainKnowledge
Process Discipline
Quality
ContinuingEducation
General Education & IT Education - linkage
• Mindset developed in General Education has to be ported to IT education– Abstraction capability – Instrumentation, Measurement & Empirical formulation – Modeling & Behavior extrapolation– Inspection & Quality Control– Elegance of Design– User friendly Interfaces– Safety considerations– Aesthetics & “Patterns”– Brevity & Clarity of communication
Knowledge Portal - An Education Transversal Grid
Experts,Mentors
College 1 College nResource Institute
* *
CourseCoordinator
Course - 1
Course - 2
Knowledge Portal
• Content Authoring– Content Creation– Content Delivery– Content Monitoring / Updation
• Issues– An active facilitation by experts (Hand holding)– Evaluation and Feedback– Mentoring– Industry’s experiences– Professional Body’s input– Accreditation / Recognition
Creating a Learning Environment
• Abstract Industry experience and pass it to Academia
• Right faculty at right time – through e-Learning mode
• Relevant curriculum
Knowledge Management
Role of Professional Body
• Technology watch• Influencing Policy• Arbiter between Academia and Industry
Role match across various Work LevelsApplication Assistants Diploma holders / Secondary /
Associate Degree holders
Entry Level Programmers Bachelors in Arts / Science / Commerce / Humanities / Maths
System Integrators(Hardware / Software Maintenance)
System Integration / Systems Training
Software Engineers(Product Development / Requirement Specification)
Bachelors in Engineering / Graduate in Management
Managers / Project Leaders Bachelors in Engineering / Graduate in Management
Research and Education Masters in Engineering / Ph.Ds
Conclusion
• Knowledge Portal to facilitate e-Learning & acceptance of the e-mode of learning by all
• Professional Bodies to play a more proactive role
• Industry to abstract experiences into knowledge capsules
• Art and Science of Living• “Body of Knowledge in IT” relevant to different
educational streams