Bill Bourne

I have over 35 years experience in the computer industry. I have been a software developer, architect, solutions architect, product manager, project manager, and executive. I have successfully managed large complex programs of over 400 staff as well as small agile projects. Currently I am an instructor and course author; teaching advanced programming techniques for ScalaCourses.com.

I am expert in the areas of:

·  “The Internet before the Internet” – one and two-way videotext systems and their applications over both telephone and cable TV, similar to today's internet;

·  Large distributed systems technologies;

·  Software quality, methodology, and delivery in the areas of process, practices, and architecture.

In the mid-2000s I sat on the Java Community Process Executive Committee (JCP-EC) overseeing the development of Java and JEE standards. I have over 25 years experience in large multi-site development and setting up successful offshore development relationships. I am a Certified Scrum Master and Certified Scrum Product Owner.

LITIGATION SUPPORT EXPERIENCE

July 2014 – Oct 2014: Personalized Media Communications, LLC v. Amazon.com, Inc. and Amazon Web Services, LLC, civil action no. 1:13-cv-1608-RGA in the district of Delaware. Retained by defendants through Knobbe, Martens, Olson & Bear, LLP. Researched prior art to support invalidity of nine US patents related to tele-shopping and web commerce, software downloading, assembly of partially complete documents, and other claims. The case was settled in favor of the defendants before going to trial.

Professional EXPERIENCE

ScalaCourses.com

Co-author – Introduction to Scala and Intermediate Scala courses Present

Develop and review lectures for the Introductory and Intermediate Scala on-line training courses.

SourceForm Consulting Inc.

Principal – Software Development & Agile Effectiveness Present

Provide consulting on software development process and practices improvement, from requirements through verification. While much of the work involves agile projects, we also consult to teams using other methodologies.

Much of our work focuses on the timeless software development practices that transcend particular methodologies: requirements specification & reviews, design reviews, code inspections, continuous integration, static analysis, designer automated testing, including TDD and verification test automation.

Mitel Networks

Development Leader, MiCollab Unified Communications 2013-2015

The MiCollab Clients suite includes a distributed server application, a web client, a PC desktop Client and iOS and Android Mobile Clients. The server application is a distributed system that maintains state with Mitel’s telecommunications call servers and multiple MiCollab Servers. Managed a three-site team, including India outsourcing to deliver releases and product support.

Avaya

In each of the roles I fulfilled at Avaya, I:

·  Led development of applications including server, web client, desktop client, and mobile client applications, working with multi-national teams, including India.

·  Established collaborative cross-project teams for development, agile lifecycle management, and code quality. I used a consultative triage process to set priorities.

·  Specified and implemented project-based metrics, including defectivity, code inspections, static analysis, design test automation, code coverage, and Q/A regression test automation, as well as a code quality scorecard for each project.

·  Helped each project establish their unique improvement goals, and supported them as they introduced code quality and project management practices.

·  Kept the focus on the improvement activities, in spite of urgent firefights for product delivery, field issues, and support releases.

Consultant, Practices & Organizational Maturity 2012-2013

Significantly improved delivery time and quality for all 12 UCA scrum-based projects. Received an award from the Avaya System Verification organization for my effectiveness.

Leader, UC Mobility Portfolio R&D 2011-2012

Responsible for product development of Avaya's One-X Mobile and One-X Communicator branded products, a suite of applications for mobile unified communications provided by a large-scale network. Products included server-based, desktop-based, and mobile clients. Services were distributed throughout the network and maintained state with Avaya’s call server elements.

Took over leadership of a demoralized multi-national team with high attrition, poor project management, an overwhelming product backlog, poor product quality, and turned it around and stabilized it.

Agile Lifecycle Management Coach 2010 – 2011

Transitioned the global organization to a single set of tools and practices, and significantly improved development discipline and project oversight. Established a global collaborative team for input and buy-in. Created detailed practice descriptions, including the high-level process, detailed practices, training material, weekly project review meetings, and standard dashboard metrics. Delivered Agile Scrum training to three sites globally.

Leader Advanced Application R&D 2009-2011

