Мэдээллийн технологийг практикт хэрэглэх, мэдээллийн технологийн бүтээгдэхүүн хэрхэн төрдөг вэ? Л. Бат-Өлзий Microsoft Ивээн Тэтгэгч: Хаан Банк What to remember? Санах зүйлс юу вэ? Most important asset to successful software company is its people Амжилттай програм хангамжийн компанийн хамгийн чухал үндсэн хөрөнгө нь - хүмүүс Overview of a product cycle model that Microsoft uses to develop products Микрософтийн хэрэглэдэг программын үе шатны загварын тойм Explanation of the roles associated with product development Бүтээгдэхүүн гаргахад оролцдог хүмүүсийн үүрэг роль 1
What to remember? Санах зүйлс юу вэ? Milestones Planning Designing Implementing Testing Release Roles Program Management PM Software Design Engineer SDE Software Design Engineer in Test - SDET Planning and spec ing phase Major milestones phase M1& M2: Risky, important features M3-n: Less important features, often where reassessment occurs Release and production phase Ship: Release to manufacturing/web Production phase for services Quick-fix engineering (QFEs) for package products Testing phase Debug code Betas Final marketing plans 2
Planning is an empty exercise unless well-grounded in appropriate information about customers, segment trends, social and technological changes, distributors, and competitors, that can clearly illuminate where the business has an edge or a disadvantage. George S. Day What is a product planner? Бүтээгдэхүүн төлөвлөгч гэж юу вэ? Researcher Gather questions Answer them with best methodologies Provide timely analysis Communicator To program management and others on the product team To management To marketing (Somewhat) independent of the product cycle 3
Partners in the process Program management Product planning s customer Marketing Usability Dev and test PSS/field sales Corporate research Challenges... and opportunities! Credibility Provide real customer/user data, not opinions Staying ahead of the team The right information at the right time Staying ahead of the customer/market Always have a finger on the pulse 4
Vision Bring research together Finalize personas, scenarios Create vision document a statement of the product s or service s users and goals Vision Bring research together Finalize personas, scenarios Create vision document a statement of the product s or service s users and goals Product development Customer advocate Check results against vision 5
Vision Bring research together Finalize personas, scenarios Create vision document a statement of the product s or service s users and goals Product development Customer advocate Check results against vision Wrap-up Marketing partnership Prioritize add-cuts Research plan for next version Vision Bring research together Finalize personas, scenarios Create vision document a statement of the product s or service s users and goals Product development Customer advocate Check results against vision Ship Vision work for next version 3 5 year planning Wrap-up Marketing partnership Prioritize add-cuts Research plan for next version 6
"There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult." -- C.A.R. Hoare Mission To make our products more usable, useful, and desirable 7
What is a product designer? Background in industrial design, interaction design, information design, or visual design Profound understanding of the design process Skills in communication, aesthetics, branding, and user interface design Helps define features and products What is good design? Good design is constraint driven 8
What is good design? Good design is easy to use What is good design? Good design considers the needs of multiple users 9
What is good design? Good design has passion Understanding phase Plan Research Intensely define 10
Understanding Phase Plan Research Intensely Define Ideas phase Conceptualize Conceptualize Төсөөлөл бий болгох 11
Conceptualize Төсөөлөл бий болгох Conceptualize Төсөөлөл бий болгох 12
Understanding Phase Plan Research Intensely Define Ideas Phase Conceptualize Production phase Detail Deliver Understanding Phase Plan Research Intensely Define Ideas Phase Conceptualize Ship Production Phase Detail Deliver 13
Challenges - Бэрхшээлүүд Too many cooks Losing perspective Selfish design = bad design Going in circles not exploring enough alternatives Lack of faith What would we ship without t developers? elopers? What would/did we ship without testers? 14
Working together Development and testing should work together like this. Not like this. Dev mission: To create high-quality software Consult on technology Provide feedback on specifications Design algorithms and data structures Design, write, and debug code 15
Test mission: To validate high quality in our products Systematically monitor and evaluate various aspects of a project to verify that quality standards are met Independently validate product features and functionality ensure against assumptions Test compliance to design standards Report status t of product quality Serve as advocate for our customers Хэрэглэгчдийн эрх ашгийг хамгаал Strive for quality Чанарыг эрхэмлэ Dev challenges Create a simple design Produce solid code from the start Produce high-performance software Meet schedules Think internationally and geopolitically Write features that are accessible to everyone Share information and contacts Keep abreast of rapid technical development 16
Test challenges Keep abreast of emerging technologies Develop mature quality-control processes Understand testing software as a service International testing Configuration testing Component sharing/dependencies Manage tradeoffs Manage resources Dev Planning and scheduling Feasibility, feedback on new features Test Testability, test plan 17
Dev Planning and scheduling Feasibility, feedback on new features Test Testability, test plan Dev Write code, test, and debug Test Test development, e e automation Test private/buddy, integration, regression Dev Planning and scheduling Feasibility, feedback on new features Test Testability, test plan Dev Write code, test, and debug Test Test development, e e automation Test private/buddy, integration, regression Dev and test Test and debug Zero bugs Say no to new features Stabilize 18
Dev Planning and scheduling Feasibility, feedback on new features Test Testability, test plan Dev and test Triage/war team Release candidates dd and golden masters or Install on production servers Respond to critical issues after release Dev Write code, test, and debug Test Test development, e e automation Test private/buddy, integration, regression Dev and test Test and debug Say no to new features Zero bugs Stabilize 19
Mission Develop and deliver content that provides the information customers need, when they need it 20
Definitions Globalization/internationalization Process of developing a program core that does not make feature- and code-design assumptions based on a single locale or script (Example: No hard coding of localizable items in executables and DLLs; use of Unicode because it works with any system locale) Definitions (cont.) Localization Process of translating and adapting products for specific international markets, including resizing interface, redesigning graphics, and rewriting content Translation Process of transferring text from one language to another without further content adaptation. Localization usually includes a large amount of translation. 21
Анхаарал тавьсанд баярлалаа Харилцах хаяг: Лувсанбатын Бат-Өлзий И-мэйл: batul@microsoft.com 22