Tuesday, February 15, 2011

Difficulties

We have a demo coming up on Thursday for what we've spent the last 6+ weeks working on.

I hate doing demo's. The scope of what we are actually talking about isn't clear. But people (ie, my bosses) need to be impressed and not disappointed . Hmmm, ok.

This isn't a technical audience, although it is an IT audience. When i explain things as they actually are, what we are demoing is seen as overcomplicated. When we deliver estimates, we are told it's too long. When i simplify, it's seen as redundant.

Need to find a fine balance between telling people how complicated things are, but also explaining that what we are delivering is complicated because of the problems with previous systems. We can't ignore the past.

I'm not going to be building a system that will be worse than it's predecessor.

It's not helping that i'm taking the lead, therefore responsibility.

I can't win. Yet i keep battling.

I'm fighting against myself.

When i think about what would happen if this project doesn't go ahead, i don't feel good about the qualities that i'm trying to push into the company. If they can't see why, then I can't help.

Saturday, February 12, 2011

Scope

The scope of what we attempting is crazy. Once again i'm going to talk out my thought process to make sense of what's going on.

We are building our infrastructure for business process in our company.

I managed this week to deploy in about 2 hours a generic service for sending emails. this has always been a simple use case for SOA. 1 service on our network that has the single responsibility of sending emails.

done. for two years i've wanted to build it. only now with studying SOA, clean code and then the golden jewel of my professional life, NServiceBus. It's thing is amazing. Nothing else has come closer to demonstrating great code design. It's only now i've felt confident that committing to an architecture style of services is not going to dig a hole of maintainence and nightmare legacy. That's been my biggest fear of committing to technology. When i leave my employer i want positive things to be said about what i did in my time there. Not as the person that people curse when they go home at night because i've caused them pain.


in the midst of this leave request we've built two data views. leave requests that are mine and leave requests for my action. mine are ones that i started or were created for me, and forMyAction are ones that assigned to me || or are assigned to a role that i inherit.

we need to make these two views generic. view what is mine and what am i expected to be doing.

One place to go on the intranet to see these things. I don't want to give up and let the sharepoint system handle it. The coupling that we'd have to go through to get it in there is not something i EVER want to do. It goes against everything i've ever believed in.

The biggest problem for me is sharing hyperlinks between systems. if we have a generic system we need to keep the hyperlinks up to date.

therefore.... we have a service that is responsible for handling what the link for actions are.

I bought Rest In Practice a couple months back and in it they talk about HyperMedia formats. A JSON/XML representation of data, schema and behaviour. Therefore each time we send an object over the wire, we don't just send strings or dates or flags, we send over the applicable actions/commands that can be applied to the object via CommandNames and also hyperlinks to those actions.

Adding all the different types of behaviours into one large representation means A LOT of coupling and a lot of volatility. However as long as we keep the hyperlinks consistent in one system and design client systems to utilise them, all should be fine.

once these problems about responsibility are discussed, and attempts are made at to solve it, our interoperability abilities are increased 1000%.


Once we commit to making a system responsible for a part of the network then we mustn't duplicate that behaviour, anywhere, ever.


Saturday, February 5, 2011

What i've been up to


So the agile journey has taken a back step. Rather than saying this is what agile is, i'm hoping that some persistence over time and explanation that we are implementing these practices in the hope that we become agile.

How?

We are trying to change the way development is done at our company by taking on a highly visible internal service we provide, the forms system. !

Why are we doing this? Why not use something off the shelf? We currently have Adobe Forms. It's old. We just bought Sharepoint. No one internally knows how to use it.

My boss is giving me a very large amount of rope with this.

Our dev team that focuses on c#/.net/asp/mvc/wcf/nservicebus, our web team that focuses on our intranet & internet sites, internal styling discussions with our marketing team, our analysts who can focus on the busi;.ness requirements and then some other internal IT people doing some project management(upper management wrangling). Guess what that sounds like? It sounds like a great cross functional team.

By our powers combined..... :) Upper management has wanted us to all work on something together. This is our great chance to actually do it.

So how can we create a form system. next post.

Thanks Jeff.


I may try to publish my rants here more often. I'm doing so much internal discussion communication that i feel could help, not cause i'm awesome, but cause we've been running into problems that aren't well documented.

not that i'm the best writer/documenter. and that's exactly the point.

last week someone was asking me what i'm working on and was saying that communicating will be the most important part of what i'm doing. educating non-techies with some pretty complex ideas about architecture and development. these people think we are bullshitting them most of the time.

without explaining why, we aren't treating them very nicely. i don't like this.

Monday, September 27, 2010

holiday retrospective

:)

i'm on holidays. i feel guilty about it too.

i'm feeling guilty about not having any self improvement plans. i have things to do, but i'm at another crossroads.

i was feeling earlier today that i haven't changed for years... my boss resigned on the last day of my work pre-holidays.

