Contact Me
Software Factories:
|
Guidance Automation - Frameworks and Patterns first
Wednesday, September 26, 2007, 08:15 AM Azure
I came across this old post on Tad Anderson's Real World Software Architecture blog that provides a perspective on Guidance Automation and its potential impact on architecture. I think it shares the same sentiment that I had in one of my earlier posts, in that Guidance Automation allows Architects and Developers to capture and share knowledge explicitly rather than implicitly. The implementation of a Guidance Package takes knowledge and makes it a reusable intellectual asset that is directly executable. Furthermore, a Guidance Package can encapsulate the architectural decisions that have been made, and enforce their consistent implementation throughout the entire project. Tad's post also talks about the cost of implementing Guidance Packages. They are after all, just pieces of software, and like other pieces of software, they need to go through a development lifecycle. That won't be cheap. Currently most Guidance Packages are bundled as part of a Software Factory, and Tad's post comments on their obvious suitability for software product lines. They will offer some value to developers working in the project space (especially when the GAT becomes more usable), however, the most value will be obtained when they're applied across the horizontal space - above all projects. To get there, organisations will need to focus more closely on frameworks and patterns.
[ add comment ] [ 0 trackbacks ] permalink
My first (ever) .NET User Group event
Thursday, September 20, 2007, 08:21 AM General
I am ashamed of myself. I have been working in IT for just over a decade at all levels of software development. I have been fortunate enough to be working with Microsoft .NET since the early betas, and I pride myself on my C++ heritage. However, in all this time working as a Developer, I have never once attended an event related to my profession. I hear great things about the events that Microsoft put on or host: TechEd, DDD and the like, and I hear about the many user-groups that are dotted around the country. Not once have I made the effort to attend. I rectified my shame last night by attending a meeting organised by a local .NET User Group (the .NET Developer Network in Bristol). I wasn't really sure what to expect, or how well it might be organised. At the very least, I thought, it would be somewhere where I could idle away some time after work, and get to see what I might be missing out on. Driving home after the evening however, I have to say that I was really impressed. It was clear that the organiser ( Guy Smith-Ferrier - you might have heard of him) has been doing this for quite a while. Richard Fennell (from Black Marble) provided most of the content for the evening by taking us through Team Foundation Server, TFS Power Toys, and giving some useful demos around most of the areas of TFS that Developers will encounter. It certainly wasn't a waste of time, and I think that I'll make the effort to attend more meetings in the future - I'm already signed up for the October meeting. Who knows... maybe you'll see me walking around DDD6 next. Maybe I'll see you there!
[ add comment ] [ 0 trackbacks ] permalink
Making implementation knowledge explicit through Guidance Automation
I came to the end of a twelve month contract with a client recently, and as part of the exit strategy I spent an absolute age performing the hand-over process, and documenting my knowledge of the solutions that I touched during my time with them. The client recently introduced an internal Wiki allowing all project stakeholders to be kept more easily informed, and also to contribute to the solution knowledge-pool. I have to say that this was an excellent idea. As part of my final weeks, I began writing some text on the Wiki that documented the processes that other developers could follow if they were required to make changes, or extend a particular piece of functionality within one of the solutions. It became clear to me that what I was ultimately documenting was a collection of recipes - something that other developers could follow if changes were to be made, or new functionality added. These recipes were documents that implicitly captured my knowledge of how to perform some technical implementation. Read More...
[ add comment ] [ 0 trackbacks ] permalink
Friday, August 3, 2007, 07:40 PM General
If you find youself with a few spare minutes, pop over to Agile Adverts for some agile based video entertainment. It's a competition hosted by Google, VersionOne and InfoQ, and all the entries can be found on YouTube. Here are a few of my favorites: "Being Agile is our favorite thing""Developer Abuse""I am agile"(agile vs. waterfall - played by two kids)"Feedback"(based on the recent Apple adverts) "The Sad Code Monkey"
[ add comment ] [ 0 trackbacks ] permalink
Agile development slashes time-to-market!
I came across this fairly short article on Computer Weekly earlier. It highlights an agile success story. Given the current hot-topic of off-shoring, there is an interesting quote in the article that will sit well with many home based IT people: "The idea that the way to maximise your development budget is to find the lowest-cost people you can is fundamentally flawed,...
...If you are able to reach out and attract the real experts in the software field and give them real freedom, and have given them projects that are challenging, you will get much more bang for your buck than if you offshore." When I finished reading the article I couldn't help wishing that all IT managers thought like that.
[ add comment ] [ 0 trackbacks ] permalink
What is an Implementation Pattern
When we think " design-pattern", we are typically referring to logical level design-patterns, such as those presented in the seminal books on design-patterns ([1], [2] for example). These logical-level patterns provide structural and behavioural solutions to common problems when developing object-oriented software. These patterns are considered logical because they are independent of the programming language - for example - you can apply the Composite or Decorator pattern in C++, C#, Java, Smalltalk, or any programming language that is object-oriented. An implementation-pattern (or an idiom), is simply a pattern that exists at the physical level. Typically they will be specific to a particular programming language and may well take advantage of a construct or concept specific to that programming language. There are many well documented implementation-patterns that are used in C# for example: How do you implement the IDisposable interface? How do you declare and fire an Event? Read More...
[ add comment ] [ 0 trackbacks ] permalink
Back
|
| « |
September 2007 |
» |
| Mon | Tue | Wed | Thu | Fri | Sat | Sun | | | | | | | 1 | 2 | | 3 | 4 | 5 | 6 | 7 | 8 | 9 | | 10 | 11 | 12 | 13 | 14 | 15 | 16 | | 17 | 18 | 19 | 20 | 21 | 22 | 23 | | 24 | 25 | 26 | 27 | 28 | 29 | 30 | | | | | | | | | 08/09/10 |
|