SOFTWARE ENGINEERING AT MOTOROLA SOLUTIONS. Jeff Yakey



Similar documents
MAJORS: Computer Engineering, Computer Science, Electrical Engineering

Virtualization for Hard Real-Time Applications Partition where you can Virtualize where you have to

Supporting Workflow Overview. CSC532 Fall06

Software Development Life Cycle (SDLC)

A Technology Based Solution to Move Client Server Applications to Java /.NET in Native 3-Tier Web Code Structures

Requirement Management with the Rational Unified Process RUP practices to support Business Analyst s activities and links with BABoK

Agile Model-Based Systems Engineering (ambse)

How To Develop A Telelogic Harmony/Esw Project

Agile and lean methods for managing application development process

Transitioning Your Software Process To Agile Jeffery Payne Chief Executive Officer Coveros, Inc.

CS Standards Crosswalk: CSTA K-12 Computer Science Standards and Oracle Java Programming (2014)

Decomposition into Parts. Software Engineering, Lecture 4. Data and Function Cohesion. Allocation of Functions and Data. Component Interfaces

Agile and lean methods for managing application development process

IBM Rational Software

A Capability Maturity Model (CMM)

2015 IBM Continuous Engineering Open Labs Target to better LEARNING

Application Lifecycle Management Using Visual Studio 2013 (SCRUM)

Basic Unified Process: A Process for Small and Agile Projects

ALM2013VS_ACC: Application Lifecycle Management Using Visual Studio 2013

Best Practises for LabVIEW FPGA Design Flow. uk.ni.com ireland.ni.com

Contents. Introduction and System Engineering 1. Introduction 2. Software Process and Methodology 16. System Engineering 53

Certified Software Quality Engineer (CSQE) Body of Knowledge

USTC Course for students entering Clemson F2013 Equivalent Clemson Course Counts for Clemson MS Core Area. CPSC 822 Case Study in Operating Systems

Atern The latest version of the DSDM approach which makes DSDM appropriate to all types of project.

ASCETiC Whitepaper. Motivation. ASCETiC Toolbox Business Goals. Approach

Preparation Guide. EXIN Agile Scrum Foundation

TSG Quick Reference Guide to Agile Development & Testing Enabling Successful Business Outcomes

ESE566 REPORT3. Design Methodologies for Core-based System-on-Chip HUA TANG OVIDIU CARNU

Agile Software Engineering Practice to Improve Project Success

Modernizing enterprise application development with integrated change, build and release management.

CS4507 Advanced Software Engineering

SOMA, RUP and RMC: the right combination for Service Oriented Architecture

Beyond ISO Intel's Product Security Maturity Model (PSMM)

Software Engineering for LabVIEW Applications. Elijah Kerry LabVIEW Product Manager

What is meant by the term, Lean Software Development? November 2014

Agile VPN for Carrier/SP Network. ONOS- based SDN Controller for China Unicom MPLS L3VPN Service

RUP Design. Purpose of Analysis & Design. Analysis & Design Workflow. Define Candidate Architecture. Create Initial Architecture Sketch

Karunya University Dept. of Information Technology

Agile Development and Testing Practices highlighted by the case studies as being particularly valuable from a software quality perspective

Bridging the Gap Between Acceptance Criteria and Definition of Done

A hypervisor approach with real-time support to the MIPS M5150 processor

Sparx Systems Enterprise Architect Cloud-based repository hosting

Agile Software Development Methodologies and Its Quality Assurance

Appendix 2-A. Application and System Development Requirements

A Software Development Platform for SOA

Agile Requirements And Testing For Continuous Software Delivery

HONEYWELL TURBOCHARGING

THALES AND/OR ITS SUPPLIERS

ICAgile Learning Roadmap Agile Testing Track

Embedded/Real-Time Software Development with PathMATE and IBM Rational Systems Developer

Software Engineering Best Practices. Christian Hartshorne Field Engineer Daniel Thomas Internal Sales Engineer

Performance Testing Uncovered

ni.com/sts NI Semiconductor Test Systems

INFORMATION TECHNOLOGY

Service Virtualization:

Increased Agility with Integration Testing

Establishing Great Software Development Process(es) for Your Organization. By Dale Mayes

Scrum and Testing The end of the test role Bryan Bakker 20 maart 2012

Harnessing the power of software-driven innovation. Martin Nally IBM Rational CTO IBM Fellow and VP

