Category: Software Development
-
A Practical Approach to prevent sprints from becoming mini-waterfalls
Let me admit. Preventing sprints from becoming mini-waterfalls is hard. There are interesting articles out there (here & here) which explain how agile sprints are different from waterfalls. The thing is to break big requirements into small byte sized user stories and deliver a few stories in every sprint. But the essential 4 step sequence…
-
One change to make your sprint retrospective highly efficient
Context: Agile Product Development. Agile (and scrum) is all about adaptation, quick improvements. I have written a a bit on making 2 week sprints effective & conducting sprint demos. But Sprint Retros are at the heart of agile are an equally critical part of the scrum / agile process. At times,the retrospective meeting can be very time consuming, sometimes…
-
The only way to make 2 week Sprints Effective
(Context: I am talking about software development teams, who ship using agile methods) There is only one way: Automation. Automate everything – tests, build, deployment, monitoring, failure notifications. Every kind of test. I have been in various teams / products where we tried doing this and failed. But lately also part of team where we had…
-
Why you should promote a Software Developer to a Senior Software Developer ?
In the world of IT, engineers usually grow into either 1) Technical managers with people management responsibilities OR 2) Technical Advisors / Architects working as individual contributors. Here the first set of roles do not necessarily need you to have a great technical prowess compared to an architect. Similarly, in an architect role, you need…
-
How to Design: Think Top Down
I have been interviewing people on software design. I cant even remember in how many interviews candidates jump into designing the data layer as soon as the requirements of the software are provided. Only a magician can do this right. A normal engineer needs to think top down. The data layer is the foundation of…
-
“Dirt Mode” Software Development for SaaS / internet startups
Here is my 6 point definition of “Dirt Mode” software development which suits developing new SAAS based products. This is a practical software development style and in some way supports the lean software development principles. Use a pluggable and adaptive design (adaptable to alternatives in technology). Dont integrate with any one particular technology too deeply. Don’t try…
-
When you should NOT write Unit Tests
If you are developing a new product or a feature nearly from scratch and you are wondering if you should spend time writing UTs. You are probably thinking the right thing. (IMHO, if you think that you should always write UTs, you might be wasting a lot of time) Let me try to keep this…
-
Monitor your system:Five things you must do
If you own a software/hardware deployment which serves your customers and the availability of your system is of high importance, here are the 5 things you can’t afford to miss out as far as monitoring your system health is concerned. While this is no guide on how to setup monitoring, this definitely is a very…