Software development management slides by George Berkowski (Hailo)Presentation Transcript
Building Great(Software) Products Or the more boring title: “Effective Software Development Management”
Let’s break this down…1. Why should I listen to this guy?2. Key components of software development management3. Where to begin the recruitment process4. What incentives start-ups have to offer5. Outsourced v’s in-house work6. Agile software management7. Web development management tools8. Quality control9. How to deal with problems when they arise
1. Why Should I listen to this guy?
2. It’s about Building Stuff… Great Stuff
It begins and ends with buildingsomething great?• Software is merely a means to an end• It has to start with a great idea• Great idea Must be aligned with a clear vision• Clear vision Broken down into clear steps• Clear Steps Must be presented in a compelling fashion• Strategy. Vision. Steps.
Start with a clear vision. What do I wantto build? And why?
Software is just a means to an end…• You’re not building software …• You’re building something useful, something fun, something that is simple, something you can tell people about, something that you’re proud of …• Everyone is involved in product development. Everyone is a designer. Everyone is the product.
ComponentsProductConcept, Issue, Value, Clarity, Need, Utility, SolutionDesign and UseForm and function, brings a smile to your facePerformance and TechIt delivers, fast, free and cheap to run
3. Finding the Right People The Great Ones
Well, more like these two…
Best recruitment is making a friendEvents and Networking• SiliconDrinkAbout / MilkRoundabout (everyone is handpicked)• ICE (Internet Conclave of Entrepreneurs)• Meetup / Usergroups / Mailing Lists (get on everything)Make Friends with Recruiters• 1% of recruiters will be responsible for 80% of hires• The rest are rubbish. Human spam.Friends of Friends• Get to know your Friends of Friends – mine LinkedIn• Dig deep into Facebook – friend everyone you can
4. Startup Incentives…
Create your own company. It sux.Be like Frank. I did it my way…• Learning and wisdom (10x the learning curve)• Master of your own destiny (create your own reason to get up…)• No boss (don’t do it for the man)• Flexibility (2-click process, no owner negotiation)Upside• Lots of upside – but it’s bloody hard• But at least there’s upsideChanges the way you live life• You become an active part of life – you drive it (active vs. passive)• You stop making excuses (excuses don’t pay the bills)• If you want it, make it Beats having a real job
Rookie Pitfalls. Happen to all of us.Don’t raise too early• Shoestring wisdom (10x the learning curve)• 2am attractiveness (do you still believe your idea at 2am)• No boss (don’t do it for the man)• Flexibility (2-click process, no owner negotiation)Investor Liquidation Preferences• 1x is normal, but annoying (you can negotiate out if experienced)• 2x is lunacy. Flip the bird. Better off without them.Changes the way you live life• You become an active part of life – you drive it (active vs. passive)• You stop making excuses (excuses don’t pay the bills)• If you want it, make it Beats having a real job
Pick who you work with.Pick where you work.
5. Outsource vs In-Source…
All strategies are created equal…• But people and their abilities are not…• Adapt your strategy to who you are, what you’re doing and what your situation is• Insource (grind it out at night) – Great if you have the money – And the experience and credibility to get great guys – And the ability to manage and design• Outsource – Cheaper – You can scream at them more – But the quality is rubbish
What are the skills you need …• Absolutely everyone needs these skill… well if you want to create something half decent• Build an entire website, in PP, end to end, yourself – Every screen – Every layout – Every menu, every link, every button – It’s as boring as hell• References – Know every site out there – and have a strong opinion on it – What works and what doesn’t? – And the ability to manage and design – But the quality is rubbish
8. Being Agile… Just about the only thing I know.
Agile. MmmmmI dug this up … rather interesting • Individual and interactions over processes and tools • Working Software over comprehensive documentation • Customer Collaboration over contract negotiation • Responding to Change over following a planIt’s about getting things working … • Parallelisation. It’s critical. • Planning, planning and more planning • Great, clear and regular communication
8. Web Development Tools… Keep it simple. Tight.
Super Clear Strategy: What are we doing? When?Ideas Product Spec Final DesignNovel ways to solve Wiki explanations Simple / CleanBest examples / leaders Wiki collaborations Beta testing + feedbackInnovate and steal Wireframes Tear it apartPrioritize Impact Flows Development Process QA / Testing Environment Monitoring + Analytics Tools only facilitate a process
Tools. Cheap. Simple. Integrated.1. JIRA (Wiki and Ticketing) • Agile. Releases. Dates. Visibility. Notifications. • Finally the newer hosted version is excellent • Design, development and collaboration2. Github • Social coding3. Google Docs • Free. Powerful and necessary4. Photoshop. Illustrator. • Everyone in product must know these tools • Aesthetics is everything5. Omingraffle • Clean, simple flows • Massive sized screens – big wide flows.6. Face to Face communication. • Daily / frequent standups • Designers, product and develop must live together.
9. Quality Control… Being your own best user
HP CEO. Uses a MAC at home.
You are your own best user. Finito.• You need to be your core user…• The first step of delivering a quality product, is building a product you want to use• This ensures you represent your best user• Please your best user, and the others will be easy• Deliver something average to an average user, and that is the best type of user you will please
Love QA. They can be your best people.• Traditionally QA has been treated as a 2nd class citizen• Outsourced, in India, their job looked down upon• We’ve hired great people. Masters and a PhD. A knack for problem-solving, for understanding software, and delving into details• The best are not bug finders. They are solution reviewers, they are copy editors, they are improvers• Learn from your QAs. And don’t ever outsource them. Unless you’re BT.
Remember. No one will ever love yourproduct more than you.
10. How to deal with problems… See into the future
If you don’t have problems, you have aproblem. Move faster.
Your job is foresight. Scout.• Be Prepared…• Need to be looking around the corner. Weeks and Months ahead• Reduces stress for rest of team. Increases yours. – You need to look forward and deliver today.• Cashflow is more important than your mother – something
Build fun, beautiful things…Love what you do. Love what you build