Do Agile Development Teams Need Software Architects?

Agile allows us to commit at the last responsible moment, delivering value early and have self-organised teams.

So why have a role in a team which forces you to do upfront design on a system, when we don’t know all the requirements yet, let alone how we’re going to meet the requirements?

Continue reading →

Don’t Devalue The Learning Process

I first heard the phrase “Don’t devalue the learning process” on a podcast of either Hanselminutes, This Developer’s Life or .Net Rocks. The talk revolved around the way, in this industry, when we struggle to resolve issues, we battle through, attempt new things and then when we find the solution go “Oh, it was that. Of course. Right what’s next?” The two feelings don’t balance out each other; the effort we put in to resolving the issue isn’t matched with the equivalent feeling when we find the solution.

Jumping for Joy

Jumping for Joy

Continue reading →

Delegates

TAKEN FROM C# In Depth Third Edition 

A delegate in C# acts like your will does in the real world – it allow you to specify a sequence of actions to be executed at the appropriate time.

In order for a delegate to do anything, four things need to happen:

  • The delegate type needs to be declared
  • The code to be executed must be contained in a method
  • A Delegate instance must be created
  • The delegate instance must be invoked

Continue reading →

Software Development is THE Hardest Thing to Explain

Explaining what you do to none software literal people is the hardest thing to do. Now that’s quite a bold statement as everything can be simplified into some simpler form; we connect this box to this box, we pass this bit of information to that place.

camera

However, it starts to become more complex when the person you’re talking to has a bit more of an understanding of the subject matter. Continue reading →