Patterns to Introduce Continuous Integration to Organizations

Model-Based Conceptual Design through to system implementation Lessons from a structured yet agile approach

Requirements Definition and Management Processes

TRACE32 Documents... ICD In-Circuit Debugger... Processor Architecture Manuals... TriCore... TriCore Monitor... 1

Overview of Network Hardware and Software. CS158a Chris Pollett Jan 29, 2007.

Agile extreme Development & Project Management Strategy Mentored/Component-based Workshop Series

Software change and release management White paper June Extending open source tools for more effective software delivery.

Net Developer Role Description Responsibilities Qualifications

Software Development Life Cycle at SSPL. An Summary of Methodologies We Offer

The GSM and GPRS network T /301

Network Management Slide Set 3

Component-Oriented Engineering

Describe the process of parallelization as it relates to problem solving.

Using Simulation to teach project management skills. Dr. Alain April, ÉTS Montréal

Model-Driven Software Development for Robotics: an overview

How To Develop Software

Use service virtualization to remove testing bottlenecks

Developing reliable Multi-Core Embedded-Systems with NI Linux Real-Time

RFP Attachment C Classifications

Product Build. ProPath. Office of Information and Technology

AGILE SOFTWARE TESTING

JOURNAL OF OBJECT TECHNOLOGY

Leveraging RUP, OpenUP, and the PMBOK. Arthur English, GreenLine Systems

Capstone Agile Model (CAM)

IBM Rational Asset Manager

Model Based System Engineering (MBSE) For Accelerating Software Development Cycle

Agile Development with Jazz and Rational Team Concert

How To Understand The Tools Your Organization Uses To Manage An Agile Process

Agilent GSM/EDGE Base Station Test with the E4406A VSA and ESG-D Series RF Signal Generators Product Overview

Software Engineering. Session 3 Main Theme Requirements Definition & Management Processes and Tools Dr. Jean-Claude Franchitti

Model Based Software Development for DDG 1000 Advanced Gun System

Tools and Methods to Address Complexity at Scale

Session-1: Business Enterprise Applications- Overview

Trends in Embedded Software Engineering

Ensuring Reliability in Lean New Product Development. John J. Paschkewitz, P.E., CRE

GSM/GPRS PHYSICAL LAYER ON SANDBLASTER DSP

Transcription:

SOFTWARE ENGINEERING AT MOTOROLA SOLUTIONS Jeff Yakey

Educational background 1993 Graduated from Belvidere High School 1997 B.A. from Wartburg College, Waverly IA Double major in Computer Science and Mathematics 1999 M.S. from Iowa State University in Computer Science Specialized in Algorithmic Robotics

Career at Motorola 1999 2002: Japan VLR Group Worked on the MSC/VLR subsystem of the EMX-V CDMA Cellular Switch Embedded real-time software developed in C/C++ PPC processor running LynxOS RTOS 2002 2003: MMSC project Initial development of the Delivery Manager subsystem of the Multimedia Messaging Service Center Developed in C++ on the HP/Tandem NonStop high availability platform (Guardian OS)

Career at Motorola 2003 Present:Repeater Software Product Architect on the G-Series Product Platform, using Enea OSE RTOS High Performance Data Base Radio Public safety TDMA data base radio operating in 25 khz channels X2 TDMA TDMA voice in 6.25 khz equivalent channels (2 slots in 12.5 khz) High Speed Data Base Radio Update to HPD BR to operate in 50 khz channels Conventional Base Radio Adding analog voice and multi-frequency features

GTR 8000 Expandable Site Subsystem

ASTRO Radio Site Architecture

Product/Project Development Process

Motorola M-Gates Corporate wide process for market and product line planning with system and product development teams Comprised of 16 gates grouped into 5 phases

M13 - Estimation Feature requests are generated by business teams, based on customer requests or market analysis Technical experts generate a ROM (Rough Order of Magnitude) estimate for FRs Features are estimated in staff-months Business teams prioritize features based on customer need and cost Features are selected for a system release and locked down

M11 - Scope Lockdown System release feature estimates are refined based on further input from system design team High level system design approaches are analyzed Tradeoff is usually between customer needs (extra features) and cost Predicted project metrics are generated based on M11 estimates : Project staffing profiles Defect arrival/resolution profiles Test execution profiles

