June 3, 2010
Bespoke Application Development
Software development has come a long way since it’s inception. Web development is evolving with the introduction of new technology , languages , frameworks and usability advances. Speed – which was a decade ago considered to be a major bottleneck in the web development arena is now no longer a hindrance. Web technology is a fast moving train that every developer around the world is trying to hop onto. Bespoke Application development needs a more focussed approach on requirements management.
Open Source Development has added a new flavor to the entire Software Development Industry – and developers like us are reaping the benefits motivating us to give back more to the community.
Customers are no longer naïve and have a very fair understanding of what they want. With so many new web sites / web applications sprawling – they have many options to select from.
Let us walk down some steps that we would like to share – to provide an overview of how we handle bespoke application development at Siddhatech. . Please note here we are talking only about fixed cost projects. Time and material projects are relatively simple to handle as long as the promised deliverables are made on time.
- The prospect sends us a request – generally through mail – which our lead sales manager responds to immediately.
- Ideally receiving a systematic RFP is a treat – but that rarely happens – so let us focus on a statement sent through email.
- Our sales team, which has strong technical background, is apt to deal with the prospect. The team discusses the issues with the prospect and moves the requirements internally – to find a team that had worked on similar products / or development platform earlier.
- If the requirement is huge and the specifications are not clear we try to convince the prospect that investing time in building the concept will play a very crucial role in the success of the development.
- Our Concept Interface developers start working on the mockups and keep the line of communication open with the prospect at this stage. It is important to get paid for the concept development as well.
- Once the specifications are clear – cost is decided based on the urgency of the requirement and on the availability of readymade modules from our databank (At Siddhatech we have developed a databank of ready to use modules that are constantly required across different projects – like left panel tree controls , breadcrumb module , photo album module , plugin for forum).
- If the prospect is convinced with the cost and the delivery schedule we move ahead.
- Next important stage is getting the User Interface according to the latest web standards and the client’s demands working well.
- Database designing is the backbone of the application development – if the database is structured and normalized half the battle is won. User interface changes with time and should change – but incorrectly designed database is a nightmare for developers to work on.
- Code and project structure is formed based on the decision of the framework to use for the application development. At Siddhatech we use – SYMFONY , Zend, CakePHP , CodeIgniter , Smarty for PHP , DJango for Python and .NET for C# / ASPX.NET based applications.
We prefer to use SVN / TRAC for code and issue management – recently we have started using BaseCamp as many of our clients found the usability of the product great !
- Development is completed and released in phased manner to the client as it is important to keep releasing the development in phases – change requests can creep in –and they have to be kept to a minimum to ensure that the overall goal / target date is not affected due to the change requests.
- Integration and load testing form a major part of the process – along with the usability testing. Our concept developers are involved with the QA team when the overall development phase reaches the alpha stage. The involvement of the Concept Developers helps fine tune the application usability – which developers “always” miss ☺
- Beta release is made after all the internal issues and bug fixing is complete.