Quickly, efficiently, with minimal resources, incubate communications-enabled business applications and test them in the market. Grew and led a multi-national development that could get multiple projects to market in a 6 month timeframe. Provided extensive mentoring and training to build the team’s capability and performance.

Nortel Networks – Enterprise Business Solutions Division

Leader, Advanced Solutions Development 2008-2009

Grew and led a team developing a suite of applications that included integrated communications capabilities to improve business workflows and processes in healthcare, hospitality, and other specific markets. Coached and mentored the team in the disciplined adoption of Scrum and supporting practices and tools.

Nortel NETWORKS - Common Engineering Network Management Division

Had many roles as a senior architect, manager, and product manager related to the assembly, transmission, and management of documents, applications, and data in the management of telecommunications systems on this multi-national R&D program:

·  Software boot loading, downloading, and upgrades of operating systems to remote computers, including the disassembly and re-assembly of the documents for transmission.

·  The use of document transfer to collect operational data from remote computers and servers, including protocols for requesting, transmitting, and assembly of documents and information.

·  Distributed systems communications using the CORBA Common Object Request Broker Architecture to exchange documents and data between systems, as well as J2EE, and HTTP data transfer.

·  Request for proposals, requirements, and evaluation of 3rd-party distributed applications and components

Nortel: Senior Product Line Manager, Platform Strategy 2005-2008

Drove the strategic re-architecting from in-house development to 3rd-party products of a $37M per year, over 1.5M lines of code, distributed network management system.

·  Worked with product managers and architects in multiple business units to gather comprehensive requirements and build consensus.

·  Worked with a team of architects to define the new architecture, incorporating the 3rd-party products.

·  Project manager for major portions of the project. Identified short list of candidate vendors and managed the development of RFPs, and the evaluation of the responses.

Team leader of a project to define a Unified Software Development Process (USDRP) for the whole corporation. Drove its successful deployment, including CMMI Level 3 compliance.

·  Co-leader of a 12-person company-wide team responsible for the requirements development and management process.

·  Process architect on a small team that oversaw the overall end-to-end USDRP process architecture and definition.

·  Performed a full review against CMMI Level 3 specifications, to ensure the new process was compliant.

Senior Solutions Architect and Leader 2002-2005

Responsible for a team of architects that evolved a large, heterogeneous, distributed network management suite based on JEE and Java, legacy CORBA and C/C++, and HTTP based communications. The team defined the architecture for new components, as well as the evolution of the existing system to new technologies. Work included:

·  Migrating from legacy CORBA and C++ to Java and JEE, and HTTP-based technologies.

·  Defining the architecture and design for distributed communications to integrate new network elements, for new features and applications, and to integrate with 3rd-party systems

·  Supporting pre-sales engineering activities, including RFI and RFP responses.

Championed an initiative to establish a collaborative development approach for cross business unit projects by using a software development toolset and practices from the open-source software community for internal use (“Corporate Source”).

·  Created a value proposition to pitch the approach to directors and VP’s, obtaining executive sponsorship.

·  Investigated and selected tools, participated negotiations with the vendor to reach a contract agreement, and helped drive its adoption.

·  Gave a presentation on the solution corporate-wide to over 1,500 people via web cast.

Nortel Networks Common Preside Service Enabling Solutions Division

Division Director R&D 1998-2001

Responsible for the $50M+ annual investment, 400+ staff, 5 multi-national sites, 20+ project R&D for Nortel’s Network Management business unit, reporting to the division president.

Responsible for a large suite of UNIX-based, network management products based on CORBA, J2EE, and early message bus/message broker-based technologies for large, geographically distributed, heterogeneous telecommunications networks. Responsibilities included:

·  Initial migration from CORBA technologies to J2EE and HTTP-based distributed communications.

·  Managing distributed processing through a hierarchy of systems, where information is collected, partly processed, sent to a higher-level system for aggregation, and another system for presentation.

·  Supporting a geographically distributed application of UNIX systems to allow operations centers to be staffed at geographically separated locations in a coordinated way.

·  The provisioning of circuits in a telecommunications system, which required an accurate view of the state of a large number of network elements to be maintained, and the ability to make multiple changes to network elements in a set of coordinated steps that could be backed out.

