Engineering Practices
From Guidance Share
(Difference between revisions)
Revision as of 03:57, 19 October 2006 (edit) Admin (Talk | contribs) ← Previous diff |
Revision as of 04:02, 19 October 2006 (edit) Admin (Talk | contribs) Next diff → |
||
Line 3: | Line 3: | ||
== Engineering Practices Frame == | == Engineering Practices Frame == | ||
{| | {| | ||
- | | '''Knowledge Area''' | '''Practices''' | '''Activities''' | '''Artifacts''' | + | | '''Knowledge Area''' || '''Practices''' || '''Activities''' || '''Artifacts''' |
|- | |- | ||
- | | Planning | Planning Practices | Planning Activities | Planning Artifacts | | + | | Planning || Planning Practices || Planning Activities || Planning Artifacts |
|- | |- | ||
- | | Requirements and Analysis | Requirements Practices | Requirements Activities | Requirements Artifacts | | + | | Requirements and Analysis || Requirements Practices || Requirements Activities || Requirements Artifacts |
|- | |- | ||
- | | Architecture and Design | Arch And Design Practices | Arch And Design Activities | Arch And Design Artifacts | | + | | Architecture and Design || Arch And Design Practices || Arch And Design Activities || Arch And Design Artifacts |
|- | |- | ||
- | | Development | Development Practices | Development Activities | Development Artifacts | | + | | Development || Development Practices || Development Activities || Development Artifacts |
|- | |- | ||
- | | Testing | Testing Practices | Testing Activities | Testing Artifacts | | + | | Testing || Testing Practices || Testing Activities || Testing Artifacts |
|- | |- | ||
- | | Deployment | Deployment Practices | Deployment Activities | Deployment Artifacts | | + | | Deployment || Deployment Practices || Deployment Activities || Deployment Artifacts |
|- | |- | ||
- | | Maintenance | Maintenance Practices | Maintenance Activities | Maintenance Artifacts | | + | | Maintenance || Maintenance Practices || Maintenance Activities || Maintenance Artifacts |
|- | |- | ||
- | | Security Engineering | Security Engineering Practices | Security Engineering Activities | Security Engineering Artifacts | | + | | Security Engineering || Security Engineering Practices || Security Engineering Activities || Security Engineering Artifacts |
|- | |- | ||
- | | Performance | Performance Practices | Performance Activities | Performance Artifacts | | + | | Performance || Performance Practices || Performance Activities || Performance Artifacts |
|- | |- | ||
- | | Flexibility | Flexibility Practices | Flexibility Activities | Flexibility Artifacts | | + | | Flexibility || Flexibility Practices || Flexibility Activities || Flexibility Artifacts |
|} | |} | ||
Revision as of 04:02, 19 October 2006
Better software through proven practices. Improve the ability for practitioners to build quality software solutions faster and easier. Build a community around engineering practices to help foster emerging software engineering practices, as well as make good software engineer practices more accessable to everyday practice.
Contents |
Engineering Practices Frame
Knowledge Area | Practices | Activities | Artifacts |
Planning | Planning Practices | Planning Activities | Planning Artifacts |
Requirements and Analysis | Requirements Practices | Requirements Activities | Requirements Artifacts |
Architecture and Design | Arch And Design Practices | Arch And Design Activities | Arch And Design Artifacts |
Development | Development Practices | Development Activities | Development Artifacts |
Testing | Testing Practices | Testing Activities | Testing Artifacts |
Deployment | Deployment Practices | Deployment Activities | Deployment Artifacts |
Maintenance | Maintenance Practices | Maintenance Activities | Maintenance Artifacts |
Security Engineering | Security Engineering Practices | Security Engineering Activities | Security Engineering Artifacts |
Performance | Performance Practices | Performance Activities | Performance Artifacts |
Flexibility | Flexibility Practices | Flexibility Activities | Flexibility Artifacts |
Objectives
- Provide customer guidance for software engineering practices and techniques
- Refine and enhance successful software practices
- Reduce mistakes and improve software quality
- Bake quality attributes (security, performance, … etc.) into the life cycle
- Build a community around best software development practices
- Increase precision around context
Deliverables
Modular, task based guidance for life cycle activities and artifacts.
* Information Model * Practices * How Tos * Templates * Samples * Walkthroughs * Checklists * Patterns * Community * Tools integration * Product Feedback
Approach
- Organize best practices using knowledge areas.
- Build a library of “pluggable”, modular software engineering techniques
- Identify practices that improve software quality and engineering efficiency
- Identify and reduce pitfalls within software engineering activities
- Prioritize software engineering activities based on results in practice
Key Terms
- Knowledge Areas. Organizing scheme that brings together common practices, activities, techniques.
- How Tos. Step-by-step, task-based guidance.
- Templates. Standardized template to help execute the activity/steps. Cross-discipline communication tool.
- Samples. Best practice samples of what good looks like.
- Walkthroughs. Narrative hand-holding through the activity
- Checklists.
- Activity Patterns.
- Artifact Patterns.
Key Concepts
- Build a knowledge base of software engineering techniques
- Focus on practices not process
- Favor the practitioner and results over theory
- Leverage industry subject matter experts
- Organize guidance using Knowledge Areas
- Key software engineering activities (development, testing … etc.)
- Quality attributes (performance, security, flexibility … etc.)
- Turn quality attributes into actionable activities and techniques
- Break quality attributes down into actionable categories
- Identify and refine techniques that improve the success
- Build a library of “pluggable”, modular practices
- Favor modular content types over monolithic
- Incremental Adoption of Practices and Techniques
- Can use them together, but adopt incrementally (“Better Together”)
- Frame to set the context
- Increase precision around context
- Archetypes (Web, Desktop, Web Service … etc.)
- Scenarios (Intranet, Internet … etc.)
- Tools integration
- Pluggable in MSF/VS .NET/Team Tools/MSF
- Richest experience with MSF
- Create a site for sharing best software engineering practices
- Practitioner-to-Practitioner assistance
- Community submissions