Day 1: Getting Started

The project started with a meeting between our project manager and the customer requiring the software.

They have arranged a meeting whereby they introduce their company and their specific needs. It is explained that they are filthy rich and have decided to reinvent the wheel again and wish to have their own custom bespoke defect tracking tool as they just simply haven’t been able to get to grips with the current products that exist out there…

So the first requirement we have from our customer is very general. We know that we will be developing a web-based defect tracking tool.

Our project manager slash requirements gathering expert (depending on the hat he is wearing) communicates with us (during a tea break) and lets us know that the project is required to be web based. Other than that so far there is no specifics but he says that they couldn’t care less about how we develop it or what tools and technologies we use, that’s your job they say.

We have one developer (Shaun) assigned to this project so far. The rest are putting the finishing touches to another project. It is hoped to ramp up the personnel on this project soon when the requirements/specifications start coming in. Once Shaun the developer heard it was a web based project, he quickly sets about creating the infrastructure that will allow him and others to develop a web based application.

Meanwhile our project manager continues to talk with the customer and gather the requirements for the project.

Its easy for Shaun, he has worked on several web-based projects in the company now and had good knowlege of the setup and the technologies. He also knows work has been done documenting the development environment on the wiki, Shaun opens the wiki page and reads down the checklist of preferred technologies:

  1. Java 1.5.0_xxx (latest update)
  2. Eclipse IDE (Ganymede) JEE version
  3. Subversion SCM for source control
  4. Hudson for continuous integration
  5. ANT for build management
  6. Spring, SpringMVC, Spring webflow
  7. JSP, HTML, CSS, JavaScript, JSF etc
  8. JUnit, TestNG for test automation frameworks
  9. Selenium, WebDriver for web-based in-browser testing (typically end-to-end tests)
  10. Tomcat, JBoss, Glassfish for supported containers/Application servers
  11. PMD, CPD, FindBugs, Checkstyle etc to automate inspections
  12. Cobertura, Emma for Code coverage
  13. and the list goes on…

Shaun has an hour left at work so he quickly creates a spring project and adds the default WAR project structure. He adds an ANT build to the project with support for developing with tomcat container. He quickly adds some basic test dependencies and some files so he can do a quick manual test to verify the ANT build generates a WAR file and can deploy it to the configured location. It works first time but it was easy, he just replicated the way they have did it before. Happy that his build is working, Shaun checks in the code as a new project on Subversion. You can view the code at the following:

svn command line

svn checkout http://iidtrackingsuite.googlecode.com/svn/trunk/ iidtrackingsuite-read-only

svn url: http://iidtrackingsuite.googlecode.com/svn/trunk/

Or

Browse the code online at http://code.google.com/p/iidtrackingsuite/source/browse/

Leave a comment