This post originated from an RSS feed registered with Agile Buzz
by Jared Richardson.
Original Post: Developing Software: The Eclipse Way
Feed Title: Jared's Weblog
Feed URL: http://www.jaredrichardson.net/blog/index.rss
Feed Description: Jared's weblog.
The web site was created after the launch of the book "Ship It!" and discusses issues from Continuous Integration to web hosting providers.
I saw a great post on Ed Burnette's ZD Net blog about developing
software The Eclipse Way. It had some great quotes and the ideas can be applied nearly anywhere. It's not Eclipse specific
by any means. It's about developing good software.
Some of the good quotes:
Project health is stronger than saying "quality". It's the state
of a
project over time, not just at a point in time. Staying healthy is a
team
responsibility. No single individual can make a project healthy by
himself or
herself.
One health indicator is how quickly the community adopts
milestones. This
means the community can give very up to date information, plus it means
the
community feels it's stable enough to use. A healthy milestone is
consumable.
What does healthy collaboration look like? Good collaboration
doesn't
guarantee a project's success but poor collaboration almost always
guarantees a
project's failure. Each team is different but all the teams have to
agree on
some basic process elements (milestones, bug tracking, continuous
integration).
All teams (within Platform at least) share the same milestones.
More on UI health: slickness matters. Consider what is possible,
and make
it real. Finally, you can achieve a lot of stuff in the "spit and
polish" time
during the last 2-3 weeks.
Have your infrastructure in place early (SCM, collaboration, build, etc.). Realize your early milestones help you calibrate and establish expectations for later milestones. Build what you're shipping right off the bat, and do early coverage of as many parts as possible. Some early work will be discarded, and some deliverables will take longer. But keep the rhythm by breaking deliverables up into milestone-sized chunks.
The primary focus for making "The Eclipse Way" better has been improving the existing tools (individual productivity). For example, developers noticed that plug-in development was a challenge, so over time they've made ongoing improvements for finding API violations, etc.. It's important to both build your own tools and consume them. Then upgrade from individual productivity to team productivity. Empower the team, and tool the process. Make transparent what's going on in a team: how do you integrate things? how healthy is the project?