It is almost an year now since I quit my job. It was an exciting year of owning my own business. The transition from thinking like an employee to a business owner was tougher than I thought. I had always known that I will start my business. Once you are in this side of the world the game is totally different. You cannot be grateful enough to your family and friends for standing by you.
Here is what owning a business taught me in past one year
- To think longer term and short term at the same time is unproductive.
- Your business acumen is directly proportional to managing uncertainty.
- Decisions need to be taken for lot of things and need to be changed dynamically.
- Being busy and building your business are two different things.
- You are more energetic on Monday morning than on Friday evening.
- You meet all different kinds of people, some ideas are worth listening.
- You start observing all the businesses around with more detail.
- Every single month is like a new year.
- Have to say No for lot of things and at times need to fight for it.
- The only person responsible for everything that is happening around me – Its me 🙂
Documenting is a skill which very scares in a developer. Although even if one is good at it, won’t enjoy doing it as contrast to coding.
So in order to solve this hurdle, I have a 5 point strategy to ease the documentation activity:
- Don’t treat documenting as second citizen.
- Check for correcting grammar and spellings.
- Make sure the content can be understood by all stake holders.
- You need to review the document to improve it more.
- Well formatted document is more effective then simple plain text.
In order to apply few or all the above strategy you will have to go through the above check list one by one, so give a little more time to developers, since they don’t go through formal training or experience.
This also applies to testers, leaders, product managers etc.
Happy documenting !
The WordPress.com stats helper monkeys prepared a 2014 annual report for this blog.
Here’s an excerpt:
A San Francisco cable car holds 60 people. This blog was viewed about 680 times in 2014. If it were a cable car, it would take about 11 trips to carry that many people.
Click here to see the complete report.
Some time last year I had decide to complete around 333 blog post before June 2014 (read the old post here). I managed to complete 83. It at least helped me to like writing posts, reading many articles, asking tough questions to seniors.
But as I was rushing to get the target, I had discussed my idea on how I want to take my blog ahead with my boss. He gave me a great advice, “Your topics on your blog should speak for you.” This was a simple and obvious thought but it was profound to me.
I am really happy to have a technical mentor, some online developer friends, idea on how community works, few well wishers and many other advantage due to my blogging. So I have now change in plans, even though it is not similar to my initial plan of having a target number. I am happy it started with it to get a perspective of blogging.
Wish me luck to my new software journey.
I recently dropped an email to my network.
My Dear Network,
If you are having a TGIF, here is an summary of a good book I recently listened name “The Startup of You” @ http://www.thestartupofyou.com/wp-content/themes/startupofyoutheme2012/img/TheStart-UpofYou-ExecutiveSummary.pdf
Here are few reasons why I insist you (the individual and the team) to go through this 8 page summary:
- It is absolutely necessary to take matters in our hand.
- There are new rules, and you need to know them – or else you may be on track to irrelevance.
- Your network is more than you think it is.
- To know a difference between an allies and a weaker ties.
- And Mr. Ratan Tata says “If you want to walk fast, walk alone. But if you want to walk far, walk together.”
We have abundance of information to write a right software, starting from great books, online learning, developer’s documentation, stack overflow, team mates, well know practices and many more.
Learning a right way consist of unlearning wrong way. This will be the toughest challenge in hand. But with true inspiration and determination it can be archived. The deadline of existing project is always a challenge.
Here is one tactic to do it. Say you need to make your design simple using design pattern. Spare 1 hour from your existing plan and sit an extra 1 hour for your next new s curve. Plan around 3-4 months time, It may sound to less but it is more the lecture you sat in your college semester for learning C# or Java. As you didn’t expect to become a master after your semester the same rule apply here.
- Read at least 2-3 design pattern books. It will help you with different perspective, chose easy to read books
- Watch one series of How to apply design pattern from youtube or any other learning source.
- Practice Practice and Practice some example without taking any kind of help. This is just to get an idea how this tool can be handy and you know there are multiple tools for different kind of problem.
- Take a problem suspect in your code base, like large switch statement to inject a design pattern instead of it.
- Test it individually and then integrate it with complete code base.
- Keep repeating above 2 steps for rest of your code.
There was a post by Dave Thomas (for those who don’t know him he is one of the first 17 signatory in Agile Manifesto) “Agile is dead, long live agility“. There was a another post with difference of opinion by Kevin “Pragdave is wrong. And his advice is harmful“. Out of excitement I tweeted to which Dave replied.
- Vikram Shetty tweeted War is On “: ‘s article isn’t just wrong, it’s harmful. “
- Dave Thomas tweeted An opposing point of view is the catalyst for discussion. War happens when you ignore those dissenting opinions.
You can find original tweets here. The conversation continues as mentioned below:
- Vikram Shetty tweeted “ You are right. Both post has some valid points. But how does a follower takes this 2 posts. There is no right & wrong.”
- Dave Thomas tweeted “ The trick, I think, is to form your own opinion. Draw on the experience of others, but mold it to your context.”
- Vikram Shetty tweeted “ Very Pragmatic, But with multiple cultures, different level of real experience, some rules of benchmarks really helps.”
- Vikram Shetty tweeted “ Dave I an’t sure if I am asking too much. Thanks for your insight and It will be great If you conclude this discussion.”
- Kevin Klinemeier tweeted Or starting place, at least. And look to the manifesto to tell you when to break “the rules.”
- Oswald Knightley tweeted By retrospecting on the topic and having critical thinking, we are being agile in the end
You can find original tweets here. Here is my view as an practitioner and enthusiast of Agile:
- I understand there are manifesto created 14 years back.
- There are many ways to do it Scrum, XP, Craftsmanship etc.
- There is a lot of gray area on how to design to agility.
- Appreciation of all the support and humble attitude from people like Dave.
- I feel even after having abundance of resource we do not have a bootstrap.
When I posted Share Blog! one of my friend Hiral Mistry (now Hiral Shetge) gave me an idea to write on How can we use Agile Software Development techniques to achieve some of the life’s small and big goals and tasks? Her idea was How to break goals into milestone and achieving it? It may sound more like goal setting but let me give a shot.
Agile Software development manifesto has 12 principles. But I will focus on 5 techniques on planing and execution of projects and demonstrate a real world example which I did recently.
- Time boxing : It means allocating a fixed time period
- Iterations (Sprint) : Multiple sprints will becomes a milestone
- Daily Scrum: A daily team meeting or self meeting
- Velocity: The speed at which you are accomplishing your tasks.
- Retrospection: To look back and see what went right and how to improve.
The above explanation is relative to the blog content. Now to explain it with example I recently did a mini project.
I am planning to write 3 blogs per month for my past whole decade.
You can read the complete post Past Decade blogs.
- It contains the example of time boxing which was 6 hours.
- It contains the Iteration of 3 days which will end up with 1 year of blogs. So I need 10 such sprints to complete a decade.
- Daily scrum means to check your status daily or planing daily, your team is your parents, spouse, siblings, partners etc. For those who don’t want to share can plan alone by checking their status. (A study has shown people only spend 1 hour for life planing in an year but more than 3 hours of vacation planing.)
- It also contains my predicated velocity of 12 blogs per day (or 6 hours).
- Retrospection: Now that I have complete my 1 day of activity let me have some thoughts in it. It should have been done after 3 days.
- The 1st day went as it was planned. 12 blogs in 6 hours.
- But I did not follow the exact plan. I first listed out title of all 12 blog post that I wanted to write. Which I did couple of days prior of my writing day.
- I also wrote my first blog at a commute between office and home. Since my thoughts where flowing.
- The quality of all the post are not so great yet the idea is getting communicated.
- I feel, I should always write it on my waiting times thus not dedicating the whole day and still maintaining a velocity of 1 blog per half hour.
- By applying this alternate way, I might need my dedicated time to format the blog content.
If we have multiple such planned goals, milestones etc it will give us the fire in the belly to be motivated. This is how I relate practice in Agile Development. I hope Hiral too was thinking like this, If not Hiral please email me, I would love to post your ideas here.
I recently started a blog to collect the ideas of my mind, it will share my experience, work as a reference, act as my thoughts archives for future, and getting involved in community. Thus more people reading my blog will make the efforts productive.
Before going that much further the blog must be decently user friendly.The theme I use earlier was Spun Theme, my idea was all the recent blog will be displayed on the home page. Thus helping any reader to choose the topic. So recently I pushed it to 2 of my friends Ritesh Haria & Gautam Shah. Both have noticed some basic remarks.
Observation by Ritesh Haria : The links in the page was not visible clearly, on mouse over the color of the link change is not noticeable.
Observation by Gautam Shah : The main idea of displaying all blog on home page was not visible correctly on Gautam’s machine, which was justifiable.
So anyone has an observation please feel free to put in the comments. Thus this post will help new bloggers.
On 11th January 2014, I thought of a kind of debt we keep living with through out the life which is work. I thought of coining it as “Working Debt”. I tweeted it when it was fresh in my mind @ twitter
#WorkingDebt When you don’t follow clean code, design principles, adaptive practice & leadership get slogged at work.
The Idea here is that when we do a shabby work and don’t plan what do we want to work on, in future. We end up cleaning our own mess and fire fighting at work. This might sound Philosophical but haven’t you felt lately why don’t this day just finish at work, How am I going to face my boss, How will the client demo go? When will this project end and many more such feelings.
Shouldn’t our work be well orchestrated, our team working like a unit with common team goals. Shouldn’t we feel like we are driving a Ferrari in autopilot mode.
So the idea I am trying hard to explain here is when we don’t systematically conduct our self as a Software Craftsmanship we add on to our debt of working days ahead.
We must really understand the ways through which we can make a quality software, increase the standards of our professional life. Thus making difference to the world and people around us. Our life must become a accumulation of working practices assets. Thus making our life stress free, financially free and work free.