that's prompting me to reflect a bit deeper on where WM is headed. as we've clashed on opinions in the past. not that i have any ill feelings against the person. he was an 'enterprise' thinking person. i look at myself and my team members as entrepreneurs. we do what it takes to get it done.

we can do a better job with less resources than spending $MM's on 'enterprise' solutions. i need to put together something like the 'open intranet'.. a very simple way of selling to SOAness of what we are actually trying to accomplish.

i think.. and believe... that we can get it done.

replace intranet
replace all the services
build our own CRM
build our own integration services.
build our own financial reporting system
build our own security management system.

we can do it in a way that is 'more' future proof that what is currently going on.

the idea that we can build something now and reuse it forever is a stretch in most cases. people point at our previous systems and say ' look at that, we can't reuse that'... exactly my point. when looking at the previous system and it's an access/VBA front end developed from 1998-2005, what do you expect?

when have webbys, dba's, c# devs, ops, ba's. we can do it. we already have dedicated people in ops doing 8 hours a day of user maintenance of 'enterprise' systems. bit of a joke to be honest.

i'm hoping that our big bosses give us the chance to pick our new boss. we can drive a better direction.


in particular the idea in the last couple of slides asking "Why they do Open Source Hardware"

We do open source hard ware...
... to join a community
... what we make will outlast us
... to become better engineers

You always get back more than you give.

Just beautiful...

we need to open the minds of upper management to show that we are capable are being in control of our technology pathways. we can't prove it with how much money you are going to save or give them a value on the cost. we just need to be trusted. at least give us a voice to be heard.

Sunday, May 30, 2010

Thankful For More Change - A 3 month retrospective.

My mouth causes a lot of problems, the filtering system doesn't work well between my brain. Thankfully lately everything that has been coming out has in some way been helpful to myself and others.

Thankfully what is coming out of me i'm confident in, in that i can achieve the vision i want. At the moment people are starting to see it, it's way too hard to have a 10 minute discussion about a topic that i've spent nearly two years studying (agile/scrum/lean/productivity) and for the other party to pick up all the backstory on my rantings.

Thankfully the little droppings i've been planting over the last year are sprouting in people's brains.

In conjuction with a 'task force' of one representative from each internal department we put together a paper to begin the discussion with managers about what is going on, and what we want to move us forward together. It was about 10 pages and 4000 words, thats the quick version. draft version was double that.

From that paper, we planted the seeds of Scrum. It was difficult from the beginning of the taskforce to not just say 'i have the solution already', we spent a whole lot of time talking about the problems we all had.. all the time thinking 'i know how to fix this'. The good thing was that my colleagues were already suggesting small artifacts of scrum, so when you present a paper like Sutherland's "The Scrum Guide" (find the link) people are already convinced to look further into it.

When meeting with our Group Manager, after he had read the whole paper, he picked out the idea of the standup and said 'Do That. Do that for a month'. I was shocked. I have spent months drilling this idea into him. Spent months drilling into him that we can only change when he throws the gauntlet down and challenges us all to improve. We need his backing and support. We need his authority to wake people up. We got it.

We presented it to the Department last Wednesday and I believe it was successful. People were asking the right questions. The expected people were raising the 'it won't work' flags.

It's going to be real challenge to get people to engage. I want people to work out how to fix their own problems, and then tell others what they did to do it.

SHARE YOUR KNOWLEDGE!

Thanks to Jason Yip of thoughtworks for providing his slides... especially the one entitled 'No Problems is a Problem'.


Saturday, February 13, 2010

Change For Myself Means Change for Others

What a wanky self indulgent title.....

I'm in the middle of another career-job-responsibility change and i'm not sure how i feel.

i'm excited, but also apprehensive. I want to be sure that the work i'm doing at the moment doesn't dig a bigger hole for my employer. I don't want my co-workers to blame me for stuffing up their jobs and therefore their lives.

i want to improve everything but i want others to tell me the right way to do it.

i mentioned to someone yesterday that my career path since 2003 from filing clerk to payroll to developer and now i'm architecting a 10 year plan for the whole company. It's crazy that in this organisation that it's possible, because you wouldn't get that impression from talking to anyone else.

The work i'm doing needs to be more than just my opinion, every time a developer comes in the door the standard of the day becomes whatever they want.

Everyone in the department needs to change their focus to at least include a 10,000 foot view of the world. We need to fix things for the future, not just for now. The big picture determines what services will be providing in the next couple years. If you don't speak up, some manager will decide. That doesn't work for me.


I'm spending so much time caring about what happens, that i need to stop now and actually get things working. More than proof of concept, proving that my collation of ideas, my filter, is correctly aligned with where we all need to go.

i disgust me, i hate my arrogance. i look down on others who talk/write like i do. this internal conflict is causing me some damage... if i think i sound arrogant what does that mean others think. it's all opposite. anytime i'm actually angry, people think i'm calm. any time i'm calm people think i'm angry. mental issues FTW!