Why Iterative SoftwareProject Management Matters Hermano Moura email@example.com Friday, October 8, 2010 e-Construction Group, UMD, College Park, USA
objectiveintroduction of iterative software development projects, showing how project managers can organize and manage such projects.
agenda• software & software development projects• software life cycle models• iterative model for software development• unified framework to software project management – RUP• iterative nature of agile methodologies
What is aSOFTWARE PROJECT?
The Software Project• According to Walker Royce, the best feature- related software is also the worst: its flexibility (Royce 1998).• The feature that allows the software to become "almost anything" makes it difficult to plan, monitor and control software development (d´Anunciação 2009).• The management of software projects, in turn, has unique characteristics due to the peculiarity of the resulting product of these projects.
software process x softwaremanagement process
Project Management Models
The Software Production Process• the software production process on two aspects: – the technical (or engineering of the product) and – the management (software project management).• Like the technical aspect, software management has received much attention in the development of new approaches, methods, techniques and education of people. – Software Engineering textbooks with better and increasing content on software project management. – Processes – such as RUP and Scrum – bring explicitly support to management aspects.
Software Management Disciplines• Project Management• Configuration and Change Management• ...
Software Development Life Cycle Models• Brute force, code and fix, nike-way• Waterfall• Spiral• Iterative 15
Waterfall development delays risk mitigation100% integration starts (% coding)project progress coding original time deadlineSource: Software Project Management, Walker Royce 17
Bohem´s Spiral Model
Iterative Model• Iterative application of the waterfall model• Initial iterations treat the biggest risks Req Req Req A&D A&D A&D Imp Imp Imp T T T Dep Dep Dep Iteration 1 Iteration 2 Iteration 3 time 19
Iterative development anticipates risk mitigation100% Iterative life cycle (% codnig) project progress codnig Waterfall llfe cycle original time deadlineSource: Software Project Management, Walker Royce 20
Internet Banking System• Functionalities: – F1: User Login – F2: Change Password – F3: Display Balance – F4: Display Statement – F5: Display Credit Card Statement – F6: Pay Credit Carde Bill – F7: Make Transfer – F8: Make Transfer to other Bank – F9: Display Check Statement – F10: Order Checkbook – F11: Unblock Checkbook
Internet Banking System :: UML Use Case Diagram Desbloquear taloes de Efetuar Login cheque Alterar senha Solicitar taloes de cheque Consultar saldo Cliente Consultar cheques Consultar extrato Realizar DOC Consultar Qualiti Card Realizar transferencia Efetuar pagamento do Qualiti Card Operadora do DOC Operadora cartao de crédito 22
RUPRational Unified Process
RUP Main Characteristics• Iterative and incremental• Guided by use cases• Based on the system’s architecture• Object oriented 24
RUP PhasesInception Elaboration Construction TransitionScope and Elimination of Product Deployment to project critical risks development user viability and stable ready for beta environment architecture testing 25
Phases and milestones >>> Phases indicate system maturity! >>> Inception Elaboration Construction Transitionmilestones scope architecture operation release time 26
Phases & Iterations
Project Management Activities Execute Identify Iteration Plan Risks Project Develop Develop Assess Finalize Manager Project Plan Iteration Plan Iteration Project Reassess Risks Prioritize Software Use Architect Cases Source: Qualiti Software Processes. 29
Iterationplanning and risks
Risks and use cases (functionalities)• Use case (functionality) development is used to eliminate risks.• A risk matrix facilitates the visualization of the relationships between use cases (functionalities) and risks. 32
Releases and Iterations in XP Release 3 Release 2 functionalities Release 1 iteration time
Iterations in Scrum
Iterative Software Development• Testing and integration are performed from the beginning, in a continuous manner• Critical risks are resolved before major investments are made• Allows user feedback at early stages• Small goals, focus on short-term• More concrete progress measurement• Partial implementations can be deployed• Used in predictive and adaptive software methodologies
References• d´Anunciação, Gustavo. Análise e extensão do Rational Unified Process com relação à ênfase na criação de valor. Dissertação de Mestrado, Universidade Federal de Pernambuco, Centro de Informática, 2009.• Highsmith, Jim. Agile project management: creating innovative products. Addison-Wesley. 2009.• Kruchten, Phillipe. The Rational Unified Process: An Introduction. Addison-Wesley. 2003.• Royce, Walker. Software Project Management: A Unified Framework. Addison-Wesley. 1998.
Why Iterative Software Project Management Matters Hermano Moura firstname.lastname@example.org email@example.com Friday, October 8, 2010 e-Construction Group, UMD, College Park, USA