1 / 49

T-76.4115/5115 Software Development Project I/II Software Development Process Framework

T-76.4115/5115 Software Development Project I/II Software Development Process Framework. Jari Vanhanen Ohjelmistoliiketoiminnan ja –tuotannon laboratorio Software Business and Engineering Institute (SoberIT). Course Arrangements. Contracts

kelly-frye
Download Presentation

T-76.4115/5115 Software Development Project I/II Software Development Process Framework

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. T-76.4115/5115Software Development Project I/IISoftware Development Process Framework Jari Vanhanen Ohjelmistoliiketoiminnan ja –tuotannon laboratorio Software Business and Engineering Institute (SoberIT)

  2. Course Arrangements • Contracts • all groups members sign together one copy and send it to the teacher • Jari Vanhanen, SoberIT, PL 9210, 02015 TKK • encircle correct IPR and NDA options • include project manager’s home address • DL as soon as possible • e.g. companies may ask for NDAs • Mentors and peer groups will be assigned later this week • see “Projects”-page • Tools • MSDN AA • accounts created • Magic Draw UML Tool • instructions e-mailed to project managers soon • TKK Wiki • if needed, email group name to t764115 ## soberit.hut.fi

  3. T-76.4115 Software process framework Project management Requirements engineering Quality assurance Design & implementation Iterations Contents

  4. Process Should Match the Context • Typical challenges in the T-76.4115 context • no existing, common development culture within the team • varying level of experience between developers • physical and temporal distribution • project is done for an external customer • software will be maintained by other people • Process is never ready • continuous improvement Have you already found other challenges? Creating and improving the process (work practices, tools etc.) is part of project management.

  5. T-76.4115 Software Process Framework • Helps the groups define how they are going to do the work • Includes educational aspects • trying certain practices in a real context • Enforces certain good work practices • allows lots of freedom (and responsibility) for customization • Minimizing risks requires some “overhead”

  6. T-76.4115 Software Process Framework • Instructions and templates • Mandatory and recommended practices • mandatory ones written as “group must do xxx” and summarized in Overview Chapter 3 Check the materials of SoberIT’s SE courses. Process documentation http://www.soberit.hut.fi/T-76.4115/09-10/instructions/index_process.html

  7. Iterative Development • Why iterations? • regular control points • force packaging the results • remember testing and delivery! • enable giving feedback If you want shorter iterations, split a course’s iteration into two iterations.

  8. Iterations

  9. Iteration Planning • Group and customer plan each iteration’s goals and deliverables • goals are higher level ideas of what is expected from the iteration • deliverables include software units and documents to be created/updated • Iteration planning meeting • customer selects and prioritizes what is implemented based on • business importance • group’s rough effort estimates for implementing sw units • group’s effort allocation for the iteration • group’s estimates about architectural impact • Group concretizes goals and deliverables into required tasks • re-planning, if task effort estimates and allocated resources differ largely Deadline for the PP Iteration plan Fr 2.10. 13:00 • by e-mail to customer, mentor and teacher

  10. Iteration Demo • Arranged in the end of each iteration for all project stakeholders • Agenda = progress report slideshow • project status (10-15 min) • iteration goals • project metrics • iteration’s results including a sw demo (20-25 min) • experiences of used work practices (3 min) • discussion Iteration demo schedule preferences now!Tu-We 20.-21.10. 8:00-18:00customer + mentor + group members Tip! Arrange the next iteration planning meeting right after the iteration demo.

  11. Software process framework Project management Requirement engineering Quality assurance Design & implementation Iterations Contents

  12. Project Management • Planning • how are we going to do the work • Tracking • noticing any deviations to the plans • Steering • reacting to the deviations

  13. Identify Stakeholders and Staffing • External • customer, tech. advisor, mentor, 3rd parties • Internal • project group and its roles • sub groups? • Show the relationships between the stakeholders • e.g. organizational chart • Contact information • emails, phones, skype, web pages etc. You can rotate or change the assigned roles within the group.

  14. Project Goals • Defining goals • identify • consider all stakeholders • resolve conflicts • everyone’s commitment • manage expectations • define verification criteria • objective vs. subjective • prioritize • Goals and priorities change • keep them up-to-date and document changes (and reasons) • Project’s results will be evaluated against project’s goals Define personal learning goals separately!

  15. Resources and Budget • Personnel • 27h/credit/person - ~15h spent before the project • -> 120-200h for project work + educational aspects • effort allocation per iteration • how many hours per person • depends on roles, vacations etc. • planning allocated vs. max. available vs. required? • Materials • hardware and software resources • other materials (books etc.) • Budget • theoretical costs for the project, if done in the “real world”

  16. Work Practices and Tools • Plan which practices and tools you will use and how • analyze the major challenges in the context of your project • Document the practices shortly • all stakeholders need to know how work is done • Continuous process improvement • reflection workshop in the end of iterations • present action points in progress report • analyze practices in the final report • Make sure the practices are deployed • and the usage is visible to the mentor Increasing visibility to mentor Use low overhead approaches! • build trust with the mentor • show work products generated by the use of practices, e.g. code review notes • invite the mentor to the group’s reflection workshops • invite the mentor to work sessions

  17. Phasing • Iteration dates fixed • Add important events to the general project schedule • internal milestones • Plan tentative goals and deliverables for all iterations with the customer • Tentative plan is refined during iteration planning • make PP iteration plan immediately

  18. Communication • Plan efficient communication channels between all stakeholders • Who needs what information and when? • provide enough information, but avoid information overflow • How to ensure that people have received important information? • For example • project Wiki/web pages • documents, online demos • regular meetings • Skype conference calls • e-mail lists • discussion forum • status reports/project metrics

  19. Time Tracking • Purpose • managing resource usage (fixed budget) • visibility for tracking project progress • learning to estimate better • Plan how and when • some time reporting tool, GoogleDocs, … • personal reporting daily • reliability • Weekly summaries on a web page

  20. T-76.4115 Typical Effort Distribution

  21. Required project documents project plan including QA plan and description of work practices requirements document technical specification* user’s manual* QA reports progress reports (a slide set for the iteration demos) final report Course provides some document templates their use is mandatory, but irrelevant topics can be omitted Documentation practices use a change log clear and compact form once and only once avoid duplication use links/references give IDs to items (reqs, tests, …) spelling checker printability Document delivery send URL to 1)customer, 2)mentor and 3)teacher www-page must contain separate documents and a zip-package DL is iteration’s last Monday 13:00 Documenting

  22. Risk Management • Risk identification • involve all stakeholders • use brainstorming and lists of typical risks • Risk analyzing • for the most important risks analyze • probability, severity • effects • controlling actions • document risks to the risk log • Risk controlling • implement controlling actions to avoid or reduce risks • Risk monitoring • check the risk situation and status of controlling actions • update the risk log in the end PP and I1 iterations

  23. Content of T-76.4115 Project Plan 1. Introduction 2. Stakeholders and staffing 3. Goals 4. Resources and budget 5. Work practices and tools 6. Phasing 7. Risk log planning is more important than documenting its results, but documenting is also needed in this kind of a project • ”contract” with the customer • basis for tracking and steering

  24. Arrange a project kick-off get to know the team members find out about each other’s commitments and personal interests discuss roles and responsibilities good team spirit is crucial Start work immediately in the beginning of iterations more calendar time to react to unexpected situations Test unfamiliar technologies and tools early to minimize risks Try one-day group sessions problems can be addressed immediately prepare well (e.g. hw+sw) Spy on others to get ideas projects from previous years/this year give a reference, if you copy some ideas/materials Project Management - Hints

  25. Project Management – Mandatory Practices

  26. Software process framework Project management Requirement engineering Quality assurance Design & implementation Iterations Contents

  27. Requirements Engineering • Ensure that the project’s results solve the customer’s problem • Requirement types • functional requirement • a required function or service of the system from the users’ point of view • typically documented as use cases • non-functional requirement • a required property, e.g. usability, performance, reliability, security, safety • constraint • a limitation to the choices available to developers for implementing the system, e.g., “the system must run on Windows”

  28. Requirements Engineering PP Iteration I1&I2 Iterations Elicitation Find out using any possible means: • business goals • main domain concepts • user groups • requirements Analysis Re-estimate the “most important” requirements Iteration planning Choose iteration’s requirements Analysis Analyze the gathered information. List identified requirements shortly. Estimate roughly: customer value, effort, architectural impact. Representation Find out the details of iteration’s requirements Change management, status tracking, tracing Validation Review iteration’s requirements. Get customer’s approval. (Re-)Analysis Re-estimate required effort. Ensure realism of the plan. In practice many activities are parallel and iterative! Implementation, QA, Delivery Collect feedback from the customer

  29. Other Requirements Engineering Activities • Change management • requirements (refine, add, delete) • content of the iterations • Status tracking • requirements’ statuses communicate project progress to the customer • Tracing • showing relationships between requirements and other artifacts • e.g. test cases are often derived from requirements

  30. Requirements Engineering - Mandatory Practices

  31. Software process framework Project management Requirement engineering Quality assurance Design & implementation Iterations Contents

  32. Quality Assurance • QA means all practices that are used to • achieve the required level of quality in the end product • evaluate the actual achieved level of quality

  33. Planning QA • Identify the most important quality goals • among non-functional requirements, implicit customer expectations, project goals and risks • for which parts of the system are the goals relevant • Choose QA practices based on the quality goals • testing levels, test types, other QA practices • mandatory QA practices • test case based functional testing, unit testing, coding standard, code review • Plan when the QA practices are performed • plan concrete QA tasks during iteration planning • Plan what QA materials are needed • test cases, test data, test logs, defects reports, tools, guidelines • Plan the utilization of QA information • for evaluation of quality status, for convincing the customer

  34. Functional Testing • Test case based (TCB) testing • pre-designed test cases based on requirements • must be used for at least 50% of the functional requirements • Exploratory testing (ET) • not defined in advance • continually adjusted plans and re-focusing on the most promising risk areas • minimize the time spent on documenting • Managing ET - Session Based Test Management (SBTM) • 45-120 minutes • test session charters • exploration log

  35. Reporting QA - Quality Palette • Which QA practices were planned and/or used? • What was the contribution of each QA practice?

  36. Reporting QA - Quality Status • Quality dashboard - quick overview of the quality status of the system • Relevant quality metrics • e.g. defect counts, code metrics • Status of quality goals

  37. Defect Tracking • Defect = bug, change request, idea, … • Ensure that found defects are handled • Defect tracking process • how to report defects • including all stakeholders • how to decide which reports will be implemented and when • who tests the implemented changes and when • possible links to requirements change management process • Defect status • evaluate found defects before the end of each iteration • list open defects in the end of the project

  38. Peer Testing • Peer groups test each other’s systems in I2 • any additional collaboration is highly recommended • At least 8 hours of testing effort • Exploratory testing • give at least two test session charters • Report findings • exploration log • defects, ideas, etc. • summary • Evaluate the value of the testing done by the peer group

  39. Quality Assurance – Mandatory Practices

  40. Software process framework Project management Requirement engineering Quality assurance Design & implementation Iterations Contents

  41. Design • Architecture design • identify architecturally significant requirements • create architecture description • based on the most important requirements • at least functional and development views • validate architecture • does it address the significant requirements • Construction design • class diagrams • error handling • database schema definitions • … • Documenting design • negotiate with the customer

  42. Software Process – Design and Implementation

  43. Software process framework Project management Requirement engineering Quality assurance Design & implementation Iterations Contents

  44. Iteration planning work plan for the next ~3 weeks plan for project planning and requirements elicitation tasks, resources, schedule customer in a minor role compared to later iterations Project planning goals, resources, work practices Adoption of all relevant practices communication time tracking requirements engineering … Deliveries Project plan (except ch. 5.2 QA plan) Requirements document(except details in ch. 6-8) Progress report Iterations - Project Planning (PP) • Requirements engineering • business goals, main domain concepts, user groups • list of requirements • name & short description • Design • initial drafts of the system architecture • select the implementation technologies • technology prototypes? • Iteration demo • content of the project plan and requirements document • project status

  45. QA plan Iteration planning architectural importance business value Decide about technical documentation level of detail, format, … RE, design, implement, QA, delivery Deliveries Implemented software Project plan (especially ch. 5.2 “QA plan” & 6.3 “I1”) Requirements document Technical specification(at least the general architecture) Test cases QA report and test log Progress report Iterations - Implementation 1 (I1)

  46. Iteration planning RE, design, implement, QA keep a demo to the customer in the middle of the iteration Create the User’s manual Finalize technical documentation Delivery to the peer testing fix critical defects Delivery to the customer installation/training? Evaluate your work and the course Deliveries Implemented software Project plan Requirements document Technical specification Test cases QA report and test log User's manual Final report Iterations - Implementation 2 (I2)

  47. Other Practices • In addition to the practices discussed in the process framework you may use any other relevant practices • See for example the Recommended practices -document • Heuristic evaluation • Usability tests • Design patterns • Pair programming • Refactoring • Automated unit tests • Test-driven development • Test automation on system test level • … http://www.soberit.hut.fi/T-76.4115/09-10/instructions/recommended_practices.html

  48. Experience Exchange Sessions (EESs) • Innopoli2, SoberIT seminar hall, 16:15 - 18 • Tu 6.10. Project managers • Tu 13.10. QA managers (focus on RE and usability) • Tu 3.11. QA managers (focus on QA) • Tu 10.11. Architects • Tu 17.11. Project managers • Tu 24.11. Usability engineers • Send to teacher your proposals for discussion by previous day 16:00 • teacher prepares agenda for the session • Discussion language is Finnish • Two persons per group may participate

  49. Next Steps • Arrange the first meetings • with the whole group, customer, mentor • Start project planning • roles and responsibilities • urgent work practices • communication • time tracking • iteration plan • DL Fr 2.10. 13:00 • Start requirements elicitation • Sign the contract with TKK

More Related