In this short presentation, Gerard Beckerleg – SSW Solution Architect – shows us how we can use Agile to more effectively develop our mobile applications.

This presentation was part of the Sydney Xamarin Hack Day line-up. Head over to the Xamarin Hack Day website to apply to attend (or even run your own hack day!)

Let us know how you feel, take the poll!

Do you like Xamarin?

Video Transcription

Gerard Beckerleg: Okay, morning guys. I’m going to be very quick because I don’t want to take up too much of your time talking about Agile. A little bit about me, so my name is Gerard Beckerleg, solution architect at SSW, but the thing that’s probably important that I want to get across to you here is that I’m a mentor at the FireBootCamp, okay? And FireBootCamp is something that we’re really proud of at SSW. This is a nine-week intensive .Net training program where you get to build a real-world product over nine weeks and you’re using all the latest technologies, and also wrapped up in using an Agile process. So you get to learn about Agile, you get to learn about building products, and you get to learn using the latest .Net technologies from all the lessons that we’ve learned over the years.

So this is really good for people who are just out of university and want to get that step up, because I know when you go to interviews people are telling you you don’t have any experience. So you can say, “Okay, I’ve got nine weeks experience building a product.” And alternatively, the other types of people that we get on here are normally contractors who, their skill sets have become a bit outdated and they want to just refresh and learn some new things in a really short space of time. So I wanted to highlight that to you.

So one of the things that we do in BootCamp is we teach Agile. So I thought, okay, maybe what I can do today is I can give you a really brief, take out the best parts of the Agile, give them to you. Because pretty soon, in maybe a couple of hours, you’re going to join your own teams and maybe you can put some of these hacks into your projects that you’re going to join. So my challenge then is for you guys to listen to these lightweight processes, I’m just going to bring up four of them.

Join a team. So at the end of the day, in a couple of hours, there’s going to be a couple of teams for you to choose from, join a team. And then if you can, try and apply one, a few, or all of these hacks to the team that you’re joining and then see what happens. So we’re just going to cover four. Okay, so the first one, begin with the end in mind. So I see a lot of teams that they start off without setting a clear goal of where they want to go. And then without having a clear goal you then drift off into one guy does this, one guy does this, and then you’re all going off in your own different directions.

So what I want you to do is when you start your team, make sure you set your goal really clear. So a really good way that I find to do this is you’ve probably all seen these product landing pages when you go out on the internet. And you’ve probably all used a Twitter bootstrap and it gives you a landing page similar to this. And these are a really good way for you to think about your project. And the one that I’ve chosen here is HipChat. And the reason that these are good is that it highlights a good way to structure and to think about building products.

So what we have here a the top is we have your goal. In this situation it’s HipChat and their goal is to bring your team to life through group private chat file sharing. So they’ve constantly got that goal that they can refer to when they’re building their product. They also have their “Epics,” so these are the big, high-level features that help them achieve the goal, okay? And then inside the Epics they then have their features.

So it’s really interesting to think about a product in this way. And sometimes, obviously you’re not going to have time today, but in real life to create a product page like this so you can think about where you’re going and you can think about what you’re building and then you can constantly refer back to this and make sure you’re going on the right path. So hack number one, set a goal, break the goal down into Epics, and then break the Epics into Features. And then you’re just going to call this your Backlog.

Okay, so the next hack, time-boxing. So it’s very easy, especially on a day like today where we’ve not got much time, it’s very easy for people to go off in all different directions and to lose track of time. And before you know it, you’ve got to the end of the day and you’ve not really achieved anything and the team’s all going in one direction. So if we can have one goal, then the next hack for you is to then work out how much time you have and split your time into small, little boxes, okay? That way then it will raise your awareness of time and allow you to work in smaller chunks rather than one big chunk, okay?

So the next hack, it’s very slow, this, to respond, work out how much time you have available, dead easy, divide this into time-boxes and then call these your sprints. Okay, next one, “In preparing for battle I have always found that plans are useless, but planning is indispensable.” So this is a really interesting point because normally when people start Agile they want to get going as soon as possible and they think if we do Agile it means that we don’t have to think about the planning stage. And it’s true that the plans are useless but the actual creating of the plan is a really beneficial process.

So when you sit down and you think, “Okay, what do I have to do first? Then what do I have to do? Then what do I have to do?” That actual process of thinking about what you’re going to do before you actually set out and build it is really, really valuable. The idea for this also comes from financial planning and stuff like this. So financial people will make forecasts. And these forecasts are relatively useless because who can predict the future of the economy? And if you could predict the future of the economy you would be a multimillionaire, if everybody could do it. So the actual process of trying to forecast is as useful as the actual forecasts themselves.

