100% tevredenheidsgarantie Direct beschikbaar na je betaling Lees online óf als PDF Geen vaste maandelijkse kosten 4,6 TrustPilot
logo-home
Tentamen (uitwerkingen)

Latest Software Project Management Exam Study Set [100% Correct] |Question and Answer|

Beoordeling
-
Verkocht
-
Pagina's
15
Cijfer
A+
Geüpload op
17-05-2024
Geschreven in
2023/2024

Latest Software Project Management Exam Study Set [100% Correct] |Question and Answer| What characterises projects? Unique, mixed elements, life cycle, limited resources, goal oriented What is a project? A temporary endeavor undertaken to create a unique product, service or result Difference between projects & operations? Projects are unique, operations are repetitive Why do projects fail? - Changes in scope mid-project - Poor estimates in planning - Insufficient resources - Weak project planning What are characteristics of effective project management? - Have top level management support - Follow a recognized process - Keep it simple -Small team - Implement change frequently - Use proven technology What is the product-oriented process? geared to the development and implementation of the software - using the project's resources What is the project management processes? managing and controlling the project (defining work, scheduling, motivating etc) What are the 3 steps of the software life cycle? 1. Analysis/Synthesis (eg. prototyping approach) 2. Synthesis/Operation (eg. evolutionary delivery) 3. Operation/Retirement (eg. phase out) What are the 5 steps of the Software Development Life Cycle? 1. Requirements 2. Design 3. Build 4. Test 5. Implement What is Software Project Management? Tools, techniques, methods, processes used to manage large software projects What are the 3 methods for Software Project Management? - Propriety (eg. Navigator - Ernst & Young) - Public Domain (eg. Agile Methods) - Home Tailored ? What are the methods / techniques for the requirements stage? Soft systems, DFDs, Rich Pictures, Hard Systems Structure charts ? What are the methods / techniques for the design stage? JSD, OOD, SSADM Define the Software Development Model It is how the overall software development process is to be performed. The order in which activities will be tackled. What happens in the stages - not the stages themselves. What are the advantages of the Software Development Process Models - Divides large problem down into easy to understand tasks at each stage - Sharpens focus - Supports planning and contents of resources - Improves estimates of cost and time - Provides progress and visibility - Provides structure What is the difference between a model and a method? Models: define the overall process Methods: can define other things too e.g. (team size and structure, user involvement, techniques to use, documentation to produce) What is the build and fix model? - Earliest model of software dev - No formal spec - Build and use, fix when broken and repeat What are the disadvantages of the build and fix model? 1. After several fixes the software becomes difficult to maintain as it becomes poorly structured. 2. It often does not match the user's requirements. 3. It can be costly to maintain because of its poor structure and lack of definable output that can be tested. Stage Wise Model... what it represents It represents a unidirectional development - once a stage has been completed the results of that stage become a fixed baseline from which the following stages develop (no revision) What are the aspirations of the stage wise model? 1. Practicality - tries to answer 'what do I do now?" 2. Scalability - useful for small project as well as large 3. Based on accepted techniques What are the 6 stages of the stage wise model? 1. Requirements Analyesis 2. Specification 3. Design 4. Coding 5. Testing 6. Implementation What are the advantages of the stage wise model? - Encourages one to specify what the system will do before building it - Encourages one to plan how components interact before building - Enables project managers to track progress more accurately and spot slippages earlier - Demands that documents are produced which can later be used to test the system - Reduces dev and maintenances cost because of the above - Enables resources to be more structured and manageable What is the relationship between functionality and cost? A positive correlation Why can too much functionality be a hindrance? - System becomes more complex - meaning that adding to this can be harder - Easier functionality added first - Gold plating - worth the effort? - Staf may change as project evolves - so they are unaware of the code structure Functionality/Cost/Return Graph What does the Classical Waterfall Model aim to solve? A criticism of the earlier stage wise model: does not recognise need for revision The CWM is a compromise Some points on the waterfall model - Flow of project is downwards with possibility of some splashing back - With sound project management, can provide good basis for project control - If project is long, requirements can become out-of-date - Target system not available until end of project - Implicit assumption is that all will go well - Therefore, suitable for projects with complete specifications, small risk of change and short Advantages of the Waterfall Model? - Ensures requirements capture is performed before coding - Provides engineering order to the process - Invovles stricter controls over changes - installation and acceptance more clearly defined Disadvantages of the Waterfall Model? - It doesn't happen: real projects don't follow a sequential flow - Doesn't accommodate uncertain and changing requirements (like ordering with no chance to look around, compare prices...) _ Delivery only at the end (long wait) What are the flaws in the engineering model? Users don't know what they want at the start of production, so when they are locked out during the design and build stage and see the final product, they might not get what they want. Hence, the cost of error is high as well as time spent Why are there flaws in the engineering model? Natural Disasters occur: - Key personnel leave the company - Government legislation changes - Management changes - Operating systems and target hardware change/become outdated There is not usually any contingency made for anything of this sort Where is there sometimes problems with implementation? - People are natural optimists - The requirements analysis and system design are not perfect - Projects are unique, sometimes neither customer nor developer have had enough experience to know what should happen Why clients like Waterfall? Because of the idea of getting a quote, contract, and expecting delivery in x months. Developer goes away and comes with solution But it never seems to work like that What are the advantages of a functionality time graph? - See effectiveness of a model in terms of functionality versus time - Useful for evaluating alternative models when deciding which approach to use - Visual interpretation of otherwise unclear comparison - Teaching aid for students and managers, important to choose right model - Good to show to users to justify/explain things. What are the disadvantages of a functionality time graph? - Naive interpretation, rather flat, two dimensional representation: does not show other factors affecting functionality (e.g. resource capabilities) - Does not account for project type: some models more suited to certain kinds of projects than others - Assumes single type of project development: long unclear requirements What is the V Process Model? - It is a refined interpretation of the stage-wise or waterfall models. - Model emphasizes that activities in latter part of process are about testing implementations of earlier stages - - ie validating with respect to outcomes from earlier stages, not just verifying current stage's output What are the 7 stages in the V process model? 1. Requirements definition 2. Specification 3. Design 4. Coding 5. Testing 6. Implementation 7. Operation When does the testing happen? - Module Test: do the modules behave as they should - Integration and system test: as the system is integrated together does it work correctly and match the design? - Acceptance test - does the system match what was promised in the requirements specification and does it work in the target environment after installation? - The Real Test: when user finally gets to work with the system will they realise whether their initial requirements were right. What are the 7 chapters of the V process? 1. Introduction 2. Literature review 3. Requirements 4. Design 5. Implementation 6. Evaluation 7. Conclusions What are the characteristics of the V process model? And its difference with waterall - The left hand side defines what happens in stages which derive elements of the system - Right hand side: delivery of elements to form the system -If problems are found on the RHS, they can be fixed with reworks of the LHS Makes explicit iteration and rework hidden in the waterfall model Focus of waterfall is activities. Focus of V is outputs and correctness Map the Functionality-Time graph of the V process, the Waterfall, Stage Wise What are the 3 layers of the V process model? - Implementation layer: coding - Architecture layer: Design & testing - User layer: Requirements definition, specification, implementation & operation What is the incremental model? -A model delivered as a series of working subsystems -Overall structure in place: parts are brought online as system is developed -Added functionality at each stage, in each increment What is the plan of the incremental model? - Non-computer steps should be included - eg new process; - Each step should deliver something of benefit to the user - An increment could be part of the product breakdown structure How do we decide what to increment next? -Some steps will be dependent on others - Others may be in any order: do the best "value-for-effort" increment next - Value to cost ratios may be used = - V/C where - V is a score 1 - 10 representing value to customer - C is a score 0-10 representing cost of development What are the reasons to use a value to cost ratio? 1. The sooner the most useful parts of a product are implemented, the sooner the most useful feedback is obtained. 2. Having something relatively useful working early on is a psychological boost to the developer, the customer and the management. 3. Any difficult task that will have little to show for itself will gradually come to the top of the 'do next' list if it is worth doing What are the objections to incremental delivery? 1. "Our system cannot be divided into smaller steps": this is a myth, it can be divided with practice 2. "Our system developers don't know how": education and training can show benefits of this approach 3. "Management won't like it": Wrong - management will love it! - management are normally concerned about the lack of detail for later steps because time and resource predictions are vague for later parts of the project. Does the incremental model really work? IBM say their LAMPS project, a 4 year, 200 person-year project was delivered in 45 incremental deliveries, every one of these deliveries was on time and under budget What are the warnings of incremental development? 1. Incremental delivery does not mean dive in and do the most interesting bits and worry about the rest later 2. It is only the detail of later increments that can be left out 3. It is essential to have an outline plan for the whole project right from the beginning (though the plan will get revised) 4. Without a plan the whole direction of the project may be wrong and not feasible. What are the disadvantages of incremental delivery? 1. Loss of economies of scale: some costs will be repeated (e.g. design) 2. 'Software Breakage': later increments might change earlier increments What are the advantages of incremental delivery? 1. Feedback from early stages used in developing later stages 2. Shorter development thresholds: important when requirements are likely to change 3. User gets some benefits earlier: may assist cash flow 4. Project may be put aside temporarily: more urgent jobs may emerge 5. Reduces gold-plating 6. Data entry-type tasks early on - enable data to be recorded When should developers use the incremental model? 1. When the requirements are well understood 2. When there is a complex system that can be broken down 3. Long duration projects 4. When there are cash flow issues - so pay in stages 5. When there is a danger of gold plating What is the Evolutionary Delivery model? - The development of a system in small steps such that each step must produce something deliverable to the customer - The customer should be able to use it and refine his/her requirements (feedback on what's right/wrong so far): this is the key difference with incremental - Can change direction: allows functionality to be redefined at each increment How does Evolutionary Delivery model differ from build and fix model? There is an initial specification and planned sequence of deliverables, and initial requirements capture. Compare the Evolutionary Delivery and Incremental models. Draw a functionality time graph for the Evolutionary Delivery vs Incremental models. What are the advantages of the Evolutionary Delivery model? 1. The customer gets an early experience of the system 2. Early correction of errors reduces the cost. 3. There is no need for a detailed investigation of all parts of the system. Only the parts to be handled first: early visible progress can be made 4. Early feedback enables customer to participate 5. Unlike incremental model - does not ned complete detailed design at the start 6. Useful if requirements not clear at the start What are the disadvantages of the Evolutionary Delivery model? 1. Code needs to be well structured/designed and well commented so it can evolve - not such a bad thing. 2. Initial release may look limited to the user - may create a bad impression to the client 3. Tight configuration management (CM) needed: CM used to control different versions of a system as it develops - referred to as Version Control and Revision Control When should we use the Evolutionary Delivery model? 1. When the requirements are unclear: need to capture those requirements and interact with the user 2. System is not complex: means it won't be difficult to evolve a solution over a series of releases What are the 4 stages of Configuration Mangement 1. Configuration Identification 2. Change Control 3. Status Accounting 4. Configuration Audits Define each stage of Configuration Management. 1. Configuration Identification: identify attributes that define the system, and you want to control. Set a baseline 2. Change Control: manage and approve changes to the item. Reconfigure the baseline 3. Status Accounting: record the baseline 4. Configuration Audits: ensure changes do what they say they will do How to ensure Configuration Management works well? 1. Keep back up copies 2. Use release numbers/date stamps 3. Keep track of who is doing what What is Prototyping? Prototyping is the process of transforming an idea into a model for purposes of: - developing - testing - communicating that idea What are the 2 prototyping models and their objectives? 1. Throw-Away: to validate or derive system requirements 2. Evolutionary: to deliver an acceptable system to the user What are other types of Prototyping? - Experimental / Technical: to determine if technical implementation is feasible on a system - Exploratory: all prototyping is exploratory as it explores user requirements - Rapid: ability to use a tool to throw together a prototype quickly - could then be thrown away or evolutionary - Concept: test the concept of an idea. Draw a FT graph of prototyping Why do we prototype? -Prototyping provides an effective method of generating feedback about what is good and what is bad about an idea - It is often the only really effective method for doing this When can prototyping be used? 1. Requirements Capture: used to pin down user requirements of the system, test the feasibility of a solution idea, market analysis, test a user's reaction to a system 2. Design: test users ability to use and navigate around screens What is a reasonable cost for a prototype? What does it depend on This will depend on the effectiveness in: - Demonstrating how the end product works - Generating useful feedback The high cost of the maintenance phase of the software life cycle could justify up to a third of the development cost being used for a prototype - but it would have to be very good at this price What are the prototyping techniques? 1. Simplification 2. Reduced database 3. Simplify data handling 4. Use an alternative program 5. Use alternative software to generate output 6. Use an alternative high level language 7. Use prototyping tools - Horizontal or Vertical Prototyping Explain the different prototyping techniques. 1. Simplification: sacrifice quality and reliability. The prototype is a throw away product, it does not need to be robust. Sufficient for demonstration or user test 2. Reduced database: a program may be greatly reduced if half a dozen records, set up by hand, are used instead of a vast disk based databse. 3. Simplify data handling: the prototype is merely to show the user what will happen when the right and wrong input is used. It need only handle one example of each. 4. Use an alternative program: may exist on a different computer. if there is something similar in a different context this may be a good starting point for a prototype. 5. Use alternative software to generate output: much of the user's feel of the program comes from its output, so a sample of the output can generate useful feedback. Eg: output onto paper, screen, disk or other devices 6. Use an alternative high level language: build a prototype in a language that would be inefficient for the end product 7. Use prototyping tools: help generate the user interface. Tools can generate outline code to handle the interface, the meat of the program can then be added. Can leadto evolutionary delivery What are Vertical & Horizontal prototyping? - Vertical: some important technical features are fully implemented - to test if these can be done and are satisfactory for the user - technical prototype - Horizontal: all features working but not fully - to test out overall structure and feel of system - cf Evolutionary Delivery - aka - User interface prototyping What are the advantages of prototyping? 1. Something tangible is produced quickly. Keeps everyone happy. 2. The tangible nature helps the customers to clarify their ideas and refine their requirements 3. Misunderstandings and errors in the specification can be sorted out 4. Missing user services may be detected. 5. Improved communication - easier to look at a model than a document 6. Limited working model may be sufficient to test the feasibility and usefulness of the product 7. Alternatives can be tested and compared using different try and see prototypes 8. Early customer involvement 9. More reliable in identifying real requirements than any type of detailed study, yet may take no longer to produce 10. Prototype can serve as a specification for the development of the full production What are the disadvantages of prototyping? 1. The prototype takes too much time and effort. - Benefits of prototype must be balanced against the resources takes to produce - Many of the advantages of prototyping could be obtained through phased development where the early attempts are not discarded - evolutionary 2. The prototype is confused with the real thing. a) limitations of prototype are taken as a reflection of the final product - bad impression is given b) The customer is pleased with the prototype and wants to use it. - the developer is then pressured to further develop the prototype but is based on a design full of compromises. 3. Focus on user-friendly interface could be at expense of machine efficiency 4. Concept prototype - user may focus on interface rather than concept. What is Boehm's Spiral 'Model' - Not a 'model' as such but a means of incorporating risk and project management into the software development process. - More of a method - Most life cycle models can be derived as special cases of the spiral model. - The aim of the cycle might be to explore a range of alternatives (eg by prototyping) rather than develop an individual solution - Clients may be willing to proceed a cycle at a time - committing money in discrete lumps Compare the Spiral model to Evolutionary model. - Appears similar to evolutionary in that system 'evolves' in stages over time - but doesn't 'evolve' the system directly during each stage as such - Differs in that each cycle also attempts to identify alternatives, resolve risks, plan next cycle and review current one - Also - outcome from each cycle is not necessarily an improved software system but could be an artifact of a larger process - e.g. a specification How does the Spiral model integrate with other models? - Waterfall: each spiral release could be the output from each stage of the process - Evolutionary: each spiral release could be next evolution - Incremental: each spiral release could be next increment Draw a FT graph of Spiral (Waterfall) What are the advantages of the Spiral model? 1. Accommodates requirement changes 2. Incorporates risk management in software process 3. Integrates reliable project management principles with the SDLC 4. Uses identical approaches for each development stage thereby providing sound management understanding of the process Why was agile development implemented? Because during the 1990's: - OOP replaced procedural programming - dot com revolution - Speed to market important - Constantly evolving market/environment What is the difference in paradigms between traditional and agile approaches? What are the agile coverage methods? Describe them 1. DSDM - Dynamic Systems Devlopment model: - Framework for Agile delivery - Tailored and used with other Agile methods 2. Agile PM: - Provides good practice enabling project managers to adopt Agile approaches 3. Scrum: - originally for software projects - Small team works on backlogs - Work in sprints with daily meetings 4. XP - Extreme programming - Allows SW developers to respond to changing requirements - Emphasizes teamwork, self organisation and involvement of the user in the team What is Agile project management? A style of project management that focuses on early delivery of business value, continuous improvement of the project's product and processes, scope flexibility, team input and delivering well-tested products that reflect customer needs What do iterative/agile approaches provide? - Process models - provide overall framework for the system development - Iterative/agile approaches - provide a philosophy/environment for implementing the process model. - Include team organisation, client communication, meeting structures, schedules, risk mitigation, etc - Generally based on evolutionary model - Early management of risk and assumptions - Early value and continuous feedback - Incrementally developed high quality solutions - Allow for rapid (but controlled) requirements change - Frequent stakeholder involvement What is more successful, waterfall or agile approaches? According to the standish group: 42% of agile developed products are successful and only 14% of waterfall developed products are successful What are some characteristics of agile methods? - Delivery in short bursts - Similar to evolutionary and incremental - Emphasis is small teams - Teams are self organizing - Face to face comms with user - Projects with unclear or changing requirements What are some Agile principles? - Individuals and interactions over processes and tools - Working software over comprehensive documentation - Customer collaboration over contract negotiation - Responding to change over following a plan - Customer satisfaction by rapid delivery of useful software - Welcome changing requirements, even late in development - Working software delivered frequently - Projects built around motivated individuals - Self organizing teams Why is Agile development flexible? 1. It can be applied to in-house developments, generic external products (eg Office) and bespoke systems for outside clients - Eg Microsoft - iterative approach allows additional functionality to be added. Worth it in these cases as long term gain outweighs minor extra effort - Eg Deloitte - bespoke - client gets to choose if additional functionality is worth it What are some differences between Agile & Traditional development? What are some characteristics of XP - extreme programming? - Captures many ideas of Agile methods - Teams of 2 to 12 members - Programming in pairs - Suited to projects where requirements change - Emphasizes teamwork (managers/customers/developers all part of team) - A form of evolutionary delivery - Aims to deliver sofware that is needed as it is needed, rather than all at a future date What are the characteristics of the Scrum approach? - Agile approach based on managing people and iterations - Teams are self organising and co-located - Recognizes that customers change their minds What are the scrum roles? What do they do 1) Product owner: - holds the vision for the product - represents the customer - owns the product backlog - orders (prioritizes) items in the backlog - creates acceptance criteria - Avalable to answer team members' questions 2) Scrum master: - scrum expert and advisor - coach - facilitator 3) Team member: - Completes user stories to incrementally increase product value - self organises - creates and owns estimates - owns 'how to do the work' decisions What is a sprint? A sprint is a basic timeboxed development unit - an iteration - lasts ~1 week to ~1 month - plan what to do, do it, review it - each sprint produces a deliverable - a product increment How is progress tracked with the Scrum method? - Everyday, at the same time, the team have a brief meeting. To check progress and communicate all blocking issues - The meeting is facilitated by the Scrum master - For larger projects there may be a Scrum of Scrums What are the standard questions of a Scrum meeting? - What have you done since last meeting? - What will you do between now and the next meeting? - Is there anything preventing you from doing what you have planned? Draw an example scrum noticeboard. What are scrum stories (functionality)? INVEST Identify stories that are: - I: independent - N: negotiable - V: valuable - E: estimable - S: small - T: testable What does the word 'done' mean to different types of Scrum members? - Programmer: done when coding complete - Tester: when all the code thoroughly tested - Business person: when we can sell it Draw a functionality time graph of the agile method.

