Project planing Flashcards
Software custom built in house
Developers and users belong to the same organisation
Software can also be outsourced
Purchased from a different organisation than the one using it.
ERP system
System that is customisable to each organisation
Advantages of off the shelf
- Cheaper as supplier can spread cost of large number of customers
-Software already exists:
-trialed already- No delay in implementation
Many users so defects and bugs are more commonly found and erradicated
- No delay in implementation
Disadvantages of off the shelf
-Customers will have the same application, allowing no competitive advantage
- Customer may needto change the way they work in order to fit the application
- customer does not own code and cannnot change or personalise
- danger of over reliance, risk if they stop supporting the project.
Structured Approach
- Heavyweight approaches, rigid structure
-Step by Step Methods where each step and product is carefully defined
-Emphasis on quality first time
-UML diagrams, Class, sequence etc
General approach to follow
Look at risks and uncertainties
are requirements understood
are technologies being used well
Look at the application being built(IT system, embedded system, mobile application etc
Approaches with heavy structure verses speed…
Does the require reliability and safetly
or is a fast delivery needed due to market changes.
Software Development process, waterfall agile etc
Choice of development process model
Waterfall model, one shot or one through. step by step
-Prototyping, evolutionary development model(feedback) proof of concept
-incremental delivery system can be used early whle other sections are being developed
-Agile- Scrum, Flexibility, projects that have constant changing requirements
Agile Methods
Prioritise Quick development, speed of delivery
RAD, Rapid application Development
SCRUM, framework to be agile
Waterfall vs Agile (waterfall ADV and DisADV)
- everything is planned, predictive approach
- classical model
- limited for scope for iteration
-no working software until later on into the project
-high amounts of risks and uncertainty - not good for complex and oop designs
-poor for long ongoing projects
-not good if requirements have a high chance of changing
Integration is done at the end
Advantages-
-simple and easy to use
-easy to manage due to rigid model, each phase has specific deliverables.
-phases are processed and completed one at a time
-works well for smaller projects.
-clearly defined stages
-well understood milestones
-process and results are well documented.
Waterfall vs Agile (Agile)
Fail fast, fail safe, based on experience, empiric approach
Disadvantages:
- large amounts of documentation
-documentation needs to be kept up to date
-communication accross specialised groups, can cause communication barriers.
-user exclusion from decision process
-long lead times to deliver anything
Projects that suit Agile delivery
-Aggressive deadlines
-High degree of complexity
Unique ness- novelty
-delivering valuble features first, so key business needs can be met.
Extreme Programming (XP)
a type of agile development.
-increments one to three weeks
-customer(end users) can suggest improvement at any point
-elimination of distinction between design and building of software.
- code developed to meet current needs only
-frequent refactoring to keep code structured.
-Developers work in pairs
-test Driven development
-consolidated set of test cases
Limitations of XP
-Reliance on High quality developers
- Dependence on personal Knowledge
-Rational for decisions may be lost, Which test checks a particular requirement
-Reuse of existing code less likely
“Throw Away” prototype
-Used to learn about an area of uncertainty, once knowlge is gained then prototype is thrown away
- Suitable for when the final design is unclear, and for when comparing alternatives