This document is copyrighted, the distribution of this document is punishable by law.

Size: px
Start display at page:

Download "This document is copyrighted, the distribution of this document is punishable by law."

Transcription

1 Lecture 1 A project is a temporary endeavor undertaken to create a unique product, service or result A process is a series of actions taken in order to achieve result, a project is temporary with a clear start- & end point. A project has limited budget and resources are allocated temporary. Software project management is concerned with activities ensuring that software is delivered on time, within budget and in accordance with the requirements of the organization developing and procuring the software. Agile practices include Scrum, which emphasizes creative and adaptive teamwork in solving complex problems o Split a project into brief manageable sprints o Utilize teams better o Development and test o Handle changes in requirements Lean development, which focuses on the continual elimination of waste Kanban, which concentrate on reducing lead times and amount of work in progress Design cycle

2 System development life cycle Agile principles Satisfy customers Welcome change in requirements Deliver frequently Business and developers work together Facilitate motivated people to do their jobs Face-to-face communication Working software is the measure for progress Attention to technical excellence Simplicity Self-organizing teams Teams evaluate, learn and adjust. Planning, what needs to be delivered? Deliverables Activities/tasks dependencies

3 Lecture 2 Kinds of requirements Functional requirements, actions the system should perform Non functional requirements, general properties the system should have Constraints, necessary conditions on the context Project issues: like task assignment, planning, budget What makes software special? Good software becomes invisible (part of environment) There are only a few laws, anything is possible Problems that need to be solved are often complex Only boundaries are available time and budget Agency theory P1. outcome-based contract => agent likely to behave in interest of principal P2. information to verify agent => agent likely to behave in interest of principal P3. ISs relate pos. to behaviour-based, and neg. to outcome-based contracts P4. outcome uncertainty relates pos. to behaviour-based, and neg. to outcome-based contracts P5. risk aversion of agent relates pos. to behaviour-based, and neg. to outcome-based contracts P6. risk aversion of principal relates neg. to behaviour-based, and pos. to outcome-based contracts P7. A goal-conflict between agent and principal relates neg. to behaviour-based, and pos. to outcome-based contracts P8. Task programmability relates pos. to behaviour-based, and neg. to outcome-based contracts P9. Outcome measurability relates neg. to behaviour-based, and pos. to outcome-based contracts P10. the length of the principal-agent relatin relates pos. to Requirements engineering, discipline in order to capture, share, represent, analyze, negotiate and prioritize requirements as a basis for design decisions and interventions 3 facets o Discovery o Specification o Validation & verification

4 V model of testing

5

6 Lecture 3 Business case: an analysis of the organizational value, feasibility, costs, benefits and risks of the project plan. Attributes o Details all possible impacts, costs and benefits o Clearly compares alternatives o Objectively includes all pertinent information o Systematic in terms of summarizing findings Steps o Select core team o Define Measurable Organizational Value Identify the desired area of impact Identify the desired organizational value of the IT project Develop an appropriate metric Set a time frame for achieving the MOV Verify and get agreement from the project stakeholders Summarize the MOV clearly and concise o Indentify alternatives o Define feasibility o Define total cost of ownership o Define total benefits of ownership o Analyze alternatives o Propose & support recommendation Differences between costing and pricing Estimates are made to discover the cost, to the developer of producing a software system There is not a simple relationship between the development cost and the prices charged tot the customer Broader organizational, economic, political and business considerations influence the price charged Estimation Questions o How much effort is required to complete a project o How much calendar time is needed to complete a project o What is the total cost of a project Techniques o Guesstimating o Delphi technique o Time boxing o Top down o Bottom up COonstructuve Cost Model (COCOMO), interactive cost estimation software package that model the costs, effort and schedule for a new software development activity Model types o Basic model o Intermediate model o Detailed model Development modes o Organice mode o Semidetached mode o Embedded mode

7 Lecture 4 Agile principles: 1. Satisfy customer 7. working software is the measure for progress 2. Welcome change in requirements 8. people work at sustainable pace 3. Deliver frequently 9. attention to technical excellence 4. Business and developers work together 10. simplicity 5. Support motivated people to do their jobs 11. self-organizing teams 6. Face-to-face communication 12. teams evaluate, learn and adjust Agile project management Short cycles of iterative and incremental delivery Shift from up-front planning to decision making during the project Four principles o Minimum critical specification, not more specified than is essential to overall success o Autonomous teams, self responsible for the processes and executing tasks o Redundancy, team members are skilled in more than one function o Feedback and learning, integral to project execution and interaction with environment Wastage = not necessary to produces the product or service (doesn t add value) 5 step in lean 1. Identify which features create value, the rest is wastage 2. Identify the sequence of activities called the value stream 3. Makes the activities flow 4. Let the customer pull product or service through the process 5. Perfect the process DevOps, to reduce the time between committing a change to a system and the change being place into normal production XP Embrace changes Pair programming (code has no owner and learn form each other) Testing (a product is only ready when it has been tested) o First test code then program o Simulates conceptual approach to a problem o Versioning: move to done only when it passes a test Mintzberg different roles of managers Communicate Motivate Direct/assign tasks Select Monitor Intervene Conflict resolution

8 Scrum Sprints o 2-4 weeks o Planning (max 4 hours for 2 week sprint) o Daily scrum (max 15 min) o Review and retrospective (2 hours) Utilize teams better; feedback and hand-over in the team Development and test before delivery Handle changes in requirements Roles o Scrum master, organizes work o Product owner, ensures crucial features are included; prioritize o Development team, deliver quality product or system Artifacts o Product backlog o Sprint backlog o Product increment = sum of completed product backlog items in a sprint, integrated with previous results Management tools o Sprint burn-down chart, show reaming work in the sprint backlog (update in daily scrum) o Release burn-up chart, show progress towards a scheduled release

9 Lecture 5 Risk management in projects is crucial. We have never enough safety & security. Risk management steps Risk assessment, likelihood and impact Risk mitigation, avoid, reduce, transfer, accept Evaluation and assessment Risk = likelihood * impact Control measures: measures implemented to prevent or detect and correct a control risk Preventive measures Detective measures Corrective measures

10 Guest lecture McGrath task and technology adoption Step 1 describe what function is doing Step 2 put tasks in figure Step 3 which steps can be automated? Guest lecture Rabobank Self-organisation should enable HOP. (not necessary) Are you as Rabobank' agile'? A. No, our department not. some teams are high performing, and some teams are not there yet. You will never be done. Principles based. Always be improving. we want to adapt. Agile is not a tool. Behaviour! (not a manual) Example questions What are the main principles of agile? What are the contrasts of agile and traditional methods? Explain several principles and why are these necessary? Difference & similarities of Lean & DevOps Both try to reduces wastage Lean comes from production DevOps from software (putting in to production system) Lean reduces variability DevOps embracing change