Friday, 26 October 2012
Apps in the Enterprise
Labels:
Enterprise Architecture
People are getting used to the app concept, we see as well in Gartner's top 10 strategic technologies for 2013. It started in the mobile area with apps for handheld and tablet devices and later on it appeared on the Mac computers in the form of the Mac App Store.
The consumerisation trend continues to move as Microsoft brings apps to windows via its Windows Store. This brings me to the question how apps will behave in the Enterprise, an area dominated by the Windows OS.
Sunday, 26 August 2012
Mirakel, a simple Orchard site
Labels:
Orchard,
Web Design
Mirakel, the site for my wife's new venture is up and running, since a couple of days now and I'm happy with the results :)
The site is based on Orchard CMS which is an ASP.Net MVC based web content management system.
Orchard is a very active open source project led by these guys with plenty of support on their codeplex forum next to their good documentation.
Friday, 24 August 2012
Tools for agile software development
Labels:
Agile,
Lean,
Web Design
I'm involved in a couple of projects at the moment, one of those is the website of my wife Ira, who's starting up her own business Mirakel where she's organising workshops for kids.
I'm always looking for ways to make work more simple and more accessible whilst keeping costs at a minimum. I know there are a lot of tools out there, but I thought I'd write up my list of tools - Trello, Google docs and Balsamiq - which work perfectly together and costs are minimal.
Friday, 29 June 2012
Business habits
Earlier today I received an image from a potential new colleague and the image was so good I had to re post it here so I'd never forget.
I'm dipping my toes into the domain of business process improvement and I'll be using this image for sure. The good thing about this image is that it is so recognizable and therefore the story and image here is good. I bet most people will think at the end, "yep, we're guilty too". Nothing bad about it, but you recognize it is time to improve.
Monday, 4 June 2012
Score your applications
Labels:
Architecture,
Enterprise Architecture
One of the tasks in an Enterprise Application exercise is to get an overview of all applications in the IT landscape. Every application can be described with some basic details like name, description, purpose, product owner, technical contact, nr. of users, vendor, etc.
Next to these basic details we can gather some indicators like:
- Application Health: Indicates if the application has a good architecture, well known, good documentation, is well under control in it's development life cycle
- User efficiency: How good is the application in supporting the users with their tasks (processes) at hand.
Knowing what the good applications are or knowing when the phase out applications is important to keep your IT landscape free of weed. Note that it is never a goal on its own to change the IT landscape, however, when business initiatives arrive you need to know the situation of the application layer.
1. Application health indicator
The application health is not one particular aspect but rather a combination of different factors.
Originally I started out with a few factors like Technical complexity, knowledge, etc. I figured this is something more people should have done before me, so I came to a number of approaches.
I believe there are 2 major factors:
- Application design
- Development readiness
1.1 Application design
How good is the design of an application? This is something the industry has focussed on before and we recognize the following design factors:
- Rigidity: Rigidity is the tendency for software to be difficult to change, even in simple ways. A design is rigid if a single change causes a cascade of subsequent changes in dependent modules. The more modules that must be changed, the more rigid the design.
- Fragility: Fragility is the tendency of a program to break in many places when a single change is made.
- Immobility: A design is immobile when it contains parts that could be useful in other systems, but the effort and risk involved with separating those parts from the original system are too great.
- Viscosity: a viscous project is one in which the design of the software is difficult to preserve. We want to create systems and project environments that make it easy to preserve and improve the design.
- Needless complexity:A design smells of needless complexity when it contains elements that aren't currently useful.
- Needless repetition: Cut and paste may be useful text-editing operations, but they can be disastrous code-editing operations. (DRY)
- Opacity: Opacity is the tendency of a module to be difficult to understand.
1.2 Development readiness
This factor indicates how easy (or hard) it is to pick up or continue development.We can divide this into a number of sub factors like:
- Knowledge: How much knowledge do we have readily available? Both in terms of documentation as in the head of people.
- Resource Readiness: How fast/smooth do we get a development team up and running with the proper development tools, (source code) artefacts, etc.
2. User efficiency indicator
We can use the following four factors to determine this indicator:
- Conceptual Complexity: How complex are the application concepts
- Knowledge: How much knowledge of the application do we have readily available
- User friendliness: How easy is it to use the application
- Learning curve: How long does it take to get people working well with the application
Note that it is somewhat odd to say how efficient an application is, usually one would say "for what purpose?". Applications can do different things for different people who are doing different processes. However, imho, it is possible to take a distance from the people and processes and asses these factors based on a high level point of view.
3. Scoring
How does one score these indicators? It depends if you have an established Enterprise Architecture body in your organisation or not. Suppose you are at the start of an ambitious project and you want to assess the application landscape in a pragmatic manner. In that case I would use a relative scoring mechanism where every application gets a score relative from each other.
For example; take one of the factors mentioned above and lay it down on the table. Gather the people who know about that subject ("subject matter experts" in an expensive word). Create 6 boxes or places on the table and ask the people to take every application and place them in one of these boxes where 6 is a good score and 1 is a really bad score. You'll see that people switch an application now and then when they proceed the list, that's what makes it a relative score.
Is this a correct scoring mechanism? Well yes if it is within the boundaries of that company. It tells you that application x score's better on fragility than application.
As far as I know there's no industry reference so, outside the company borders the scoring would be incorrect.
Thursday, 22 March 2012
Under the Hood of .NET Memory Management
Labels:
book,
development,
review

My rating: 3 of 5 stars
I like the writers and how the cleary explain the more complex topics. However the book is sometimes poorly edited; there are for example pages of intro jammed in the index. In section 2, you also read similar parts as in section 1 although from a slight different angle (my guess is that it is written by the other author there).
Still, considering the first edition, I like the book and it brings clarity which very few people have done before.
Thursday, 8 March 2012
HTML Kickstart Orchard Theme
Labels:
Orchard,
Web Design
The HTML kickstart files and structure are almost intact, the only changes I structurally made are renaming of the folders "css" and "js" to "Style" and "Script" respectively. Orchard "knows" by default the later folders hence the correction.
Template wise there's the additional View folder containing the different views for the page, header, footer etc.
Site wireframe
I stayed with the same structure as the example theme "TheThemeMachine" from Orchard so you get the wireframe as shown here.
This wireframe contains a column based design for the Aside bars and the Triple and Quad sections below. These columns are based on the HML Kickstart grid system. I needed to add some calculation logic as these columns are not always used and therefore the space has to be released.
For example, if no content is provided in the TripleThird zone, then we don't need to render this zone. However, in that case, we'll divide the space not by three using "col_4" classes but rather by two using "col_6" classes.
Kickstart Features
The kickstart framework has a lot of features like tab page and slideshow components. The easiest way for a admin/designer of the Orchard CMS is to get a nice module and UI where files can be selected for the slideshow for example. I haven't done this yet, but that would be an area to make it more user friendly.
Note that you can use all features of HTML Kickstart, you just have to work a bit more in HTML and CSS coding than a nice UI that hides that.
Credits
Just want to mention that credits goes to the open source Orchard CMS team and Joshua Gatcke. My contribution was just to the mash them up :)
Subscribe to:
Posts (Atom)