<Agile Management/ Agile Project Management
Iterative + Incremental Method>
- Agile Leadership Network http://www.agileleadershipnetwork.org/
- Agile Aliance http://www.agilealliance.org/
- Agile Project Management with SCRUM: Training Course Materials - http://training-course-material.com/training/Agile_Project_Management_with_SCRUM
Agile Management on Wikipedia
http://en.wikipedia.org/wiki/Agile_management
- What is Agile Project Management?
- Iterative and Incremental Method
- To Manage the design and build activities for
- engineering
- information technology
- new product/service development projects
- in a highly flexible and interactive manner
- requires capable individuals from relevant business, with supplier and customer input
- Related ideas: lean techniques, Kanban (かんばん(看板)?) Six Sigma
- Best used in
- Small-scale projects
- On elements of wider program of work
- On Projects too complex for customer to understand and specify before testing prototypes
- Approach towards an end result where product/ Project
- Best meets current customer needs
- delivered with minimal costs, waste, time
- Enable companies to achieve bottom line gains earlier
Iterative and Incremental Development
http://en.wikipedia.org/wiki/Iterative_and_incremental_development
- What is it?
- Any combination of Iterative Design or Iterative method and incremental build model
Waterfall Model on Wikipedia
http://en.wikipedia.org/wiki/Waterfall_model
- What is it?
- A sequential Design Process
- Used in Software development process
- Progress is seen flowing steadily downwards
- Move to a phase only when preceding phase is completed and perfected
- Assumptions
- Originates in Manufacturing and construction industry where after-the-fact changes are prohibitively costly or impossible
- Why implement it?
- Time spent early in the software production cycle can lead to greater economy at later stages
- Bug (Requirements specification or design) found in early stages is cheaper in money, effort and time to fix
- Issues
- Clients
- may not know exactly what requirements they need before reviewing a working prototype and commenting on it
- may change requirements consistently. If a design is finalised, design must be modified which invalidates working hours and uses up project resources
- Designers
- 'Wicked Problem' Requirements and limitations cannot be entirely known before completion May not be aware of future implementation difficulties.
- Project Stakeholders (non-IT/Design)
- May not be fully aware of capabilities of the technology being implemented. What they think is possible defines expectations and requirements
- Design does not use full potential of what new technology can deliver or replicates existing application or process with new technology
- Phases
- Generic Phases
- Conception
- Initiation
- Analysis
- Design
- Construction
- Testing
- Production/ Implementation
- Maintenance
- Royce's Original Model
Iterative Design (design methodology) on Wikipedia
http://en.wikipedia.org/wiki/Iterative_design
- What is it?
- A design methodology
- based on a product or process's cyclic process of
- prototyping
- testing: results of testing most recent iteration of a design, changes and refinements are made
- analyzing
- refining
- Interactions are research for informing and evolving a project, as successive versions or iterations of a design are implemented
- User testing results may warrant radical changes and be prepared to completely abandon old ideas
- Aims to ultimately improve the quality and functionality of a design
- Applications:
- Human Computer Interfaces
- Complete an Initial interface design
- Present the design to several test users
- Note any problems by the test user
- Refine interface to account for and to fix problems
- Repeat steps 2-4 until problems are resolved
- Wiki
- natural repository for iterative design. Page history allows tracking back to prior versions and modifications are mostly incremental
- Common Law
- The principle of legal precedent builds on past experience. Law is a form of iterative design where there should be a clear audit trail of the development of legal thought.
- Evolution
- parallel to Natural Selection. A trial and error process where most suitable design advances to the next generation, while less suitable designs perish by the wayside.
- Subsequent versions of a product should also get progressively better as its producers learn what works and what doesn't in a process of refinement and continuous improvement.
- Benefits
- Ensures product or process is the best solution possible
- Able to react Serious misunderstandings early in the lifecycle,
- enables and encourages user feedback, and elicits the system's real requirements.
- Development team forced to focus on critical issues and team members are shielded from issues that distract from the project's real risks.
- Objective assessment of project's status via Continuous, iterative testing
- Early detection of Inconsistencies among requirements, designs, and implementations
- The workload is spread out more evenly throughout the lifecycle.
- Enables the team to leverage lessons learned, and to continuously improve the process.
- Stakeholders can be given concrete evidence of the project's status throughout the lifecycle.
- Example of Marshmallow Challenge
- children at once stick the marshmallow on top of a simple structure, test the prototype, and continue to improve upon it.
- business school students tend to spend time vying for power, planning, and finally producing a structure to which the marshmallow is added
Iterative Method (computational mathematics)
http://en.wikipedia.org/wiki/Iterative_method
Incremental Build Model (Software Development)
Waterfall Model + Prototyping
http://en.wikipedia.org/wiki/Incremental_build_model
- What is it?
- Method of Software Development
- Model is designed, implemented and tested incrementally until product is finished
- Involves development and maintenance
- Product is finished when requirements are satisfied
- Product is broken into number of components (Builds), each designed and built separately
- Each series of releases provide more functionality to the customers
- Core product is delivered after the first increment and can be used
- Based on customer feedback, subsequent plans and modifications are made until complete product is delivered
- Strengths
- Each Build is delivered to client when it is complete.
- Allows for partial utilization of product and avoids long developmental time.
- Avoids large initial capital outlay and subsequent long waiting period
- Ease effect of introducing completely new system all at once
- After each iteration, regression testing is conducted and reveals faulty elements of software
- Easier to test and debug because few changes are made each time. Allows for more targeted and rigorous testing of each element of the overall product
- Customer can respond to features and review the product for needful changes
- Initial product deliver is faster and costs lower
- Disadvantages
- Resulting cost may exceed cost of organisation
- Added functionality is added to product, and problems may arise related to system architecture which were no evident in earlier prototypes
- Tasks involved
- Communication: Helps to understand objective
- Planning: Required as many people and teams work on the same project but different function at the same time
- Modelling: Involves business modelling, data modelling and process modelling
- Construction: Involves the reuse software components and automatic code
- Deployment: Integration of all the increments
Extreme Project Management (XPM)
http://en.wikipedia.org/wiki/Extreme_project_management
- What is it?
- A Method of managing very complex and uncertain projects
- Features: Open, elastic and undeterministic approach
- Main Focus: Human side of project management: Managing project stakeholders rather than intricate scheduling and heavy formalism