What is a process?
A collection of work activities, actions and tasks that are performed when some work product is to be created
What a methodology addresses?
Introducing new people to the process, substituting people, delineating responsibilities, demonstrating visibile progress
How do you evaluate a methodology?
How rapidly you can substitute or train people, how great an effect i has on the sales process, how much freedom it is to people on the project, how fast it allows people to respond to changing situations, how well it protects the organization - legally or from other damages
What are the elements of a methodology?
Teams, Roles, Skills, Techniques, Activities, Process, Work Products, Milestones, Standards, Quality
What are some characteristics of plan driven methodologies?
What are the three plan-driven methodologies?
What is PSP (personal software process)?
Individual process methodology. Structured framework of forms, guidelines, and procedures intended to guide an engineer in using a defined, measured, planned, and quality controlled process
What are some PSP artifacts?
Scripts (orderly structure of steps for each phase of development and review), Forms (data collection for defect recording, time recording, and project planning), checklists (design, coding, etc)
What are the advantages of PSP?
Improved size & time estimation, improved productivity, reduced testing time, improve quality
What are the disadvantages of PSP?
Pushback of forms & detailed data recording, requires discipline and opportunity to work ton TSP teams
What is the Team Software Process (TSP)?
Team planning, building, and control. Project divided into overlapping, iterative development cycles. Each cycle is a mini waterfall consisting of cycle launch, strategy, planning, requirements, design, implementation, test, and postmortem
Advantages of TSP?
Scripted (consistent) process activities, teams take ownership of their process and plans, process improvement focus, visibile tracking.
Disadvantages of TSP?
Similar to PSP (artifact centric, high ceremony), doesn’t scale well for small teams/short projects)
What are the phases of the RUP model?
Inception phase (what to do, business case, scope. Initial project plan, define risks),
Elaboration phase (analyze the problem domain and define a technically feasible architecture. Mitigate highest risks, make detailed project plan with prioritized risks),
Construction phase (Develop, integrate and test. Provide user documentation), and
Transition phase (distribute the product to the customers and maintain it).
What are the supporting workflows to RUP?
What is the basic process of estimations?
What are some estimation techniques?
Top down, bottom up, analogy, expert judgement, priced to win, parametric or algorithmic method
Describe (inc. pros and cons) of top-down estimations
Describe (inc. pros and cons) of bottom-up estimation
Describe (inc. pros and cons) of expert judgement
Use somebody who has recent experience on a similar project. You get a guesstimate, accuracy depends on their ‘real’ expertise, comparable application(s) must be accurately chosen
Describe (inc. pros and cons) of estimation by analogy
Use past project (must be sufficiently similar, comparable attributes) \+ Based on actual historical data - Difficult matching project types - Prior data may have been mis-measured - How to measure differences
Describe algorithmic measures
Lines of Code (LOC), function points, feature points or object points. LOC and function poits most common, majority of projects use non of the above
What are the pros and cons of code-based estimations?
\+ Commonly understood metric \+ Permits specific comparisons \+ Actuals easily measured - Difficult to estimate early in cycle - Counts vary by language - Many costs not considered (ex. reqs) - Programmers may be rewarded based on this (#defects/#LOC) - Code generators produce excess code
What are some estimation issues with LOC?