We use the regular Scrum
framework as described in the attachment below. The experiences learnt at bbv Software Services are the cornerstone to our agile Scrum services
Our teams have different projects, different timelines and different project sizes. We are identifying best practices for various configurations
- Big teams and projects -> Scrum of Scrums
- Teams up to 10 persons -> regular Scrum
- Small team and short timelines -> Lean Scrum and eXtreme Programming. These projects generate most of the discussion currently. Often people doubt that Scrum and XP principles are applicable
- See experience blog for a similar discussion
Java Open Source Tool Chain
The chain tool is used for software development of small to medium projects. By medium projects we means up to hundred software developers.
- Agilefant as Scrum tool - backlog, milestones and sprints planning and tracking - running under Tomcat
- Java 6 as JDK under Windows 7, OSX, and Linux Ubuntu
- JUnit and Mockito to support test driven development TDD. We moved from JMock to Mockito in the last years.
- easyb to support behavior driven development.
- Sun and Eclipse coding guidelines
- Maven as a build and project documentation system. OSX already has maven installed. To update the version of Maven you do
- Download Maven from Apache
- Copy the files onto the expected directory with the command
sudo mv ./maven /usr/share/maven
- OSX has already links from
- Jenkins has a continuous integration server running under Tomcat
- Install war file in tomcat application directory
- Activate plugin for Subversion, Mantis, Java-NCSS, Cobertura, PMD, Checkstyle, dependency, FindBugs using the administration tab
- Eclipse as development environment for all Java development
- Subversion Subeclipse plugin for source code management
- Mylyn plugin for task management with the Mantis connector
- PMD plugin for static code analysis
- Checkstyle plugin for static code analysis
- FindBugs plugin for static code analysis
- Mantis as issue tracker
- Subversion as source code management
- Subversion Apache module are used to create a scalable environment with authentication and authorization
- Tomcat and Geronimo as Java EE environment
We are using following environment for software projects
- Derby as embedded database, for complex application MySql and Oracle databases are used
- SquirelSQL as database management and editor tool
- Guice as dependency injection IoC library
- Event Bus for multicore client application
- Meta widget for simple management user interface
- JGoodies for layout and usability of Swing applications
- Jasper Reports for reporting activities
- JFree charts for charting activities
- Beanshell for scripting activities
- Apache commons libraries for support activities
- JDOM and Xstream for XML activities
- Quartz for scheduling activities
- POI to manipulate Microsoft Office or Open Office documents
- We changed the CI server from Hudson to Jenkins upon the split of these projects due to Oracle.
- We changed the TDD mocking library from JMock to Mockito upon input of the bbv Software Service Java Group.
- We added easyb as ATTD library upon input of TDD/ATDD experts at wakaleo.
Microsoft .NET Tool Chain
Please consult the home page of bbv Software Services
and the blogs of Urs Enzler and Daniel Marbach.