top of page
An image of a factory that creates Apps

theAppFactory

Public·1 member

theAppFactory

theAppFactory

Traditional university software development and software engineering programmes do not typically provide graduates with exposure to how applications are actually developed in commercial settings. The modern software development landscape increasingly incorporates AI-powered tools that fundamentally change how developers work, collaborate, and solve problems. Many courses find it challenging to cover essential commercial development practices including requirements gathering, stakeholder management, version control collaboration, code review processes, AI tool integration, deployment practices, technical debt management, cross-functional collaboration, and client communication.


New graduates seeking early career positions as software developers often focus on highlighting technologies, coding languages, and related tools without articulating alignment to commercial contexts or demonstrating practical skills acquired through real-world application.

This project aims to simulate the experiences and challenges of a real software house by developing web applications motivated by real problems with real clients using modern web technologies and AI-enhanced development practices. Students will work in teams using typical software development practices found in industry, whilst learning to leverage and critically evaluate generative AI tools as both productivity enhancers and collaborative partners.


Synopsis

Traditional university software development and software engineering programmes do not typically provide graduates with exposure to how applications are actually developed in commercial settings. The modern software development landscape increasingly incorporates AI-powered tools that fundamentally change how developers work, collaborate, and solve problems. Many courses find it challenging to cover essential commercial development practices including requirements gathering, stakeholder management, version control collaboration, code review processes, AI tool integration, deployment practices, technical debt management, cross-functional collaboration, and client communication.


New graduates seeking early career positions as software developers often focus on highlighting technologies, coding languages, and related tools without articulating alignment to commercial contexts or demonstrating practical skills acquired through real-world application.


This project aims to simulate the experiences and challenges of a real software house by developing web applications motivated by real problems with real clients using modern web technologies and AI-enhanced development practices. Students will work in teams using typical software development practices found in industry, whilst learning to leverage and critically evaluate generative AI tools as both productivity enhancers and collaborative partners.


Aims

This project simulates software development practices found in typical web development companies, including strategic integration of AI tools that have become standard in modern development workflows. Working on real web and mobile applications motivated by genuine problems with actual clients, students will experience how AI tools like GitHub Copilot, ChatGPT, and other generative AI resources are transforming software development.

Students will reflect on their experiences with both traditional development practices and AI-assisted workflows, capturing insights to improve their employability by demonstrating technical skills, ability to work effectively with AI tools, understanding of their limitations, and maintenance of code quality and security standards in AI-augmented development environments.


Commercial Development Challenges Explored

  • Requirements gathering and stakeholder management: Working directly with clients to understand business needs, manage changing requirements, and translate non-technical specifications into technical solutions

  • Project estimation and timeline management: Accurately estimating development effort, managing competing priorities, and delivering to fixed deadlines with resource constraints whilst accounting for AI tool efficiency gains

  • Version control collaboration and AI integration: Using Git in team environments with branching strategies, code reviews, merge conflicts, and release management practices, including managing AI-generated code contributions

  • Code review processes for traditional and AI-generated code: Participating in peer reviews, maintaining code quality standards, and critically evaluating AI-suggested solutions for security vulnerabilities and performance issues

  • AI tool integration and workflow management: Incorporating AI assistants into daily development workflows whilst maintaining team consistency, code standards, and appropriate skill development balance

  • Testing and deployment in production environments: Understanding differences between development, staging, and production environments, including quality assurance strategies for AI-generated code

  • Technical debt management and AI dependency: Balancing feature delivery with code refactoring, maintenance, and long-term system sustainability whilst avoiding over-reliance on AI tools

  • Cross-functional collaboration and AI communication: Working effectively with designers, product managers, and QA teams whilst transparently discussing AI tool usage with clients

  • Legacy system integration and AI-enhanced development: Adapting to existing codebases and implementing changes using both traditional methods and AI assistance

  • Performance optimisation under real-world constraints: Optimising applications for actual usage patterns, server limitations, and budget constraints

  • Documentation, knowledge transfer, and code ownership: Creating technical documentation using AI tools whilst ensuring team members can explain and modify all code independently

  • Security, compliance, and AI ethics: Implementing security best practices whilst managing AI ethics including intellectual property implications and licensing considerations

  • Client communication and expectation management: Explaining technical concepts to non-technical audiences whilst maintaining transparency about AI tool usage


AI Integration: Opportunities and Challenges

Opportunities

  • Accelerated Learning: Leveraging AI tools to understand unfamiliar technologies quickly and receive instant explanations of complex concepts

  • Enhanced Productivity: Using AI pair programming tools to write code efficiently, catch errors early, and explore alternative implementation approaches

  • Industry Relevance: Gaining experience with AI tools that directly mirrors current industry practices

  • Creative Problem-solving: Accessing AI-suggested innovative approaches and exploring previously unconsidered solutions

  • Improved Documentation: Utilising AI tools to generate technical documentation, user stories, and client communications


Challenges

  • Over-reliance Risk: Avoiding dependency on AI tools at the expense of fundamental problem-solving and debugging skills

  • Code Quality Concerns: Critically evaluating AI-generated code for security vulnerabilities, performance issues, and maintainability

  • Intellectual Property and Ethics: Understanding implications of using AI-generated code in client projects and navigating copyright considerations

  • Technical Debt Accumulation: Managing rapid AI-assisted development to prevent technical debt accumulation

  • Skill Validation: Distinguishing between AI-assisted capabilities and core competencies

  • Client Expectations: Managing client understanding of AI's role in development and setting appropriate expectations


Indicative Technologies

React JS, React Native, Express JS, Node JS and NPM, SQL, XAMPP, Git, GitHub, VS Code and appropriate extensions, Postman, GitHub Copilot, ChatGPT-4, Claude, Cursor IDE, AI-powered testing tools, and other emerging generative AI development platforms.


Project Structure and Duration

The project spans 12 weeks, organised into three development sprints of four weeks each. Students work in cross-functional teams of 4-5 members, with each team assigned a dedicated client project. Teams follow agile methodologies with weekly sprint planning, stand-ups, and sprint retrospectives. Each sprint concludes with client demonstrations and feedback sessions.


Client Projects and Scenarios

Students engage with real clients from local businesses, charities, and start-ups requiring genuine digital solutions. Example projects include:

  • Kingston University: Workload Allocation System

  • Se@T: Seating Assignment Tool


Expected Outputs

Students will build, secure, and deploy web/mobile applications and API services, demonstrating proficiency in both traditional development practices and AI-assisted workflows. Key outputs include reflections, portfolio artefacts, STAR stories, blogs, and LinkedIn assets that showcase understanding of modern software development company demands. Outputs aim to demonstrate close alignment to work practices, an ability to work effectively in teams, evidence of critical thinking, and both technical and professional aptitude within a work simulated context.


6 Views

About

Traditional university software development programmes typic...

bottom of page