Cooperation and Communication

"The most efficient and effective method of conveying information to and within a development team is face-to-face conversation." -- The Agile Manifesto

Lesson 1: Release it!

For lesson 1, please read:
The flattening of the software release process

Lesson 2: Breaking down silos

For lesson 2, please read:
Breaking down silos
Breaking Down Silos with Cross-Functional Teams

Lesson 3: Using Slack

For lesson 3, please go through these Slack guides:

Other Readings
Quiz

    A poly-skilled engineer

    1. graduated from NYU Poly
    2. knows several languages
    3. knows all parts of the technology their team uses
    4. all of the above

    Organizational functions which should be centralized are...?

    1. those that develop the platform services used by the rest of the software-delivery team
    2. those that perform system monitoring
    3. both A and B
    4. no organizational functions should be centralized

    Each member of a cross-functional team needs to...?

    1. write tests
    2. write scripts
    3. version
    4. all of the above

    The most essential element of employing DevOps is...?

    1. making cultural change in an organization
    2. finding the right tools
    3. having as many operations people as developers
    4. building silos between the teams

    Having a cross-functional team means...?

    1. every team member is responsible for the delivery process
    2. any person on the team can modify any part of the software system
    3. answers A and B
    4. having no project manager on the team

    To learn writing correct software one needs to start by...?

    1. writing code
    2. learning theoretical basis of software engineering
    3. learning abstract algebra
    4. learning the design of compilers

    To increase collaboration between development and operations teams, one should...?

    1. broaden the skill set of engineers
    2. ensure collective ownership
    3. establish cross-functional teams
    4. all of the above

    To have a solid understanding of computer systems one needs...?

    1. practical understanding of programming
    2. theoretical understanding of programming
    3. both A and B
    4. NOT to understand programming

    What is our main tool for communication in our course?

    1. git
    2. Docker
    3. Kubernetes
    4. Slack

    In DevOps, "silos" refers to the fact that...?

    1. departments in organizations often seemed sealed off from each other
    2. good software should be divided into "silos"
    3. granaries are major users of software
    4. all of the above