Initial Consultations
At the onset of a new software development project it is essential for all parties involved to have a clear understanding of the exact business objectives that are going to be achieved with the project.
If your business and application needs are well-defined and well-scoped, I can provide you with a project cost estimate right away, either on a fixed price or time cost basis, whichever you prefer.
Alternatively I can work with you to develop a scope in which we define your business objectives and determine how I can deliver the most value within your budget constraints.
The final stage in the process is the delivery of a non-functional prototype application as a low cost, easy way to visualise the solution to be delivered.
Development Approach
I am familiar with a wide range of practices, methodologies and project management techniques used in software development.
When applying methodologies to software development I take a pragmatic approach i.e. I solve problems in a realistic way that suits the present conditions rather than obeying fixed theories, ideas or rules.
Applying the same approach to every project you come across can lead to architectural mistakes.
Inadequately designed architecture in software development almost inevitably leads to budget blowouts, buggy systems, delivery delays and lost business opportunities.
Conversely, going overboard with red tape, unnecessarily documenting architecture that is already well understood or developing unnecessary architecture can have the same consequences.
The approach I take is the one appropriate for the size and scope of the project.
Simplicity
Owning code is expensive!
Every line of code that is written is a line of code that needs to be maintained and retested every time your application is extended as your business needs evolve.
When developing new software it is important to correctly formulate and implement the minimum amount of architecture required to achieve your business objectives and for that architecture to be adaptable to the likely changes that will occur over time.
Object Oriented Design
Microsoft's .NET Framework is object oriented.
Using an object oriented design approach is the key to utilising this framework most effectively.
My experience with successfully delivering applications using object oriented frameworks predates the age of Microsoft.NET by many years.
Even before Microsoft.NET was released I was experienced with the techniques and tools that can help successfully deliver Microsoft.NET software solutions.
UML
When I make detailed application designs I use the industry standard notation - UML.
If you would like to know how UML is used at MBLM Software read here.
If you are interested in learning about UML read here.