Yang Mou
Drives the process for deciding what gets built and when things get built. Defines the product specs, prioritizes features, and triages bugs. Often serves as the interface between engineering and the rest of the organization, such as sales or customer service. Helpful to have a technical background, though not necessary. Industry experience is also a big plus.
Makes things look pretty. Often works together with the product manager to spec out features and interactions. Sometimes a distinction is made between UI and UX.
Manages the technical side of planning and often works hand-in-hand with the product manager. Helps with estimating technical difficulty and splitting up tasks between engineers. Maybe even has time to write code.
Build all the cool stuff.
Methodology for how to do software development. It promotes adaptive planning, evolutionary development, early delivery, continuous improvement, and encourages rapid and flexible response to change. Contrast this to the waterfall model with its discrete steps: requirements, design, implementation, verfication, and maintenance.
The following are some processes that typify agile development.
Tasks are usually broken up into manageable chunks, sometimes called user stories. User stories are meant to rephrase tasks from the perspective of the user of the product, so that the tangible benefits of the work are upfront and obvious. Ideally user stories should be small enough that they take at most 1-2 days to complete.
Sprints are usually 1-2 weeks long. Sprint planning involves estimating how long each user story takes, deciding which stories are going to be worked on for the sprint, and assigning them to individual engineers. This meeting can also be used to ensure that stories are well-defined and not missing any specs or designs.
Team meeting at the end of a sprint to go over what was completed in the past sprint. It's also used as an opportunity for the team to discuss what went well, what went poorly, and how processes can be improved for future sprints.
Short, daily meetings in which every member of the team announces:
- What they worked on yesterday
- What they plan on doing today
- Any blockers Standups are an opportunity to make everyone on the team aware of what's going on and spawn any further discussions.
For Android, it's usually between 3-6 weeks between regular releases for each version of the app. In the first part of the cycle, engineers focus on building new features. Usually the last week or two is reserved for testing. During the testing period, the only changes that should be made are bug fixes; no new features are added.
Please submit the exit ticket here.