Meer zien Lees minder
Instelling
Project Management
Vak
Project management









Oeps! We kunnen je document nu niet laden. Probeer het nog eens of neem contact op met support.

Geschreven voor

Instelling
Project management
Vak
Project management

Documentinformatie

Geüpload op
17 mei 2024
Aantal pagina's
15
Geschreven in
2023/2024
Type
Tentamen (uitwerkingen)
Bevat
Vragen en antwoorden

Onderwerpen

€8,75
Krijg toegang tot het volledige document:

100% tevredenheidsgarantie
Direct beschikbaar na je betaling
Lees online óf als PDF
Geen vaste maandelijkse kosten


Ook beschikbaar in voordeelbundel

Maak kennis met de verkoper

Seller avatar
De reputatie van een verkoper is gebaseerd op het aantal documenten dat iemand tegen betaling verkocht heeft en de beoordelingen die voor die items ontvangen zijn. Er zijn drie niveau’s te onderscheiden: brons, zilver en goud. Hoe beter de reputatie, hoe meer de kwaliteit van zijn of haar werk te vertrouwen is.
AceTests UON
Volgen Je moet ingelogd zijn om studenten of vakken te kunnen volgen
Verkocht
134
Lid sinds
2 jaar
Aantal volgers
36
Documenten
3386
Laatst verkocht
2 weken geleden
⭐INQUIRE AND ACQUIRE⭐ LOOKING FOR BETTER GRADES? YOU ARE IN THE RIGHT PLACE!✅

An online platform containing verified documents of Question & Answers , 100% verified and approved by qualified personnel from Harvard University and University of New York, Guaranteed A+ score. Information obtained from trained tutors and experienced collogue professors. ⚡OFFERS⚡ -Buy 2 bundles and get 1 free -Buy 3 documents and get 1 free NOW AVAILABLE; Request a desired document via stuvia message and receive it in 4 hours time

Lees meer Lees minder
3,6

29 beoordelingen

5
11
4
7
3
4
2
3
1
4

Recent door jou bekeken

Waarom studenten kiezen voor Stuvia

Gemaakt door medestudenten, geverifieerd door reviews

Kwaliteit die je kunt vertrouwen: geschreven door studenten die slaagden en beoordeeld door anderen die dit document gebruikten.

Niet tevreden? Kies een ander document

Geen zorgen! Je kunt voor hetzelfde geld direct een ander document kiezen dat beter past bij wat je zoekt.

Betaal zoals je wilt, start meteen met leren

Geen abonnement, geen verplichtingen. Betaal zoals je gewend bent via Bancontact, iDeal of creditcard en download je PDF-document meteen.

Student with book image

“Gekocht, gedownload en geslaagd. Zo eenvoudig kan het zijn.”

Alisha Student

Veelgestelde vragen