"No one is harder on a talented person than the person themselves" - Linda Wilkinson ; "Trust your guts and don't follow the herd" ; "Validate direction not destination" ;

August 22, 2010

Technology Vs Architecture Vs Supportability Vs Business Requirements

Multiple Development Models - Waterfall, SCRUM, Kanban, Pair Programming, XP. We have different functions Dev, Test, Support, Program Management, Architects, Business....Priorities and goals of all the functions differ..

Perspectives - Design A for Problem P has two options. 40 Hrs in one Approach, 100 Hrs in another Approach. Architects approve for Approach 100hrs as it provides a reusable framework/scaleable.....40Hrs solution does meets the needs of the business and keeps the business running

Objective of Test is Zero Bugs in Production. I have never seen any critical releases without bugs. I am not advocating for bugs. When you develop a large system, certain edge cases could have been missed. Acquiring expertise in Domain/Application needs Interest/Passion. Test transforming from mere testers to Functional Experts needs lot of homework, reading  competitors approach, business value realized in every new feature/CR added to the application. From being takers to questioning the impact / value of a change is very important....

Technology changes its pace every year..Developing an Application in a Beta Platform Vs Developing in a stabilized platform has its own pros and cons. Objective is to deliver value. This is the first priority and top priority.

We do not have a system which gets requirements as input and produces code as output.

Working together for making a release is different from working to prove one function is better than another function. You work with very skilled-efficient-geeks. Learn all the good things and take it with yourself. All other -ve items garbage collected.

Get into as much detail as possible right from BRD(Use Cases, Functionality, In Scope, Out of Scope). Functional Spec - Cover high level aspects and all possible cases and expected behavior from the system. Design for Scalability, Performance, Usability. Every time we learn in every release.. Continuous Learning from past mistakes and encouragement from past achievements would help us delivering our best.

No comments: