Process Flashcards
basic matters of project management:
plan, execute, and monitor.
waterfall model
a project begins by identifying requirements, writing specifications, implementing, testing, and releasing, all under the assumption that every stage could be fully tested and verified.
Spiral model (Boehm)
prototype every step along the way, getting partial validation, iteratively converging through a series of prototypes toward both an acceptable set of requirements and an acceptable product.
- Throughout, risk assessment is key, encouraging a team to reflect and revise process based on what they are learning.
awareness of teammates’ work is good for process because
Teams need tools like dashboards to help make them aware of changing priorities and tools like feeds to coordinate short term work
ownership is a critical idea in process
his is the idea that for every line of code, someone is responsible for it’s quality.
Pace is another factor that affects quality.
there’s a tradeoff between how fast a team works and the quality of the product it can build.
the distance between teammates is also a critical factor.
distance appears to lead to slower communication
extreme programming
- Be iterative
- Do small releases
- Keep design simple
- Write unit tests
- Refactor to iterate
- Use pair programming
- Integrate continuously
- Everyone owns everything
- Use an open workspace
- Work sane hours
agile
celebrated many of the values underlying Extreme Programming, such as focusing on individuals, keeping things simple, collaborating with customers, and being iterative.
Agile methods can
increase developer enthusiasm, that agile teams need different roles such as Mentor, Co-ordinator, Translator, Champion, Promoter, and Terminator, and that teams are combing agile methods with all kinds of process ideas from other project management frameworks such as Scrum and Kanban
Scrum
meet daily to plan work, plan two-week sprints, maintain a backlog of work
Kanban
visualize the workflow, limit work-in-progress, manage flow, make policies explicit, and implement feedback loops
Herbsleb’s Socio-Technical Theory of Coordination (STTC).
technical dependencies in engineering decisions (e.g., this function calls this other function, this data type stores this other data type) define the social constraints that the organization must solve in a variety of ways to build and maintain software.
- The better the organization builds processes and awareness tools to ensure that the people who own those engineering dependencies are communicating and aware of each others’ work, the fewer defects that will occur.
- referred to as sociotechnical congruence