Module Descriptors
AGILE SOFTWARE DEVELOPMENT
COMP50045
Key Facts
Digital, Technology, Innovation and Business
Level 5
20 credits
Contact
Leader: Philip James
Hours of Study
Scheduled Learning and Teaching Activities: 28
Independent Study Hours: 172
Total Learning Hours: 200
Pattern of Delivery
  • Occurrence A, Stoke Campus, UG Semester 3 to UG Semester 1
  • Occurrence B, The Development Manager, UG Semester 3 to UG Semester 1
Sites
  • Stoke Campus
  • The Development Manager
Assessment
  • INDIVIDUAL REPORT - 2000 WORDS weighted at 50%
  • IMPLEMENT AND TEST AN OBJECT ORIENTATED SOLUTION weighted at 50%
Module Details
Indiciative Content
Theory & Knowledge Exchange

Agile Manifesto

Agile vs Linear/Waterfall

Roles

Agile Practices

Frameworks and methodologies: SCRUM, Kanban, Lean software development, Extreme Programming



Web standards

HTML, CSS and JavaScript

Front end web frameworks

CSS frameworks

Retrieving and displaying JSON based data.

Version control

Build and packaging tools.

Deployment

Design tools for front end development

Security considerations

Designing with accessibility in mind

Designing with responsiveness in mind

Testing for functionality, accessibility, responsiveness and performance



Technology & Resources

Video/written material will be provided in Java. Students can develop solutions in other OO languages.

Development environments: Visual Studio Code. Other IDEs considered; students can develop solutions in other development environments than those used in the lectures.

Internet to access official documentation for the language used as well as other texts recommended by the module tutor via the Staffordshire University O’Reilly library.¿



Practical Content



This module will support the development and assessment of the following Core Knowledge, Skills and Behaviours from the DTSP Apprenticeship Standard:

Knowledge

K5 A range of digital technology solution development techniques and tools.

K7 The roles, functions and activities within digital technology solutions within an organisation.

K8 How teams work effectively to produce digital and technology solutions.

K17 Reporting techniques, including how to synthesise information and present concisely, as appropriate to the target audience.

Skills

S7 Work effectively within teams, leading on appropriate digital technology solution activities.

S10 Initiate, design, implement and debug a data product for a digital and technology solution.

S13 Report effectively to colleagues and stakeholders using the appropriate language and style, to meet the needs of the audience concerned.

Behaviour

B1 Has a strong work ethic and commitment to meet the standards required.

B2 Reliable, objective and capable of independent and team working.

B5 Interacts professionally with people from technical and non-technical backgrounds. Presents data and conclusions in an evidently truthful, concise and appropriate manner.



This module will support the development and assessment of the following Specialist Route Knowledge, Skills and Behaviours from the DTSP Apprenticeship Standard:



Software Engineer

Knowledge

K21 How to operate at all stages of the software development life cycle and how each stage is applied in a range of contexts. For example, requirements analysis, design, development, testing, implementation.

K22 Principles of a range of development techniques, for each stage of the software development cycle that produce artefacts and the contexts in which they can be applied. For example, UML, unit testing, programming, debugging, frameworks, architectures.

K23 Principles of a range of development methods and approaches and the contexts in which they can be applied. For example, Scrum, Extreme Programming, Waterfall, Prince2, TDD.

K24 How to interpret and implement a design, compliant with functional, non-functional and security requirements including principles and approaches to addressing legacy software development issues from a technical and socio-technical perspective. For example, architectures, languages, operating systems, hardware, business change.

K25 The factors affecting product quality and approaches for how to control them throughout the development process. For example, security, code quality, coding standards.

K26 How to select and apply a range of software tools used in Software Engineering.

K27 Approaches to the interpretation and use of artefacts. For example, UML, unit tests, architecture.

K28 Approaches to effective teamwork and the range of software development tools supporting effective teamwork for example configuration management, version control and release management.

Skills

S18 Use appropriate analysis methods, approaches and techniques in software engineering projects to deliver an outcome that meets requirements.

S19 Implement software engineering projects using appropriate software engineering methods, approaches and techniques.

S20 Respond to changing priorities and problems arising within software engineering projects by making revised recommendations, and adapting plans as necessary, to fit the scenario being investigated.

S22 Evaluate learning points arising from software engineering work undertaken on a project including use of methods, analysis undertaken, selection of approach and the outcome achieved to identify both lessons learnt and recommendations for improvements to future projects.

S23 Extend and update software development knowledge with evidence from professional and academic sources by undertaking appropriate research to inform best practice and lead improvements in the organisation.

Additional Assessement Details
The report will document the individual’s contribution to project. It will also include identify and discuss how individual KSBs have been further developed during this module using supporting images, code snippets, meeting minutes, etc.

Assessing Learning Outcomes 3.





Assessing the following Software Engineer Route KSBs

Knowledge

K23 Principles of a range of development methods and approaches and the contexts in which they can be applied. For example, Scrum, Extreme Programming, Waterfall, Prince2, TDD.

K28 Approaches to effective teamwork and the range of software development tools supporting effective teamwork for example configuration management, version control and release management.

Skills

S20 Respond to changing priorities and problems arising within software engineering projects by making revised recommendations, and adapting plans as necessary, to fit the scenario being investigated.

S22 Evaluate learning points arising from software engineering work undertaken on a project including use of methods, analysis undertaken, selection of approach and the outcome achieved to identify both lessons learnt and recommendations for improvements to future projects.





The demonstration will allow the apprentices to showcase their finished application and answer questions about its construction.

