Skip to main content

Posts

Showing posts with the label software design

Monitoring (Part 1): Whatchoolookinat?

Continuing my "Business Agility" series (I promise to explain what I mean by this!) I wanted to talk about another area of software that is often over looked and lacking information...application performance monitoring. To start with why is performance monitoring important and what has it got to do with "business agility"? As with my previous post on debugging it is the lack of information that directly impacts the ability of the business to improve its software. The lack of performance information is a blind spot as to what is actually happening operationally with your software. Ignorance of a problem doesn’t always equal bliss! In my experience much business software is written without regard for performance. However this is not the sin - the sin in my eyes is that the ability to measure performance is often not thought about at all and if performance does become an issue then it is often too late to put in place a good, consistent monitoring framework. Performan...

Debugging: Through the looking glass

Update 10-Jan-2008: I have added a link to a full trace log to one of our service calls to demonstrate the type and quality of information you should be logging... One of the biggest areas for improvement in software development is debugging - or put another way, reducing the time to understand and fix bugs - lets call this Time To Fix (TTF). Reducing TTF has some benefits directly related to "Business Agility"- more bugs can be tackled and fixed in a given period or a set threshold (severity) of bugs can be fixed in a shorter time. Rather nicely the means to improve TTF actually reduces the number of bugs being produced over time - we'll cover how this works later on. Objective Drawing on my "Business Agility through Component Software" concept and from hands on development these past ~three years I have experienced first hand how inefficient bug fixing can be and how enormous time savings can be made with a better approach to designing and implementing your s...

Act 1; Scene 1

As previously mentioned I want to write about my "Business Agility through Component Software" concept. This encompasses several aspects of software design and crucially includes operational considerations. I'll be writing a series of posts covering all of this...however in true "reuse" style I want to provide a common "set the scene" post to explain the work I have been doing and give context and background to the actual post that will reference it. I work for a Digital Media "supply chain" company. We ingest (take delivery) of media files (WMA,WMV, metadata & images) and perform a number of processing steps on them before eventual delivery to a consumer via a digital retail front end (website, WMP Online Store, gadget etc). This past twelve months I've been involved in re-developing the delivery services on our core retailer platform. These services are used to... Deliver a media file (WMA, WMV) to a PC/Client Generate Windows Media...

Service.Resume();

Hello everyone...er...anyone?! I'm dusting off the blog at last - and shocked to see my the last time I published was 6th Dec 2006.....oh gosh....oppps! I've been very busy working on rewriting the entire set of services for our Media delivery and licensing platform and integrating them with several large projects. I've finally surfaced from this and want to start sharing my knowledge and experience of the past year working on things such as.... Windows Media licensing (subscriptions, full licenses, revocation, generation) Type 1 Windows Media Player Online (Active) Stores ASP.NET as a service platform (http modules) Software design (Inversion of control, Dependency Injection, Spring.Net, Behaviour Driven Design) Business agility through software component design The future of Digital Media and general thoughts on where its all going and where technology fits in with it. I've started the ball rolling by updating my most popular blog post ( .Net custom configuration ) to...