“Software Engineering – from the Trenches” is about real-life situations encountered when developing software products.
I selected the term Engineering (rather than Development or Methodology) to emphasize (a) the real-life aspect of it and (b) the goal of delivering an actual product: writing software is a necessary component of delivering a software product, but it is not sufficient. A lot more activities are involved that impact Engineering: from understanding customers, to building demos before the product ships, to installing the product efficiently at customer sites, to working with the support team and troubleshooting issues at customer sites …
As a VP of Engineering – which is my day job – I need to make sure that my team efficiently deals with all of the above — and more 🙂 – and this is what I want to cover in this blog. (My definition of Engineering includes: R&D, Architecture design, Development, Quality Assurance and Technical Publications).
For further background, I have been a long time fan – and practitioner – of Extreme Programming and Agile Software Development. This is my starting point — which needs to be modulated by real-life. To me, the art of Engineering is how to apply the theory of Agile Software Methodology to the situations encountered in our day-to-day business environment: what principles do you keep, which ones do you ignore or de-emphasize, what elements of other methodologies (e.g. waterfall) do you incorporate?
Hopefully, this blog will be informative and thought provoking. I value any and all feedback dearly: don’t be shy! Feel free to comment on this site or reach me directly at: firstname.lastname@example.org