Linear Models
*Computer was an expensive resource to use, thus these linear models were created to reduce computer usage.
Spiral Model (Iterative Process Model)
*It shares some of agile process model characteristics
Invariants of Spiral Model
Define artifacts concurrently - Sequentially defining the key artifacts for a project often increases the possibility of developing a system that meets stakeholder "win conditions"
Perform four basic activities in every cycle
All cycles MUST occur
Risk determines level of effort
the project team must decide how much effort is enough. In authentic spiral process cycles, these decisions are made by minimizing overall risk.
Risk determines degree of details
the project team must decide how much detail is enough. In authentic spiral process cycles, these decisions are made by minimizing overall risk.
Use anchor point milestones
Focus on the system and its life cycle
https://en.wikipedia.org/wiki/Spiral_model#The_six_invariants_of_spiral_model
Spiral model - Wikipedia
From Wikipedia, the free encyclopedia Software development process model Spiral model (Boehm, 1988). A number of misconceptions stem from oversimplifications in this widely circulated diagram (there are some errors in this diagram).[1] The spiral model is
en.wikipedia.org
Disadvantages of Spiral Model
Planning tends to be done upfront at beginning of each Spiral. Depending on the duration of the Spiral, this could make it difficult to make good estimates.
The ability to minimize risk in a calculated fashion, which this process lays out, requires an immense amount of analytical expertise.
Unified Process
Each phase have the ending called "Milestone".
The development team can work in parallel, allowing tasks to overlap between phases. The content also mentions the importance of identifying a strong business case for the project and gathering user feedback to make improvements.
Whole process repeats again and again until ready to release the product.
it's unification of parallel and iterative model.
Inception
- Only phase that development doesn't happen.
- Creation of basic use cases.
- Define the project scope and potential risks.
Elaboration
- Goal of this phase is to create prototype (model)
- Developers define the requirements conceived in the inception phase, creates architecture documentation, use case diagrams and high level class diagrams.
- Foundation on which actual development will be built.
- Deliver a plan for development in the next phase.
Construction
- Focuses on building upon the work done in elaboration phase.
- Utilize use cases from earlier phases to drive product development.
- Construction phase use cases offer more specific insights into how your product should be created.
- Begins transitioning the product to the client and users.
Transition
- Gathering feedbacks from users.
- Improvements are made to the product, bug fixes, and more releases.
Prototype Types
Illustrative
- to share an idea in low fidelity, disposable image.
- look and feel of the product without investing much resources.
- filter bad ideas, guidance for development team.
Exploratory
- Build working code to focus on look and feel.
- Expensive.
- To see feasibility, affordability, and usefulness before committing more efforts.
Throwaway
- The first version of the product.
- Opportunity to learn from it for later versions.
Incremental
- Efforts in the prototype carried over to next iteration, contributes to the product.
- Develop features from core features, support features, and possible additions (Must do / Should do / Could do)
Triage system - Potentially releasable as product.
Evolutionary
- Early version of ALL features into Developed version of ALL features.
- Develop features incrementally.
Continuous Delivery (continuous integration - Microsoft daily build)
With an automated test,
Prepare the product to get released at any point, but not pressured to.
Construction phase of Spiral process
Elaboration phase of Unified process
https://continuousdelivery.com/
What is Continuous Delivery? - Continuous Delivery
What is Continuous Delivery? Continuous Delivery is the ability to get changes of all types—including new features, configuration changes, bug fixes and experiments—into production, or into the hands of users, safely and quickly in a sustainable way. O
continuousdelivery.com
'Study > Project Management' 카테고리의 다른 글
Processes and Practices (0) | 2024.07.19 |
---|---|
Agile Methodologies and Frameworks (0) | 2024.07.19 |
Agile (0) | 2024.07.16 |
Scrum Master Job Opportunities (0) | 2024.07.13 |
Scrum Master Role and Benefits (0) | 2024.07.12 |