M7 - System Design Complete System design team creates L2 requirements, allocated to subsystems Feature/product architects participate in L2 design and requirements reviews Large features (>500 SM) may follow System Level Agile Process (SLAP) System requirements are developed iteratively Subsystem development teams implement L2 requirements Allows for earlier testing of system integration

System Level Agile Practice (SLAP)

Requirements creation Product level (L3) requirements are captured in Telelogic (now IBM Rational) DOORS requirements management tool Requirements database allows embedding of objects (images, tables, etc.) Provides linkage and traceability mechanisms for upstream and downstream requirements Inter-product protocols are capture in Interface Control Documents (ICDs)

DOORS

Architecture Architecture decomposes feature into major software components Focus is primarily on interfaces and interactions between components L4 Requirements are written to formalize these interactions, and are traced to L3 requirements Goal is to write requirements that can be unit tested Architecture and design patterns are used throughout products Layers pattern Active Object and Capsule (UML RT) patterns

GTR Layered Architecture Application Layer Application Specific Components Application Common Components Services Layer OS SNMP Tx (BR only) Rx (BR only) Platform Layer (HW Abstraction)

Repeater Software Agile Process Based on Scrum agile process Development teams work in 5 week iterations Best team size is 4-6 developers Iterative Lifecycle Rapid feedback and learning in short cycles Collaborative Teaming Teams produce better results than individuals Manage themselves to make better decisions Development continuously validates quality

Agile Practices Agile Project Management Automated Testing Continuous Integration Customer Proxy Daily Stand-Up Iterative & Incremental Development (IID) Paired Development Refactoring Retrospectives Test-Driven Development (TDD)

Calendar for Agile Development

Development tools C++/C/PPC Assembly Rational Clearcase (Configuration Management) Rational Rose Realtime (UML) Auto-code generation Cppunit/RoseRT Capsule test framework Automated unit test execution Electric Cloud e-make/commander Automated/parallel build utilities Formerly used CruiseControl Codewarrior Debugger/PowerTAP JTAG Perl/Python (automation scripts, data processing, testing) Wikis

Rational RoseRT Structure Diagrams

Rational RoseRT Capsules

Rational RoseRT State Machines

Rational RoseRT Message Sequence Charts

Formal Technical Review (FTR) Peer review process All deliverables (requirements, ICDs, design, code) are required to be reviewed Improved quality reduces cost of fixing escaped defects

Project Management Tools Version One (Agile Project Management Suite) ClearQuest (Defect Management) Metrics data collected from tools

Sample Agile Project Metrics

Sample Defect Prediction/Backlog

GLS/Box Test Generic Link Simulator Motorola developed automated product test framework Primarily intended for network protocol testing (message sending/receiving) Extended to include RF capabilities Vector Signal Analyzer (VSA) Vector Signal Generator (VSG) OTA Protocol Parsers/Formatters

GLS/Box Test Phase Phase2 GLS Setup - Connections To Switch LAN GPIP GPIP Site CTRL A Site CTRL B ENET Link LAN To Switch Status EXT FREQ Site CTRL TX Site CTRL A Site CTRL B RX A RX B RX C EXT FREQ Xmit Status ENET Link Status Attenuator BR RF Input Analog out VSA (Vector Signal Analyzer) RF Output GPIP Pattern TRIG In VSG (Vector Signal Generator) LAN To Switch LAN To Switch Sound Card GLS Window Box GLS Linux Box

M5 - Product Development Complete M5 Goals All feature development is complete All box tests have been executed 90% of box tests must pass System test begins Test product and feature interactions Primary activities Support system test team Defect Repair

M3/M2 - Product Deployment All system testing is complete 100% pass rate is the goal Software is turned over to factory Installed on newly shipped systems CDs available for customer upgrades Final project metrics collected and archived

Software Engineering Skills

Beneficial Coursework Computer languages Exposure to multiple programming paradigms beneficial Use appropriate language to solve problems More OOP/OOD/Design Patterns would have been useful Operating Systems RTOS concepts very useful Networking Mobile computing is ubiquitous now

Beneficial Coursework Statistics Used in performance modeling and profiling Design For Six Sigma (DFSS) Communication and leadership skills Essential to be able to collaborate with colleagues Global collaboration is especially challenging Our biggest problems are usually due to a breakdown in communication

Class work is only the beginning Continuous learning is essential New languages and frameworks keep emerging Skills become obsolete very quickly Computing challenges have changed considerably in 12 years Secure programming, Information Assurance, Privacy concerns Multicore and concurrent programming

Questions