Assessing Learning outcomes 1, 2 and 3.



Assessing the following Software Engineer Route KSBs

Knowledge

K21 How to operate at all stages of the software development life cycle and how each stage is applied in a range of contexts. For example, requirements analysis, design, development, testing, implementation.

K22 Principles of a range of development methods and approaches and the contexts in which they can be applied. For example, Scrum, Extreme Programming, Waterfall, Prince2, TDD.

K25 The factors affecting product quality and approaches for how to control them throughout the development process. For example, security, code quality, coding standards.

K28 Approaches to effective teamwork and the range of software development tools supporting effective teamwork for example configuration management, version control and release management.

Skills

S18 Use appropriate analysis methods, approaches and techniques in software engineering projects to deliver an outcome that meets requirements.

S19 Implement software engineering projects using appropriate software engineering methods, approaches and techniques.

S20 Respond to changing priorities and problems arising within software engineering projects by making revised recommendations, and adapting plans as necessary, to fit the scenario being investigated.

S22 Evaluate learning points arising from software engineering work undertaken on a project including use of methods, analysis undertaken, selection of approach and the outcome achieved to identify both lessons learnt and recommendations for improvements to future projects.

Learning Strategies
The module will be delivered in a Blended Learning Mode consisting of face to face, online and guided learning sessions.



Teaching sessions will blend theory and practical learning and most importantly where possible contextualised in your workplace as part of your apprenticeship. Learners will be introduced to curriculum concepts and ideas and will then be able to apply theory to practical examples. In addition, students will be provided with a range of resources for independent study such as case studies, academic papers and industry case studies. There will be a mixture of practical and theoretical formative (mock or practice) exercises which will help students build knowledge and confidence in preparation for summative (formal) assessment.



The delivery will be delivered as follows:



Module Launch week: 12 hours.

There will be a module launch session consisting of up to 12 hours face to face contact time devoted to developing your understanding of the core purpose and assessment of the module. Learners will be presented with details of how the learning will be structure and how to access to the learning materials for the remainder of the module.



Structured Learning Sessions: 15 hours

Following the module launch week you will have a further 15 hours of contact time as a class with the module team. This will typically be as 10 x 1.5-hour online classes which will be a combination of activities including lectures, demonstrations, discussions, tutorials and seminars. Some sessions are likely to be in flipped classroom style, where you will be expected to watch online recordings, read materials or respond to practical activities in preparation for active engagement with problem solving in the online session.



1:1 Progress Checks: 1 hour

As a Blended Learner understanding your progress can be a challenge so you are allocated an hour of 1:1 time with your tutor (typically 3 x 20 minute). Some of these may be in small groups if appropriate. These sessions may be used to discuss key topics, troubleshoot salutations, review working drafts etc.



Guided Independent Learning: 178 hours.

The module leader will provide resources through the virtual learning environment which will include videos and presentations as well as links to useful websites and other resources. Additional academic learning will be achieved through reading around the subject area, module tutors will suggest useful texts, though many others will be suitable and can be found in our e-library. You should also draw on the expertise in your workplace via your workplace mentor and other colleagues. If you require help understanding any of the concepts, you should contact your module tutor for assistance.

As an apprentice you are constantly developing your Digital Skills as part of your substantial role, and this applies to the development of the knowledge for your modules too. In some cases, there will be a significant cross over between the module content and in others less so, depending on the nature of your workplace duties, this will have direct impact on to the number of Independent Learning required.



Within the Independent learning time you will be expected to complete your assignments, as a guide a typical module assignment should take around 60 hours to complete.

Learning Outcomes
1. Design, create and test a web site using current web standards, taking into account relevant security issues.

2.demonstrate a critical understanding of the architecture and components of a web application.

3. Reflect critically on personal contribution to, professional development in, and outcome of a team-based software development project.

Texts
All texts and electronic resources will be updated and refreshed on an annual basis and available for students via the online Study Links resource platform. All reference materials will be collated and curated and aligned to Equality, Diversity & Inclusion indicators.



Core Text/Resource:

Gandhi, R. (2022). ‘Head First Git’, O’Reilly Media.

Measley. et al. (2015). ‘Agile Foundations’, BCS, The Chartered Institute for IT

Schwarzmuller, M. (2020). ‘Node.js The Complete Guide’, Packt Publishing

Schwarzmuller, M. (2022). ‘React – The Complete Guide (Includes Hooks, React Router, and Redux) 2nd edition), Packt Publishing.



Optional Text/Resource:

Frain, B. (2022). ‘Responsive Web Design with HTML5 and CSS – 4th edition’, Packt Publishing.



Advanced/Supplementary Text/Resource:

Chacon, S. and Straub, B. (2014). ‘Pro Git’, Apress.

Rubin, K. (2012). ‘Essential Scrum: A Practical Guide to the Most Popular Agile Process’, Addison-Wesley Professional

Resources
Software

API Testing tool (e.g., Postman or Insomnia)

Version control management (e.g., Git)

Testing tools

IDE (e.g., Visual Studio Code)

Front end frameworks/libraries (e.g., React)

Current web browsers



Cloud Tools

Project tools (e.g., Trello)

Online prototyping design tools (e.g., Figma, Moqups)

Repository (e.g., GitHub)
Web Descriptors
In this module, you will develop your knowledge and skills of software development by learning about current front end web development; how to design, develop and test front-end web applications as well as learn associated good practice. Your knowledge, skills and behaviours will be evidenced through the development of a web application that communicates with an Application Programmable Interface (API).