This is work in progress. By no means over. First iteration. Enjoy! If you can…
1. Our goal is to deliver WORKING software in STAGES or iterations for which we have an agreed scope, timeline and budget (Project Management Triple Constraint). It’s an iterative process of improvement, constant work in progress – Rome was not built in one day.
2. Each project stage or iteration should be delivered:
- in SCOPE – nothing less, nothing more than agreed with the client (functional specification, wireframes or a set of user stories – they exist for a reason!)
- on TIME – as in the agreed timeline (save time early on, you’ll need it later)
- on BUDGET – predictability and accountability build clients’ trust and confidence in our ability to deliver (people will love you).
3. Confidence builds VALUE and long-lasting relationships among everyone involved – our team, our clients, their stakeholders. Everybody benefits.
4. There will be a NEXT stage if we inspire confidence by completing a previous one successfully – deliver everything in scope, on time, on budget. Build TRUST in our ability to deliver results! No results, no love…
5. Keep it short and SIMPLE (KISS) in everything you do – every single task, every iteration. Our goal is not to deliver the best product we are able to and too late, but a WORKING product we agreed to deliver (MVP = Minimum Viable Product) within the agreed timeline and budget. Let’s improve in the next stage or iteration. A simple and working product is better then no product at all. People will love you (in time).
6. COMPLEXITY KILLS… time and fun. Engineering is about taking two steps forward and one step back. We’ll all make mistakes and waste some time anyway due to life’s uncertainty and unpredictability. Don’t spoil the party by complicating everybody’s lives on purpose. Party pooper!
7. Avoid SCOPE CREEP – adding new features without adjusting the timeline and budget. Be honest with yourself and CRYSTAL CLEAR with the client (use this phrase, it wakes people up!) that adding new, even small, features to the current iteration backlog will increase delivery time and cost. Expect the client to explicitly agree on changing project constraints. DO NOT change them yourself – it’s the client’s project, time and money. Are you the client?
8. Be OPEN to requirements change and POLITELY add scope modifications as NEW features – mark them as EXTRAs. Move them to Icebox if possible. Resist the temptation to please the client by going straight to delivery. Do not pretend that modifications were a part of the original scope. Save TIME now, leave nice-to-haves for later. People will love you (eventually).
9. If all else fails… SIMPLIFY. Some clients want to increase the scope, but not the timeline or budget. Don’t quit just yet. Relax and carry on. Be the champion of SIMPLICITY, workarounds, smart solutions, reusable elements. Improve in the next iteration or post-launch. You’ll thank yourself later.
10. DELIVER EARLY to make it on time. Aim at getting the job done in 80% (60%? 40%?) of the time and budget. Do NOT expand scope on your own. Eat vegetables. Discuss BLOCKERS. Be real, be honest, ask questions early, talk to other people a lot, resist the temptation to complicate everybody’s lives. Murphy will get you anyway, let him do his job…
11. We are the EXPERTS in Ecommerce software development. Clients are NOT, they’re experts at their business – that’s they come to us for technical advice and services. So politely push back on wishful thinking (“this surely won’t take long” – yes it will), scope changes without time and budget adjustments (“but this is a must-have” – do you have the time and money?), simplistic thinking (“this is easy” – no, it’s not, let me explain why…).
12. We are experts but not wizards. Anticipate and mitigate RISKS early. Don’t wipe the database or deploy it before the client call or on Friday afternoon. Ask yourself what can go wrong – because it will. Talk to people about it. Learn from your own and other’s mistakes. Write them down so you don’t forget. You’ll sleep better.
13. Have FUN today. Don’t wait till tomorrow, it might be too late. What we do is the future (of mankind) and we’re pretty good at it (in iterations, after code review, QA, refactoring, QA, client feedback, refactoring, QA, push to production, QA, rollback, fixes, QA, push again…yes, it has to take so long).
14. What you will accomplish today is the BEST THING since the invention of ice cream and beer. Be proud of yourself. It’s all you. And 30 other people working for months – they all contributed to your overnight success today!
15. Smile and say THANKS a lot. Tell people they’re awesome. Murphy will get them anyway…