A quick intro to managing software projects

  1. A quick intro to managing software projects
  2. Issue management and estimation
  3. The Design Sprint
  4. The Build Sprint
  5. Product Management and the Product Owner role

Agile software development

The iterative approach to software development

Distinct from more linear approaches, such as Waterfall project management, with sequential phases - each of which only begin when the previous one has been completed

Encompasses a number of approaches to Software Development are rooted in the Agile Manifesto

The agile manifesto was written in 2001 by a group of 17 software developers who had met to discuss the future of software development

Individuals and interactions over processes and tools

Working software over comprehensive documentation

Customer collaboration over contract negotiation

Responding to change over following a plan

That is, while there is value in the items on the right, we value the items on the left more.

Read more:

https://www.atlassian.com/agile/manifesto

Glossary

Scrum™

A widely-used and agile software development method, that uses the following terms

Sprint

A fixed period of development time during which the team will not respond to new change requests

Sprint length

Two weeks is typical, but each week we are going to do a single two-day sprint. For your final projects, you will be doing one-week sprints.

User story

An action that a user wants to perform

User story

“As a… I want… So that…”

Backlog

Includes all uncompleted user stories

Project board

“Kanban” which you are going to use to track your project

Kanban columns

  • To-do
  • In Progress
  • Done

Sprint retrospective

Stop, go, continue

Glossary Recap

  • Scrum™
  • Sprint
  • User story
  • Backlog
  • Project board (Kanban)
  • Sprint retrospective

Team roles

1. Facilitation (Scrum Facilitator)

Ensuring a smooth process and good communication.

2. Deployment (DevOps)

Project set up, file architecture, third party tools, keeping secrets secret.

3. Quality Assurance (QA)

Clear variable names, simple and concise code, adequate test coverage.

4. User Experience

Championing the user stories to ensure that your product meets the users’ needs.

Consider taking on the role that you feel least comfortable with

Take each role once, over the next six weeks

On Wednesdays, you’ll have time for role circles

This is a chance for cross-team collaboration grouped around your roles

  1. Facilitation
  2. Deployment
  3. Quality
  4. User Experience

The daily standup

Punctuate your build with check-ins amongst the team

Focus on three things:

  • What have you done?
  • What will you do next?
  • Is there anything blocking progress?

The Facilitator leads stand-up and gives everyone an opportunity to speak

It is the responsibility of the Facilitator to manage resolving blockers

Remember…

  • Actually stand up
  • Take no more than 10 minutes
  • Facilitator can
    • take notes of actions e.g. project board updates
    • take notes of blockers to address
    • motivate the team

Swap pairs in your teams frequently

Everyone should pair with everyone else

When you swap, punctuate the switch with a stand-up

Presentations

  • Show your project board
  • Identify your roles and the challenges of the role
  • Let us know how you worked together

Final thoughts

There are many different approaches to developing software, and most companies won’t rigidly follow one in particular

A FAC alumn, and experienced software developer, told of the approach their former employer took to software development. Something we might call…

Shovelling 💩 onto the development team

Being aware of the approaches, and how your company operates is an important part of meeting the apprenticeship standard