Thursday, September 08, 2016

Software design pointers..........> - Kapil Sharma

• Before design and development any task, first ask these 5 things: Why, What, Whom, Where, When: (W-5 approach)

• A use case of design and develop of one complex service window for government departments, where all state departments services available online through CSC's (Common Services Centers) or mobile app or single website.

• Generally state IT projects are developed on ‘’Big-Bang’’ design approach. 

• Where all entities are build on one-go and got live as a singular unit. 

• Pros. of this approach is one big working system, multiple features, different services offering and catering large complex diversify population.

• Cons. with this system is failure in building complex system in one single go as multiple stakeholders are not compatible in one single linear system design approach, checks and balances are difficult to implement in one go, no functional SOP availability for multiple departments for getting in and out of system implementations. 

• For complex IT system where multiple stakeholders present, the agile block approach recommended. 

• One small feature or module developed and implemented in one go of development cycle of 2 to 3-week period. A small team of 3-9 people (developers, QA, DBA, PM) worked with stakeholder SOP and design and develop system and implement in max three-week time frame. Anything goes wrong in design or development can be redone or validated in 3-weeks times. If design redone required only 3 weeks’ time effected not as a whole project time frame got the hard hit. This small chunk approach saves time, money leads to less stress and provide more time for creative and effective design and development ideas. 

• For State IT projects, I think rather focusing on full big project we can break it into small modules and than start design and development in small chunks. 

• There are two best suited approaches.

• One is district wise development approach, where services are developed for one selected district and that district divided into two parts urban and rural. First focus on urban part, create effective online services only for urban area. After successful implementation do the data analysis and figure out analytics for service in high demand and other services demand than try to implement the clone of urban services into rural area, again redone the analysis and analytics cycle. 

• This same two area approach can be implemented in different districts and after 5+ districts data analytics, services can be optimized and more effective and more predictive services can be design and developed for future.

• The second design approach covers the complete state, but with one department at one time with all services in one go or incremental way. 

• After completing one department, then moves towards the next one. All departments first sorted out in the priority list for higher importance departments w.r.t public services offering.

My Linkedin: https://lnkd.in/fB4_EMX

3 comments:

Essay writing reviews said...

The design should be open for changes when the system grows and more features are added. Restricting the design for a specific system, will make it hard to apply design changes. Before implementing the module it is important to define the external interface of the module.

Anonymous said...

He already mentioned agile method for changeable software archeiture. Client anytime change design after any dev. sprint.

Anonymous said...

So, you are suggesting that agile is better than waterfall design approach?