1 / 16

Software Development Lifecycle & Release Management

Software Development Lifecycle & Release Management. Scottie Cheng. Agenda. Experience Product Release Roles in Product Development Software Development Lifecycle. Army Logistic Command. Logistic information system Information Technology Officer Network management Server management

ishana
Download Presentation

Software Development Lifecycle & Release Management

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Software Development Lifecycle & Release Management Scottie Cheng

  2. Agenda • Experience • Product Release • Roles in Product Development • Software Development Lifecycle

  3. Army Logistic Command • Logistic information system • Information Technology Officer • Network management • Server management • Database management • Web development(ASP, Java) • Other skills (making slides, PC maintenance…) • One-man development, no process control, no quality control. • Contract with SI

  4. Incentia Design Systems • EDA software • Logic synthesis • STA • Physical synthesis (placement) • R&D engineer, R&D manager • C/C++, • Multi-host, multi-process, multi-thread • Coding + unit testing • Process: Yes.

  5. Synopsys • EDA software • Physical verification • Program Manager • Release process • Software quality • Coordination/Communication • Big team (100+ R&D/QA) • Different location/time zone • Taipei (Taiwan), Shanghai (China), Mountain View (CA), Durham (NC), Bangalore (India)

  6. Definition • Project management • Program management • Product management

  7. Software Release

  8. Roles in Product Development

  9. Software Development Lifecycle

  10. Planning (AC, CAE) • Understand the issue, and identify the root cause. • Users usually do not know what they want. • Requirement specification • Input-Process-Output • Acceptance criteria • Priority • Schedule

  11. Design (R&D, CAE) • Design the new function to meet the requirement. • Ease of use. • Functional specification

  12. Implementation (R&D) • Coding best practice • Architecture/Design patterns • Reuse • De-coupling • Coding style • Code comment/documentation • Keep in mind • Correctness always comes first. • Efficiency (performance) • Testability • Ease-of-debug

  13. Testing Automatic/regular Per project (R&D, QA, CAE, AC) • Regression • Daily • Porting platform • Code quality • Purify/Valgrind • Purecov • Quantify • Coverity • Performance testing • Runtime • Memory • Unit test • Module-level • Command-level • Flow testing • Alpha/Beta testing

  14. Release • Documentation • User Guide • Reference Manual • Release Note • Training materials • User feedback

  15. Suggestions • Technical basics • Algorithm, data structure, design pattern, database, network • Language is not the key. Master one or two language is enough. • Domain knowledge • Software is nothing but a tool. • Team work vsone-man team • Communication ability is important. • Prototyping vs completeness

  16. You are developing a PRODUCT, not writing CODE.

More Related