Transformed the R&D which, when I joined, was slow, repeatedly over ran its reforecast delivery dates, and could not react to changing business priorities:

·  Defined and implemented a set of development processes and practices, that took into account the complex and changing nature of the program.

·  Implemented a major organization and cultural change from fixed R&D groups organized by product, to a flexible “pool” of resources organized by function, including an ability to quickly re-prioritize and re-plan projects based on changing business requirements.

Successfully addressed a shortage of staff, high costs, and staffing agility by introducing an outsourced development capability in a low cost site which grew to 130 staff.

·  Key to the success was defining mutually agreed plans for training outsourced resources with expat assignments to Canada, and having outsourced managers gradually take on accountabilities and responsibilities similar to in-house managers.

Nortel NETWORKS – Optical High Capacity Transport Division

Lead software architect, manager, then senior manager for developing large software systems for Nortel's High-Capacity Optical suite of network elements, a complex, distributed, embedded system. In this system, over two-dozen individual highly intelligent "cards" operated as a distributed system. A great deal of early technology in concurrent distributed systems was developed in the 1980s and 1990s for complex intelligent telecommunications systems. This including managing configuration, operating state, performance, supervision, and isolating faults across distributed systems on cards operating as a single entity. The system used C/C++ and automatic code generation of Real-Time Object-Oriented Method (ROOM) based designs.

Senior Management, Common Framework Software 1997-1998

Led a team of 90 staff responsible for the common software components and frameworks used across four product variants and over two-dozen intelligent H/W cards. With the Director and other senior managers, designed a new organization structure to successfully support the growing product line:

·  Established the unified software platform organization; including the software build architecture and improved processes.

·  Introduced formal code inspections. Improved S/W quality by over 20% while reducing schedule and costs, on a software base already considered high quality. This allowed support costs be kept down as the product-line’s sales grew past $1 billion per year.

Manager, Software, Harlow UK (Expat Assignment) 1994-1997

The expat assignment was to assist in the integration of the Ottawa and Harlow development teams that were brought together by an executive management directive. Responsible for the team developing the architecture and design of the supervisory and control software.

Led the definition of the program’s top-level software development process. The process was pointed to as a best practice for an effective, simple process. It remained in use for 10 years.

·  Gathering input from multiple stakeholders wrote the process and drove it through reviews to get acceptance.

Prepared for ISO-9001 audits and achieved certification.

·  Reviewed the existing quality system, processes, and practices against ISO 9001 requirements. Identified gaps in the group practices and compliance.

·  Did the work required to address the issues - creating simple documentation for the team, and mentoring them.

Manager and Architect, Software Development 1992-1994

Selected by the vice-president as one of 3 S/W architects/managers to initiate the product development.

·  Wrote major sections of the product requirements and architecture.

·  Successfully grew the team and launched S/W design. Drove detailed reviews of the architecture and design to establish the project direction.

When projects in Ottawa, Canada and Harlow, UK were brought together by an executive management directive, was a member of the team set up to integrate the two project’s processes, architecture, and technology. Acted as facilitator and consensus builder to get alignment of teams with entrenched positions and strongly held opposing views on process and technology.

Nortel Networks – FiberWorld Element Management Division

Architect and Manager 1989-1993

Led the development of the Operations Controller, a UNIX and OSI standards-based real-time controller for Nortel's FiberWorld communications networks.

·  Worked on systems that managed, configured, and supervised a distributed system of highly intelligent communications network elements.

·  Communications was based on the ISO standard OSI network protocol stack.

·  Many applications involved distributed state, such as configuration management.

·  Network software upgrades of two-dozen intelligent network elements were performed using distributed protocols. The complex software upgrade process was stateful, and the previous state of the system was reverted if an upgrade failed.

Nortel Networks – CAD/CAM Software 1985-1989

Systems Architect 1985-1989

Responsible for the overall architecture of a multi-million-line suite of applications for integrated circuit and circuit board design.

·  Drove the successful migration of the entire system from IBM Mainframes to Unix workstations.

·  Introduced Lisp as an embedded programming language in the applications that improved agility in meeting customer’s needs and extended the life of the product suite.