Software Engineering Processes
Software Engineering Series Part 1
Good Software System
- Is of good quality - has well defined purpose, meets the business needs, is usable; is reliable, accurate, fast, available
- Is well designed - design is extensible to meet the future change requirements; maintenance is easy
Process Definition
- Process - Ordered set of steps intended to achieve a goal. Another definition is - One or more agents acting in defined roles to carry out the process steps to accomplish the overall process goals. At the end of a step, process artefacts may be created or modified
- Software process documents how software projects are initiated, managed, implemented, concluded and improved
- Clearly defines the deliverables and the product
- Correctly defines the sequence and interrelations of activities needed to produce the software
- Clearly defines the roles and responsibilities
- Has an effective Process control; defines how the activities are to be performed; methodologies, standards, reviews etc
- Software Development Lifecycle
- Software Process Management
- Software Project Management
- Software Product Management
- Software Quality Management
- Choosing a Process - need to understand the details of the process and the interaction between the chosen process and methodology chosen. To improve an existing process, the current process needs to be understood, the weakpoints need to be identified, understand how it needs to be improved, implement and measure the improvement
- Process is followed - Ensure that deliverables of each step is produced; Exit criteria for the current step is met; Entry criteria for the next step is met
- Facilitate human understanding and communication
- Support process improvement
- Support process and project management
- Process automation
- Functional - what process elements are being performed; what are the information entities involved
- Behavioural - When and what process elements are being performed; consider timing and sequential issues
- Organisational - When and by whom the process elements are being performed; How entities are transferred
- Informational - What are the entities, their structure and relationships in the organization
- Inputs - Things used and transformed by Activity to Output
- Activity - Atomic step of a process
- Output - Things into which inputs are transformed by a process
- Triggers - event or a directive to begin the activity
- Control and Guiding Mechanism - Document or information items that will guide or constrain activities
- Resource Mechanism - how the activities are realized
- Scope and Objective
- Team of people
- Timeline and budget
- Risks
- Pricess to achieve objective
- Define Scope, Process and objective of Project
- Process used to achieve the project objectives
- Team/Resources
- Costing and Schedule
- Risks Management
- Project Control
- Quality Management
- Define the Project Deliverables
- Identify and evaluate Project Risks
- Determine how to manage Project Risks
- Develop WBS
- Identify Staffing and Resources
- Effort estimate required to complete tasks
- Estimate Project Costs
- Identify Dependencies and establish Schedule
- Intrduction
- Document SDLC
- Project Structure
- Deliverables
- Work Plan - WBS/Resource/Estimate
- Project Schedule
- Project Cost
- Risk Management Plan
- Make sure that scope of each level in WBS gets mapped to tangible tasks
- Make sure that all tasks have estimates
- Make sure that no Task at level 1 (Phase) is longer than 1 year
- Only plan the next phase in detail
- Ensure that detailed planning level is no longer than 1 month and the lowest level of task greater than 2 work weeks.
- Potential for harm arising out of either a current process or a future event that may harm the software being developed in a negative way (functionality, reliability, usability, performance, schedule, cost)
- Risk Assessment - Identification, Anlysis, Prioritization
- Risk Control - Planning, Resolution, Monitoring
- Contingency Planning
- Accept Risk and live with it
- Avoid Risk - for example by doing something differently, so that the risk is not in the picture at all
- Investigate to understand the risk so that we can resolve the risk after understanding it better
- Transfer to somebody else who can handle the risk
Definition of Quality
- Meeting the agreed requirements
- Zero defects
- Quality Assurance - Preventing defects in deliverables by establishing project quality standards and procedures for the entire SDLC. A set of activities designed to ensure that the development and/or maintenance process is adequate to ensure a system will meet its objectives. In other words, Quality Assurance makes sure you are doing the right things, the right way. It is more on the Process end, rather than on the Product end.
- Quality Control - Inspection of deliverables for defects, reviews, testing, walk-thrroughs etc. Quality Control makes sure the results of what you've done are what you expected.
- http://c2.com/cgi/wiki?QualityAssuranceIsNotQualityControl
- Standards and Guidelines
- Techniques and Tools
- Software Configuration Management
- Test Strategy
- Project Procedures
- Reviews
- Approval Process
- Change Management
- Progress Reporting
- To ensure that project runtime runs along the planned activities as listed in the Project Plan.
- Ensure that the project completes successfully according to the scope and quality specification laid out in the Project plans.
- Day to day Project Control, monitoring and reporting
- Tasking Project Staff
- People Leadership
- Technical Leadership
- Vendor Management
- Quality Management
- Risk Resolution
- Change Control
0 Comments:
Post a Comment
<< Home