Title: Enhancing Student Employability through Projects
1Enhancing Student Employability through Projects
- Frank Milsom,
- School of Design, Engineering Computing
2What makes graduate Software Engineers employable?
- Technical skills
- Problem solving ability
- Communication skills
- Team player
- Professional approach
3BSc (Hons) Software Engineering Management
- First course intake in 1989.
- Part of the Computing programme.
- 24 final year students in 2004/05.
- Final year units
- Individual Project.
- Group Project.
- Software Engineering Management.
- Two electives.
4Group projects in computing
- Concept is well established
- First (?) UK paper on this in 1977 by Horning et
al. on the Sheffield Software Hut experience. - Unusual in final year of undergraduate course,
but does occur at Masters level.
5Group Project - organisation
- Groups of 4 (or 3).
- Staff act as Client and as Supervisor.
- Client may represent end users.
- Groups bid for projects, and work in
competition. - Two phases
- Feasibility study, plus prototype.
- Completed, documented application.
6Group Project - Requirements
- Work as a team.
- Interact with client(s) and supervisor.
- Elicit and document requirements.
- Build and test a software application.
- Produce technical and user documentation.
- Plan and manage the project work.
- Give presentations and demonstrations.
7Group Project - Deliverables
- Management
- Feasibility Study, Project Plans, Quality Plans,
etc.. - Technical
- Requirements Specification, Prototype, Software
Application, Prototype, User Documentation,
Technical Documentation. - Reflective
- Project post-mortem (group), individual report.
8So what about employability?
- Do employers really value a professional
approach? - Example (from a local company)
- Our strategy To maintain a professional
attitude to our work, our quality of design and
our considered use of technology.
9Extracts from the British Computer Society Code
of Good Practice (1)
- Use standards in an intelligent and effective
manner to achieve well-engineered results. - Groups define and use their own standards, such
as coding standards and change control
procedures. - Be aware that most people within the
organisation do not share your expertise avoid
technical jargon and express yourself clearly in
terms they understand. - Interaction with client and supervisor.
10Extracts from the British Computer Society Code
of Good Practice (2)
- Ensure that you have the necessary resources to
complete assignments within agreed time scales. - Feasibility study.
- Accept constructive criticism of your work,
appreciating that your colleagues may have better
solutions. - Peer reviews common (but not universal).
11Extracts from the British Computer Society Code
of Good Practice (3)
- Devise mitigation actions that will reduce the
chances of the most serious risks happening. - Risk assessment, containment actions and
contingency plan. - Utilise technical reviews as an aid to your
professional judgement, seeking specialist advice
where appropriate. - Access to specialist expertise through Internet
User Groups is commonplace.
12Extracts from the British Computer Society Code
of Good Practice (4)
- Accurately record the effort spent on each task
do not hide overruns by booking to other tasks. - Timesheets group sign off.
- Honestly summarise the mistakes made, good
fortune encountered and lessons learned when
closing a project. - Project post-mortem report.
13Thats all very well, but what about overseas
students?
- From the ACM/IEEE Software Engineering Code of
Ethics and Professional Responsibility - Software Engineers shall Ensure an appropriate
method is used for any project on which they work
or propose to work. - Select methods and justify in the Feasibility
Study.
14Does professionalism cover everything?
- Monty Finniston Six aspects of professionalism
- Know-how (skills)
- Know-what (understanding of principles and
knowledge of facts) - Know-when (business awareness)
- Know-why (choice of process)
- Know-how-much (cost and performance estimation)
- Know-whom (to seek advice from)
- Communication? Teamwork? Creativity?
15Group Project Knowledge / Skills developed
- How to co-operate.
- How to communicate.
- How to compromise.
- What a professional approach involves.
- Enhanced technical skills.
- Self-awareness (strengths, limitations).
16- This project has been the most valuable
experience I have undertaken in all my years at
University. I have learned that group work is
not about splitting a project into tasks and
sending each member off to do a task as I had
been used to in previous projects. It is more
about working together, no matter what task you
are working on. By meeting all together a
problem that may have taken one hour to resolve
can take a matter of minutes when the whole group
is present. - (Final year student, 2004)
17Client
Supervisor
Peers
Software Engineer
Organisation
Experts
Successors
18Group Project - Limitations
- Fixed completion date.
- Group members are multi-tasking.
- Other units, other assignments.
- Reward system differs from industry.
- Cannot truly simulate business culture.
- No appointed Project Manager / Team Leader.
- No team mix of junior and senior engineers.
19Industry Evolution Challenges (1)
- Component development.
- Skills in identifying integrating components.
- Students frequently do this.
- Rapid (Agile) development.
- Less documentation, short duration projects, more
responsive to change. - Relaxing need for certain documentation, but
still require good specifications.
20Industry Evolution Challenges (2)
- Legacy systems.
- Skills in understanding and in making controlled
enhancement to existing software applications. - Some opportunities exist.
- Outsourcing of software development.
- Skills in negotiation, requirements
specification, acceptance test, etc.. - Difficult to simulate could outsource specific
subset of features?
21Summary
- Possible to simulate many aspects of the real
world environment. - Emphasis on professional practice.
- Feasibility study designed to develop estimation
skills. - High mark premium on reflection to encourage
learning from experience. - Project environment encourages development of
other attributes.
22- Tell me,
- I forget.
- Show me,
- I remember.
- Involve me,
- I understand.
- Chinese proverb