Product Sight

This page describes the setup and experiences of an ExtremeProgramming project that started software development from a clean sheet in June 2000. We hope to share our experiences and solicit feedback as the project progresses.


About Product Sight ( http://www.ProductSight.com )

Product Sight specializes in component business applications for collaboration across the product realization processes for highly engineered products such as planes, trains, and automobiles. Our customers include Original Equipment Manufacturers (OEM), Suppliers, and e-Commerce Market Exchanges that deal with highly engineered products and custom parts, as well as the technology providers that integrate our components into their more comprehensive solutions.

Product Sight has assembled a formidable team with extensive knowledge and experience in engineering, production planning, manufacturing processes, and product development practices. We work closely with our customers to create application products that deliver strategic e-Business benefits while making the day-to-day work lives of our users easier and more productive.


Our XP Team

Current:

Planned: As of August 1, 2001 we were not recruiting for ProductSightXpJavaDeveloper? positions. You may be interested in this position description if you are recruiting for XP developers and want some ideas on how to describe an XP job.


Company Characteristics

Expected Technology Characteristics Note the above list is labeled "expected". We are trying to be careful to apply YouArentGonnaNeedIt and not overly constrain the problem. However, we think it's likely that we will have market reasons for adopting these technologies and felt we needed to establish some criteria for desirable skills when recruiting. The XP approach will be to add them as UserStories when they become a priority.


Why we chose XP as our development approach

This account of the Product Sight XP project was originated by BruceWinegarden. In the Wiki tradition, others will hopefully elaborate on our team experience as we progress. We have not yet written a line of production code but we have already found XP useful as a model for thinking about how to set up a completely new company and begin product planning from a clean sheet. Much of the reason for starting this new company came from our frustration with how poorly technology companies in our experience delivered application capabilities that really worked for and satisfied their customers.

We Are Using XP For Rapid Return On Development Investment. XP guides you to do only those things that add value. Encourages participants to constantly ask "Is this the best use of our time?"

Customer constantly makes business priority decisions such as:

Developers constantly make technical priority decisions such as: We are using XP Because It Is Risk Averse by setting a development pace with a consistent rhythm. XP provides self correcting checks and balances by using small steps with constant feedback at all levels.

We are using XP Because It Results In "Healthy Code" that is: High Quality, Readable, Adaptable, Maintainable.

I Like XP Because, XP stimulates learning and I like to feel smart more often than I feel dumb.


August 14, 2000 - Progress Report

We have just completed our first iteration towards a production release. Everyone on our team is pumped about the early successes we are having. I think our biggest lesson has been test first and how much more rewarding each day of development becomes when we have confidence in the quality of our code.

Notable accomplishments:

Milestones / Major Events:

Moved into and setup in a great 1500 sq ft office space. The main feature is a large 20' x 30' room we use as an XP development lab. It has windows on one side overlooking the woods and a covered balcony (great for breaks and brainstorming). White boards, and bulletin boards now cover all of the other walls. We currently have two XP pair workstations sitting back to back on two 5 ft wide tables.

Reached critical mass for our XP team. We have four developers and one dedicated onsite customer. Four developers is good. Three 3 was awkward for pairing.

Our timetable for getting started with ExtremeProgramming:

Release and Iteration Time Periods: Note that 2 months is closer to 9 weeks than the 8 consumed by the iterations. The "extra" week is dedicated to a Release Planning Game.

What to use for default velocities when you have no history: ReleaseVelocity? - Story estimates stated in days

Iteration Velocity - Task estimates stated in hours


June 14, 2000 - Progress So Far

Recruited Initial Team

This activity really made us think about the minimum requirements for an XP project team. What we learned is that XP requires more than many typical projects start with. Often a typical project gets started with one developer and maybe someone part time to supply requirements, this is usually accompanied by promises to add more resources as the project progresses. We also made the decision to hire a Product Manager to act as the OnsiteCustomer from the beginning. Our initial gut reaction was to spend the money on an extra developer and let our CTO guide specifications. When we discussed this, we decided it would be a false economy, because our CTO has other responsibilities, such as business development activities, and couldn't guarantee that he would always be available to address developer questions as they came up.

Our minimum XP team has 3 full time people, 1 product manager and 2 developers, one of which is also acting as TheCoach. We think this is enough to start, but not enough to sustain an XP project. We would like to grow the team to 3 to 4 developers soon, so that we have more possible PairProgramming combinations to keep us fresh.

Selected Office Space

Our primary consideration was space to create an appropriate environment for XP was our primary consideration. We also wanted a location that was central to the greater Seattle area, with easy access near the intersection of I-90 and I-405.

Our office is 1200 sq ft for a planned XP team size of 6 to 7 people, including TheCoach and OnsiteCustomer. We think the space we found is nearly a perfect layout, it has a large room 20' x 30' with windows on one side overlooking the woods and a covered balcony (great for breaks and brainstorming). All other walls are begging to be covered by white boards. There is also another fairly large 15' x 20' space we may use as a conference room, or to setup personal spaces for developers. In addition there are two private offices so that our CEO and CTO can conduct business without disturbing the development team.

We hope to move into this office in a week or two.

Next we will buy computers and setup our development environment.


"Please come to Boston in the springtime..." Seriously, XP and Java, it sounds like the job I can't find. --JavaSchrod


You should relocate to Chicago because my wife certainly isn't going to be relocating to Seattle in the next 5 years.


EditText of this page (last edited December 19, 2003) or FindPage with title or text search