CTC/ITC 310 Program Management California State University Dominguez Hills First Exam Answer Key November 20, 2018 Instructor: Howard Rosenthal There are 30 questions on this exam. Each question is worth 4 points (Note. 9-10 and 24-25 are each worth 8 points total). This means that you can earn up to 20 extra credit points for this exam. Some answers can be answered in a few words, while others require a little more extensive writing. If more than one item is asked for, only give the number of answers asked for. Any list will be graded starting from the top. Number all questions. Answer the questions in order if possible. 1. Give three examples of project phases. Concept Development Feasibility Study Requirement Development Prototyping Architecture and Design Deployment Closure 2. List two advantages and two disadvantages of the Spiral Model. Advantages High amount of risk analysis. Good for large and mission-critical projects. Software is produced early in the software life cycle. Disadvantages Can be a costly model to use. Risk analysis requires highly specific expertise. Project s success is highly dependent on the risk analysis phase. 3. What is the key improvement in the V-Model model when compared to the classic Waterfall Model? Test Plans for each level are created in concert with the analysis and design, improving the chances for a smooth Acceptance Test. 4. List four additional factors that may be used in selecting the right life cycle. Total cost Duration Market Stability Technology Business Climate Number of departments affected Organizational environment 1
5. What is DevOps? DevOps is a culture which promotes collaboration between Development and Operations Team to deploy code to production faster in an automated & repeatable way 6. List any two reasons why DevOps is used. Faster to market DevOps allows Agile Development Teams to implement Continuous Integration and Continuous Delivery that helps them to launch products faster into the market DevOps reduces the time to market up to 50% through streamlined software delivery This is particularly the case for digital and mobile applications Predictability DevOps offers significantly lower failure rate of new releases Reproducibility Version everything so that earlier version can be restored anytime Maintainability Effortless process of recovery in the event of a new release crashing or disabling the current system Improved Quality DevOps helps the team to provide improved quality of application development as it incorporates infrastructure issues Reduced Risks DevOps incorporates security aspects in the software delivery lifecycle It helps in reduction of defects across the lifecycle. Resiliency The Operational state of the software system is more stable, secure, and changes are auditable Cost Efficiency DevOps offers cost efficiency in the software development process which is always an aspiration of IT companies' management Breaks larger code base into small pieces DevOps is based on the Agile programming method allowing for the breaking larger code bases into smaller and manageable chunks 7. What is a user story? Functional increments of work, usually created in concert with the customer, are called user stories. 8. What are personas? When the project calls for it - for instance when user experience is a major factor in project outcomes - the team crafts detailed, synthetic biographies of fictitious users of the future product: these are called "personas 2
9-10. List the four basic principles of the Agile Manifesto. Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan 11. How are work assignments allocated in the Agile environment? Assigning work and getting the status of the work completed moves from the project manager to the team members The rationale behind this is that the Agile team is a self-organized group of highly skilled professionals, accountable for the work they commit to in a sprint. The team takes ownership and accountability for meeting the project and team goals. 12. What is the role of the team lead/scrum Master in an Agile environment? This role, called Scrum Master in Scrum or team coach or project lead in other methods, is responsible for facilitating the team, obtaining resources for it, and protecting it from problems. This role encompasses the soft skills of project management but not the technical ones such as planning and scheduling, activities which are better left to the team as a whole. 13. What is the role of the Product Owner in an Agile environment? The Product Owner, called on-site customer in XP and active stakeholder in AM, represents the stakeholders. This is the one person responsible on a team (or sub-team for large projects) who is responsible for the prioritized work item list (called a product backlog in Scrum), for making decisions in a timely manner, and for providing information in a timely manner. 14. List and describe the three key elements of a useful project charter. Vision The vision defines the Why of the project. This is the higher purpose, or the reason for the project s existence Also describes who benefits and how Mission This is the What of the project and it states what will be done in the project to achieve its higher purpose Success Criteria The success criteria are management tests that describe effects outside of the solution itself 15. List three questions asked by the team during an Agile retrospective. What worked well for us? What did not work well for us? What actions can we take to improve our process going forward? 3
16. Who owns the backlog in the Agile environment? The Product Owner 17. What is refactoring? Refactoring is improving code without adding new functionality. 18. List three benefits of the daily stand-up in Agile. The team can evaluate the progress on a daily basis and see if they can deliver as per the iteration plan Each team member informs all about his/ her commitments for the day It provides visibility to the team on any delay or obstacles 19. What is Scrum? Scrum is a single-team process framework used to manage product development The framework consists of roles, events, artifacts and rules that uses an iterative agile delivery approach to deliver working products within timeboxes of one month or less Scrum defines "a flexible, holistic product development strategy where a development team works as a unit to reach a common goal It challenges assumptions of the "traditional, sequential approach to product development, and enables teams to self-organize by encouraging physical colocation or close online collaboration of all team members, as well as daily faceto-face communication among all team members and disciplines involved 20. List three communications responsibilities of the Product Owner. Communication tasks of the Product Owner to the stakeholders include: Demonstrating the solution to key stakeholders who were not present at a sprint review Defining and announcing releases Communicating team status Organizing milestone reviews Educating stakeholders in the development process Negotiating priorities, scope, funding, and schedule; Ensuring that the product backlog is visible, transparent, and clear 21. List three responsibilities of the Scrum Master. The Scrum Master is accountable for removing impediments to the ability of the team to deliver the product goals and deliverables and is not a traditional team lead or project manager but acts as a buffer between the team and any distracting influences. Responsibilities include: Ensuring that the Scrum framework is followed Helping the Product Owner maintain the product backlog in a way that ensures the needed work is well understood so the team can continually make forward progress 4
Helping the team to determine the definition of done for the product, with input from key stakeholders Coaching the team, within the Scrum principles, in order to deliver high-quality features for its product Promoting self-organization within the team Helping the Scrum team to avoid or remove impediments to its progress, whether internal or external to the team Facilitating team events to ensure regular progress Educating key stakeholders in the product on Scrum principles Coaching the development team in self-organization and cross-functionality 22. What questions are answered by each team member during the daily Scrum? What did I complete yesterday that contributed to the team meeting our sprint goal? What do I plan to complete today to contribute to the team meeting our sprint goal? Do I see any impediment that could prevent me or the team from meeting our sprint goal? 23. What does the Kanban Board allow us to do? A Kanban board is a tool used to visualize work and optimize the flow of the work among the team. 24-25. What are the six primary feature-driven development (FDD) roles? Project manager Chief architect Development manager Chief programmer Class Owner and/or Domain expert 26. What are the outputs of the FDD when building a features list? The result of the process is the Features List which includes A list of subject areas For each subject area, a list of the business activities within that subject area For each business activity step, the feature to satisfy the step 27. List 2 reasons why FDD methodology differs from traditional Agile in preferring individual class ownership? There is someone responsible for the conceptual integrity of that class. As enhancements are made, the class owner ensures that the purpose and design of the class is not compromised There is an expert available to explain how a specific class works. This is especially important for complex or business-critical classes The class owner typically implements a required change faster than another developer that is not as familiar with the class 5
The class owner has something of his or her own that he or she can take personal pride in 28. List any three items in the design package in FDD? A covering memo, or paper, that integrates and describes the design package such that it stands on its own for reviewers The referenced requirements (if any) in the form of documents and all related confirmation memos and supporting documentation. The Sequence diagram(s) Design alternatives (if any) The object model with new/updated classes, methods and attributes The generated output for the class and method prologues created or modified by this design Calendar/To-Do task-list entries for action items on affected classes for each team member 29. What is a Scrum of Scrums. The Scrum of Scrums is a technique to scale Scrum up to large groups (over a dozen people), consisting of dividing the groups into Agile teams of 5-10 Each daily Scrum within a sub-team ends by designating one member as "ambassador" to participate in a daily meeting with ambassadors from other teams, called the Scrum of Scrums Depending on the context, ambassadors may be technical contributors, or each team's Scrum Master, or even managers of each team 30. Describe systems wide thinking in the SAFe environment. Systems wide thinking is a holistic approach to analysis that focuses on the way that a system's constituent parts interrelate and how systems work over time and within the context of larger systems The systems wide thinking approach contrasts with traditional analysis, which studies systems by breaking them down into their separate elements. Systems wide thinking can be used in any area of research and has been applied to the study of medical, environmental, political, economic, human resources, and educational systems, among many others System wide thinking Assumes variability and changes, so preserve options Builds incrementally using an Agile methodology Bases milestones on objective evaluation of previously developed systems Visualizes and limit work in progress Unlocks and motivate workers (we discuss this in a later lesson) Decentralizes decision making 6