Study/Project Management

Software Processes - Linear Models / Spiral Model / Unified Process / Prototyping

Haayany 2024. 7. 17. 07:00

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