Agile and Effective Teams
Overview
Working in a team is essential in all modern and reasonably large software work. Therefore, the people involved in that work have thought deeply about how to best organize teams and they have come up with a lot of methods. A popular current approach is called Agile and today we’ll be learning about how to follow this methodology, the history behind it, and getting setup for the term. Agile also has some very useful life lessons built into it, so I encourage you to reflect on how aspects of Agile could improve your overall approach to life (I’m serious, I have found myself leaning on much of this philosophy in non-software areas of my life too).
Basic Learning Objectives
Before class, you should be able to:
- Identify the characteristics of effective teams
- Understand the basic components, mindset, and structure of the Agile development process
- Write basic Python programs
Advanced Learning Objectives
After class, you should be able to:
- Explain how Agile fits into the history of development processes
- Setup your machine for development of database-backed websites in this class
Readings
To achieve the basic learning objectives, you can should the following:
- Google’s writeup on Project Aristotle, a long-term study Google conducted on the characteristics of effective teams
- An Introduction to: Agile Software Development
-
Python Tutorial (if it’s been a while since you used Python)
- Optional: Analysis article on Project Aristotle
- Optional: Scrum Guide, if you want to go deeper into how Agile Scrum is supposed to work
Checks
Submit answers to the following through Moodle:
- What is Agile? (1-2 sentences)
- What are one or two of the values and/or principles of Agile that you have a strong reaction (positive or negative) to? What is your reaction and why do you think you have it?
- How do your experiences working with a team/partner match with the characteristics of effective teams from the article? How do they differ?
- How recently did you work with Python? Do you need to study aspects of it more still?
- If you have a Windows machine I highly advise you get started downloading the necessary software for the class before Wednesday’s class, since it will take a while. If you have a Mac or Linux, you are welcome to also get everything downloaded early, but there is less set up for you.