Custom GIS Application Development
Laurel Hill GIS has extensive experience in Custom GIS Application Development. Using Agile Practices we collaborate with our customers to deliver stable, responsive applications that utilize ArcGIS technologies. Not only do we apply the Agile Practices to our custom development projects, but internally our GeoData Product Line is developed following the same Agile Practices that we push to the client, making sure we practice what we preach.
Agile Practices: Helping to Reduce Slipped Deadlines and Buggy Software
Laurel Hill has adopted Agile Practices to better adapt to our customer’s needs and remove the communication gap that so often causes software projects to fail. Agile Practices such as Scrum emphasize continuous collaboration and feedback, both internally and externally to improve the quality and value of software as well as to provide continuous improvement of the development process itself.
At the planning level, Laurel Hill's projects are planned and implemented using the Scrum Methodology and developers incorporate Agile Coding Practices such as Test Driven Development (TDD), Domain Driven Development (DDD), Continuous Integration, and Design Patterns to deliver applications with fewer bugs, usable interfaces, and decoupled code.
Scrum: An agile software development framework
Scrum allows customers to see into the project and voice any concerns or changes throughout the development lifecycle. The Development Team collaborates with the Customer Team creating a backlog of user stories (customer requirements) which define the customer's needs of the application. The backlog is then prioritized by the Customer Team so that the features that are developed first are of the highest value to the customer and implemented in iterations called sprints.
Each sprint (2-4 weeks) contains customer prioritized backlog items that can be completed within the sprint. At the end of each sprint a Sprint Review will will be conducted, where the completed backlog items will be demonstrated to the Customer Team allowing the customer to accept as well as communicate to the development team any need for change. At the end of each sprint, there should be working code, allowing the customers to continually see their needs being met as well as voice concerns early on.
The cycle will then continue starting with a Sprint Planning meeting to prioritize the backlog and plan the next Sprint until the application is completed.
Success: Collaboration and Transparency
Early customer feedback is the key to success in application development. By allowing the customer to continually prioritize the backlog and demo working code throughout the lifecycle of the application, we create a transparency into the project that allows customers and developers to understand and deliver a more stable and responsive application.
Laurel Hill has Certified Scrum Masters on staff to help facilitate the Scrum Process. See http://www.scrumalliance.org/ for more details on Scrum.
Technologies and Expertise