software development in the real world · software development in the real world chris klug...

41
Software development in the real world Chris Klug [email protected] http://chris.59north.com

Upload: others

Post on 08-Jun-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Software development in the real world · Software development in the real world Chris Klug chris.klug@intergen.co.nz

Software development in the real world

Chris Klug [email protected] http://chris.59north.com

Page 2: Software development in the real world · Software development in the real world Chris Klug chris.klug@intergen.co.nz

- We need a new application...

Page 3: Software development in the real world · Software development in the real world Chris Klug chris.klug@intergen.co.nz

It needs to... ...run 24 / 7 / 365 unattended...

...look, as the client put it, sexy...

...run on some form of hardware with Microsoft OS...

...handle payments via an EFTPOS terminal...

...print tickets using a Boca ticket printer...

...be easy enough to be used by anyone...

Page 4: Software development in the real world · Software development in the real world Chris Klug chris.klug@intergen.co.nz

Would you say yes?

Page 5: Software development in the real world · Software development in the real world Chris Klug chris.klug@intergen.co.nz

...it has to be live in 3 weeks...

Page 6: Software development in the real world · Software development in the real world Chris Klug chris.klug@intergen.co.nz

Hi!

Page 7: Software development in the real world · Software development in the real world Chris Klug chris.klug@intergen.co.nz
Page 8: Software development in the real world · Software development in the real world Chris Klug chris.klug@intergen.co.nz
Page 9: Software development in the real world · Software development in the real world Chris Klug chris.klug@intergen.co.nz

...a decade...

Page 10: Software development in the real world · Software development in the real world Chris Klug chris.klug@intergen.co.nz
Page 11: Software development in the real world · Software development in the real world Chris Klug chris.klug@intergen.co.nz
Page 12: Software development in the real world · Software development in the real world Chris Klug chris.klug@intergen.co.nz

...and charity...

Page 13: Software development in the real world · Software development in the real world Chris Klug chris.klug@intergen.co.nz
Page 14: Software development in the real world · Software development in the real world Chris Klug chris.klug@intergen.co.nz
Page 15: Software development in the real world · Software development in the real world Chris Klug chris.klug@intergen.co.nz
Page 16: Software development in the real world · Software development in the real world Chris Klug chris.klug@intergen.co.nz
Page 17: Software development in the real world · Software development in the real world Chris Klug chris.klug@intergen.co.nz
Page 18: Software development in the real world · Software development in the real world Chris Klug chris.klug@intergen.co.nz

Making money selling tickets

Page 19: Software development in the real world · Software development in the real world Chris Klug chris.klug@intergen.co.nz

...more sold tickets == more money...

...more staff == less money...

...more outlets == more sold tickets...

...more outlets == more staff...

Page 20: Software development in the real world · Software development in the real world Chris Klug chris.klug@intergen.co.nz

- We need a kiosk...

Page 21: Software development in the real world · Software development in the real world Chris Klug chris.klug@intergen.co.nz

// GOOD TIME TO SHOW THE APP

Page 22: Software development in the real world · Software development in the real world Chris Klug chris.klug@intergen.co.nz

KISS

Page 23: Software development in the real world · Software development in the real world Chris Klug chris.klug@intergen.co.nz

Keep It Simple Stupid

Page 24: Software development in the real world · Software development in the real world Chris Klug chris.klug@intergen.co.nz

“KISSing” the kiosk ...needs to be built in Silverlight due to code reuse...

...Silverlight doesn’t suppport printing...

...Silverlight doesn’t allow access to harddrive...

...Silverlight runs in a browser of some form...

...Silverlight isn’t really the right tool for the job...

...Silverlight doesn’t suppport ActiveX controls...

Page 25: Software development in the real world · Software development in the real world Chris Klug chris.klug@intergen.co.nz

KIASAP

Page 26: Software development in the real world · Software development in the real world Chris Klug chris.klug@intergen.co.nz

“KIASAPing” the kiosk ...use Windows app for hosting client and WCF services...

ActiveX > WCF > Silverlight

Harddrive > WCF > Silverlight

Printing functionality > WCF > Silverlight

...and so on...

...expose functionality to Silverlight using WCF...

Page 27: Software development in the real world · Software development in the real world Chris Klug chris.klug@intergen.co.nz

YAGNI

Page 28: Software development in the real world · Software development in the real world Chris Klug chris.klug@intergen.co.nz

You Ain’t Gonna Need It

Page 29: Software development in the real world · Software development in the real world Chris Klug chris.klug@intergen.co.nz

Just remember one thing...

Page 30: Software development in the real world · Software development in the real world Chris Klug chris.klug@intergen.co.nz

...be up front with the customer!

Page 31: Software development in the real world · Software development in the real world Chris Klug chris.klug@intergen.co.nz

Don’t forget looking at... ...3rd party applications, controls and frameworks...

...forums and other resources on the web...

...open source initiatives on the web...

“Imitation is the best form of flattery” CharlesCalebColton

Page 32: Software development in the real world · Software development in the real world Chris Klug chris.klug@intergen.co.nz

...but make sure it fits...

Page 33: Software development in the real world · Software development in the real world Chris Klug chris.klug@intergen.co.nz

...and that the license works for you...

Page 34: Software development in the real world · Software development in the real world Chris Klug chris.klug@intergen.co.nz

Pick some good patterns

Page 35: Software development in the real world · Software development in the real world Chris Klug chris.klug@intergen.co.nz

...but make sure they fit...

Page 36: Software development in the real world · Software development in the real world Chris Klug chris.klug@intergen.co.nz

Conclusion

Page 37: Software development in the real world · Software development in the real world Chris Klug chris.klug@intergen.co.nz

Be flexible and creative McGyver might be better than Stephen Hawking

Page 38: Software development in the real world · Software development in the real world Chris Klug chris.klug@intergen.co.nz

Do not reinvent The likelihood of improving the wheel is small

Page 39: Software development in the real world · Software development in the real world Chris Klug chris.klug@intergen.co.nz

Remember that there is a client ...and the he or she is paying for every hour you spend...

Page 40: Software development in the real world · Software development in the real world Chris Klug chris.klug@intergen.co.nz

Any questions?

Page 41: Software development in the real world · Software development in the real world Chris Klug chris.klug@intergen.co.nz

Thank you!

[email protected]