So hack three, set a small goal that will move you towards your main goal. Make a plan to achieve this goal in a sprint using some items from your Backlog. So take a few items from your Backlog, make a plan about how that’s going to move you towards your main goal, and then we can just call this list your sprint backlog. Easy. Okay, so here’s the hard part, executing the plan. But this is the easy thing, so just hack away.

Take your time-box, create your plan, have a few items in your plan, then hack away. When your timer finishes, you stop. So set a timer, execute your plan, and stop when it finishes. Okay, so “No battle plan survives contact with the enemy.” It’s a very famous phrase. So we spend this time to create this plan, then we execute the plan and we realize that nothing went to plan. We couldn’t install Xamarin or this widget didn’t work the way that we wanted it to. So this is the important part then, is that we then re-evaluate what we did and then make an effort to change the next time-box according to what we’ve learned from the previous time-box.

So hack number four, inspect and adapt. So work out what went well the time before, keep doing more of that. Work out what you can improve on the next sprint. And then just rinse and repeat that process. So I was going to say, a really lightweight process. Basically what you’ve done there is the basic core of scrum in a very, very small way, okay? And I think that this will help you as self-organizing teams because it’s a very lightweight process that I’ve given you that you can apply to a group of individuals to help you meet your goal, and then allow you to adapt to meet that goal.

So obviously this is a small version of scrum. At SSW we’ve been doing scrum since its inception and we’ve got lots of experience in it. We also do a lot of training with scrum. We’ve got the posters available over there or you can get the posters online. If you text this number I think, yeah, so if you want these slides and you want the poster and some information about FireBootCamp you can just text this number. It will send you back a link that you can then just download. I think it’s on one drive. So you can download it when you get home, okay?

About the speakers

Mr Agile

Scrum guru Gerard Beckerleg has been a Solution Architect at SSW in Sydney since 2011.

He also lists Scrum and agile practices as a passion. Using these skills and frameworks, Gerard has brought to life a raft of successful projects, such as Toll, Sydney Airports, McDonalds, Event Cinemas, and National Australia Day Council.

An established and confident speaker and trainer, Gerard has delivered numerous courses including SharePoint 2010 and .NET MVC at the University of Technology in Sydney, and is also a regular speaker at the Sydney and Canberra .NET User Groups.

Academy

optinmonster

Related Videos

Journey to DevSecOps! | Danijel Malik

“Hey Dev, stop for a Sec… it’s not all about Ops!” Admit it! Ever since you adopted DevOps, things are spinning way faster than you thought they would. Tools are taking care of the CI/CD process, an APM platform gives you insights into issues in production, and you are fully focused on your code. Having…

Facebook and Cambridge Analytica – Adam Cogan’s Analysis

Quick analysis of the Cambridge Analytica scandal currently facing Facebook.

Office 2019 will only work on Windows 10 + what’s the difference between an MSI and Click To Run? | Adam Cogan

Office 2019 will only work on Windows 10. We also cover Windows installer technologies; what’s the difference between an MSI and Click To Run?

I have a container… now what? | Thiago Passos

This is not the same container 101 talk you’ve seen a dozen times. The point of this talk is how to ship a container to production, once you’ve built it. We’ll containerize a .net core app, debug locally, set up continuous deployment, set up a container cluster and deploy to it.

Dynamics 365 for the .NET dev – Andrew Campey

When it comes to developing a website, you don’t use pure HTML and JavaScript – you find frameworks to help. So why should your client CRM/ERP be any different? In this talk, Andrew explains what exactly is Dynamics 365 and how we got here. Then we explore how your existing .NET and JavaScript skills can…

SSW’s Awesome Summer Retreat – Brisbane 2018

Every year, each SSW office gets together to share fun, laughter and discuss their best work moments of last year. It’s a great time to share ideas and connect with all the families, that support us behind the scenes and help us be so awesome.

Windows Server Containers: What you need to know | Jeremy Cade at DDD Brisbane 2015

SSW TV was proud to sponsor this years’ DDD event in Brisbane. In this session Jeremy Cade walks us through Windows Server Containers what you need to know as an ASP.NET Developer. From the description: The game has changed: Containers, once the the sole dominion of Linux have made their way into the Microsoft stack.…

Deploying ASP.NET Core Applications | Danijel Malik at DDD Sydney 2016

ASP.NET Core is a whole new world for ASP.NET developers because it opens the door to cross-platform development. However, it comes with a hefty price. Not only does it takes some time before you get your head around it, even deployment is now quite different. So how can you bring ASP.NET Core application and DevOps…

How to set up Visual Studio 2015 to work with Angular2 | Duncan Hunter

In this video, learn how to: Set up Typescript for Visual Studio in Angular2 Override Visual Studio’s inbuilt Node and Gulp versions to use your project or global versions How to launch Angular 2 on a blank default ASP.NET Core application How to set up ASP.NET Core to use index,html and static files

Identity Server 4 with Angular 2 and ASP.NET Core | Ben Cull at DDD Brisbane 2016