I lead, mentor and coach teams and organizations using agile methodologies including
RUP, Scrum and Extreme Programming. I have served as a project manager, a senior
consultant, a mentor, a methodology consultant, a senior software architect
and a team lead on various projects, mostly in the financial services industry.
I have 14 years of professional experience. I currently work exclusively through
my consulting company, Berteig Consulting
Inc. anywhere in North America. I publish articles and thoughts about agile
on Agile Advice - How and Why to Work Agile
SKILLS OVERVIEW
Agile Management and Software Development with Extreme Programming, Scrum,
RAD and "Agile" RUP
Mentoring, Tutoring and Training Delivery for both technical and non-technical
subjects
SEI's Capability Maturity Model (CMM) including Organization Process Definition,
Mentoring and Peer Reviews
Project Management including Project Planning, Risk Management and HR Management
Object Oriented Software Architecture and Engineering in Java/J2EE and C#/.NET
SELECTED WORK EXPERIENCE IN-DEPTH
Berteig Consulting Inc. Toronto, ON
2004 September to Present, Agility Consultant
Berteig Consulting Inc. is a small consulting organization which specializes in providing
Agile management and software development methodology consulting and coaching to large
financial services organizations. Berteig Consulting can be found online at www.berteigconsulting.com.
Project - CapitalOne DMC Lean/Agile Coach
Assist CapitalOne's DMC division to adopt Lean/Agile principles, practices and tools through
team and organizational coaching. Work closely with two other coaches to develop and
deliver Lean/Agile training covering Scrum, Lean, User Stories, Team development and project
launch. Contract through CC Pace Inc.
Coaching - Centtric Introduction to Agile Work
Deliver a one-hour introduction to Agile Work to management and employees of Centtric. Provide one-on-one
management coaching on the adoption of agile practices in a joint effort between Centtric
and their client.
Project - CapitalOne CTM Lean/Agile Portfolio Staffing/Scheduling
Assist CapitalOne's CTM division to develop a project portfolio staffing
and scheduling process based on Lean and Agile principles and practices
including pull-based queueing, appropriate process metrics, monthly process
improvement iterations, and information radiators. Worked with Mary
Poppendieck, author of "Lean Software Development". Contract
through CC Pace Inc.
Project - CapitalOne Strategic Technology Lean Time-to-Market Analysis
Research, analysis and recommendations based on Lean and Agile principles
to assist CapitalOne improve its internal time-to-market for IT projects.
Report and recommendations ultimately delivered to Gregor Bear, CIO of
CapitalOne. Worked with Sanjiv Augustine
author of "Agile Project Management" (forthcoming). Contract through CC
Pace Inc.
Solution Architects Inc. San Francisco, CA
2002 March to 2004 September, Senior Architect
2001 January to 2002 February, Architectural Advisor(occasional)
2000 June to 2000 November, Senior Architect
Solution Architects Inc. is a consulting organization which specializes in
providing senior and lead staff on enterprise software development projects.
Solution Architects can be found online at www.solutionarchitects.com.
Ongoing - Process and Methodology Advisor
Advise the President and the COO of Solution Architects Inc. on the advantages
and disadvantages of various processes and methodologies (including RUP,
RAD, Scrum, Extreme Programming and other agile methods) in order to assist
in making proposals to various clients and potential clients
Ongoing - Business Development Assistant
Work with the COO of Solution Architects Inc. in the development of the
sales pipeline including pitching potential clients, preparing sales presentation
materials, customer relationship management, strategizing new leads
Ongoing - Human Resources Assistant
Work with the COO of Solution Architects Inc. to develop a hiring pipeline
including web searches, job site searches and postings, reviewing resumes,
screening candidates and conducting interviews
Project - .NET/J2EE Integration Proof-of-Concept Managea small team to quickly develop a proof-of-concept
integrating WinForms and ASP.NET clients via ADO.NET with J2EE web services
Project - Schwab Integrated Testing System
Mentor and assist a senior engineer in the creation of a UML use case
model and in the writing of use cases on a RUP project
Project - Wachovia Asset Classification
Mentor and assist a small team including the Senior Software Architect
in the adoption of various process techniques from Scrum and Extreme Programming
including daily status meetings, test driven development, and continuous
integration. Mentor and assist the team in software architecture and design
by working through problems with them often employing the Socratic method.
Assist the team with implementation.
Project - Schwab New Broker Desktop
Train and mentor a team including the Technical Director to use agile
methods from Scrum in a RUP project including daily status meetings, weekly
iterations, iteration planning meetings, test driven development, continuous
integration, constant communication with end users and business analysts,
and team sharing a room. Assist in software architecture and development
work for early iterations.
Project - Schwab Desktop Proof-of-Concept
Lead a 13 person team in both methodology and development using techniques
from Scrum and RAD including daily status meetings, daily builds, continuous
quality assurance, and dynamically prioritized requirements. Technical
mentoring included software architectures with web services, .NET and
J2EE. Participant in developing an RFP and evaluating proposals for a
several million dollar project.
Presentation - Schwab and Agile Methodologies
Prepare and deliver an in-depth presentation on agile methodologies and
software craftsmanship including Scrum, Extreme Programming, RUP, and
RAD for the CIO of Schwab, Geoff Penny.
Project - Schwab Capital Markets Test Harness
Manage a team of four in the development of an automated functional testing
system for a highly distributed message-based trading system. Prepare
a proof-of-concept prototype. Create a software architecture document.
Mentor the development organization in automated regression testing, test
driven development and refactoring.
Presentation - Schwab Capital Markets and Extreme Programming
Prepare and deliver an executive-level report on Extreme Programming for
the CIO of Schwab Capital Markets, Rich Freyberg.
Project - Schwab Capital Markets RUP Introduction
Work with another process engineer to customize RUP artifacts (requirements,
use cases, design) for a fast moving "cowboy" development organization.
Evangelize and mentor the adoption of RUP practices including iterative
development, UML, continuous quality assurance, inception, elaboration,
construction and transition phases instead of waterfall stages.
Project - Schwab Frameworks Optimization
Hands on frameworks optimization and development work using profiling
and refactoring.
Project - Schwab Course Instructor
Deliver a five day course to a class of approximately twenty software
developers. Develop the course from the 0.9 version to the final 1.0 version.
Manage the setup of a classroom with the facilities vendor, prepare course
materials.
Project - Schwab Workflow and Imaging
Develop the system architecture and a software prototype for a high availability
distributed imaging solution on a RUP project. Collaborate with the business
and technical stakeholders to determine the requirements that affect the
system architecture. Evaluate imaging, workflow and messaging products
by examining documentation and APIs.
Project - Schwab Strategic Java Frameworks
Participate in a steering committee for setting organization-wide standards
for the use of messaging middleware. Design and develop a Java Messaging
Service (JMS) implementation over Tibco's Rendezvous messaging middleware
with certified messaging and distributed queue capabilities. Design and
develop a framework for bridging between two JMS "realms". Participate
in code reviews, refactoring work.
Project - Schwab Strategic Java Frameworks Build Environment
Set up Win32 and Solaris build process for frameworks including automatically
generated makefiles, procedural documentation and source repository management.
Processes: SCRUM, Extreme Programming, Rational Unified Process,
use cases, test driven development, refactoring, iteration/sprint planning,
mentoring, requirements management, standards development, frameworks development,
object oriented design, build process definition, code reviews.
MyMIND.net Inc. Elmvale, ON
1997 June to 2002 June, Founder
MyMIND.net Inc. is an e-Learning startup based upon the principle of full
community participation and universal access. The bulk of the work in MyMIND.net
occurred between Sept 2000 and July 2001 during which time there were two
full time employees, a contractor and several advisors and lesser participants.
MyMIND.net has not been operating since mid-2002 due to business failure.
I personally funded MyMIND.net in the amount of approximately $100,000. Despite
the financial loss, someday I hope to try again (and of course make all that
money back, and much more!).. Responsibilities: All levels of business and technical management and
implementation. Interviewing, hiring and other HR responsibilities. Work with
advisory board and shareholders to plan and execute corporate strategies and
partnerships. Investigate, initiate and maintain partnerships. Determine outsourcing
needs and monitor outsourcing work. Create a business plan and marketing plans
including financial projections, positioning, and advertising campaigns. Manage
and lead a small team (3 people) for web application development. Create system
architecture, detailed design and some development work. Processes: product development, project initiation, requirements analysis,
object oriented architecture and design, technology evaluation, risk assessment,
testing, coding standards, status reporting standards, XP (extreme programming),
version control standards, marketing planning, project scoping, etc. Technologies: J2EE (JSP, JDBC, EJB, XML, Servlets), Struts, PostgreSQL,
Tomcat, apache, FreeBSD, RedHat Linux, Dreamweaver, Photoshop, cvs Results: the Oomind Education Community
web site based on JSP and Struts technology was launched in April 2001 (and
now is defunct). Partnership established with content provider. Initial phase
of market testing completed. Currently suspended due to financial constraints.
InSystems Inc. Markham, ON
2001 September to 2002 January, Software Architect at InSystems Inc.
Although at InSystems for only a brief time, it was critical for my professional
development. Here I was given the latitude to sucessfully implement an Extreme Programming
process in a troubled project. I worked with the person responsible for methodology
as well as the project manager, the director of product marketing and the
business analyst. I successfully pitched these four key stakeholders on the
use of agile methods, and specifically extreme programming. The project, a
web-based authoring tool for insurance interviews for which I was also the
architect, included a multi-tier architecture, document management, and a
rules engine. I successfully introduced many Extreme Programming practices
through presentations and mentoring: test-driven development, pair programming,
iteration planning, user stories, continuous integration, and release planning.
Unfortunately corporate standards did not facilitate the team being in one
room, nor having a customer on the team full-time. I was also able to make
adjustments to the standard Extreme Programming method to include a usability
expert in the process as well as a more traditional architectural review aspect.
After I left the project, I was able to confirm that the Extreme Programming
process continued successfully through two major releases and many iterations. Responsibilities: Lead team in organization's first attempt
using Extreme Programming agile methodology. Create software architecture
for the authoring tool developed in a team using extreme programming. Develop
system architecture for "Relationship Repository" a dynamic database
of configuration data. Develop an accepted proposal for internationalization
(I18N) standards for InSystems' software products. Evaluate and compare Together
Control Center and Rational Rose UML tools. Processes: Extreme Programming with three week iterations,
pair programming, user stories, test driven development, refactoring, iteration
and release planning. Technologies: J2EE (JSP, EJB, XML, Servlets, JDBC), JBoss,
JESS Rule Engine, UML, Together Control Center, Rational Rose.
WORK EXPERIENCE IN-BRIEF
1999 May to 2000 May, Principle Consultant for Troba, Inc. Activities: product development, requirements analysis, market and
technical research, frameworks development, object oriented analysis and design,
prototyping, unit testing, refactoring, code reviews.
1998 January to 1999 February Senior Consultant for Platinum Technology
(now part of Computer Associates) Activities: mentoring, peer code reviews, SDLC methodology
contributions, requirements analysis, OO design and development, GUI design,
frameworks development, tool evaluation and selection, legacy integration
1997 March to 1998 January Software Engineer for Sun Microsystems Inc. JavaSoft
Java Applications Group (originally Lighthouse Design Inc.) Activities: advisory council membership, technical team lead,
project management, interviewing job candidates, OO architecture, design and
development
1996 - 1997 Software Architect for Q-Soft Inc., Calgary, AB. Activities: technical team lead, ultra-agile software development,
customer demonstrations and presentations, object oriented design and development,
GUI design
1996 April: Accounting Software Development Contract for Robert Reimers
Enterprises, Inc. in Majuro, Republic of the Marshall Islands Activities: requirements analysis, programming
1996 January: Computer Software Training Contract for Keyano College in
Fort McMurray, AB. Activities: prepare and present course material for basic intro to
Windows and MSMail in an adult classroom setting.
1994 May to September: Lab Assistant for the Alibaba Computer Laboratory
at the University of Saskatchewan Activities: coding, system administration
1993 June to August: Telephony Programming Consulting Contract for the
Nistowayou Association Friendship Centre in Fort McMurray, AB. Activities: contract negotiation, requirements analysis, design, implementation,
and documentation
1992 September: Database Programming Contract for the Saskatchewan Human
Rights Department in Saskatoon, SK. Activities: contract negotiations, requirements analysis,
design, implementation and documentation
1992 August: Database Programming Contract for the Alberta Environment
office in Fort McMurray, AB. Activities: requirements analysis, design, implementation, and documentation,
delivering training
1992 August: Computer Software Training Contract for Keyano College in
Fort McMurray, AB. Activities: one-to-one training delivery
1991 - 1992: Programming NeXT Computers for Department of Computational
Science, University of Saskatchewan. Activities: project management, object oriented design and development
1991 May to August: Consultant with the Department of Computing Services,
University of Saskatchewan. Activities: public relations, troubleshooting, writing informational
and training materials
1986 - 2002: Tutoring all ages of students in mathematics, computer science,
chemistry, physics and English. Activities: analysis of a student's needs, presentation of information
and concepts in a form appropriate to the student
1989 October to 1990 August : Surveyors Assistant for Peters Hango and
Associates in Saskatoon, SK. Activities: interpretation and calculations involving the
site rough grading plans, secretarial work, surveying field work.
1989 August to October: Service Position at the Bulk Cheese Warehouse in
Saskatoon, SK. Activities: work at the till, stocking shelves, general cleaning,
assisting with accounting software
1989 April to May: Stock Boy at Lakeview Drug Store in Saskatoon, SK. Activities: work at the till, stocking duties, general cleaning
MANAGEMENT TRAINING
"The Complete Project Management Seminar", course provided by the University
of Toronto, Toronto, ON.
"PLATINUM Process Continuum Project Management", course provided by PLATINUM
TECHNOLOGY INC. (now Computer Associates), Phoenix, AZ.
1987 to the Present: Community Development Worker at various times in Canada,
the United States, Belize, and the Republic of the Marshall Islands.
Responsibilities: develop human resources in various communities, working
on volunteer boards of directors and committees, making presentations, leading
classes, writing
reports. Positions held include Chairman and Secretary.
September 1997 to January 1998: Youth Class Instructor for the Baha'i Community
of San Mateo, CA.
Responsibilities: work with co-instructor to design and present course curriculum
and materials.
June 1994: Volunteer Math Tutor for students at the Youth Services Program,
Saskatoon, SK.
The youth services program works with youth who are emotionally disturbed
to provide counseling and other services.
1989-1994: Volunteer Judge for Regional and Aden Bowman High School science
fairs, Saskatoon, SK.