Software Development

Business Oriented Programming: Your key for rapid development

I believeĀ that the key to build a successful project with great time-to-market is first to understand the business requirements. Many developers have their first tendency to thinkĀ on the technology or the architecture design. I cant blame them. Thats one of the most fun parts. But If one wont understand the project/company demands he will run out of focus quickly. The project’s scope complexity outlines the critical stage of theĀ business understanding.

When I am talking about Ā ā€œbusinessā€ I refer to theĀ project requirements and motiviation. It doesnt matter on which industry you working on: Forex, Gaming, Advertisements, Banking etc.. First you need to understand the motivation. Ā How we do that?

1. Meet all stakeholders

This is your entry point. Get all the information you can get. schedule couple of meetings with marketing, product or even customers. Questions, Questions Question.. Ask alot of questions and make sure you understand the demands. Sometimes clients struggling expressingĀ their demands it’s your jobĀ to listen, direct and focus.

Sometimes the knowledge is spread outĀ over a couple of departments. After concentratingĀ all the knowledge it will be easier to understand the expectations of the project.

2. Write everything down

Document, Document, Document. If it isnt written down, It doesnt Exist.

One of my clients used inside jokes and called me ā€œTechnical Writerā€. I am notĀ ashamed doing that. We are code-drifters, someday someone going to take ownership on your code/project or maybe you’ll need to bringĀ a dead project alive. When that day comes the otherĀ person will have better understanding and the company will benefit theĀ outcome of shortĀ overlappings.

When you have everything written downĀ (Google Docs, Wiki, Notes, etc.) You will avoid confusion and misunderstanding in the future.

3.Ā Cut into phases

Once you understand the project scope and your client demands it will be easier to predict your project phases. Ā You need to border your phases. When you understand your domain and theĀ business targets it will be easier to scope your upcoming phases. Make sure each phase’s target is clear and defined. Schedule eachĀ phase and your(or your team) development process afterwards . Once you put clear borders to each phase you are ready to go into design and implementation.

4. Small winnings

Time to market, Lean, Production ready – Those words repeated on every project. I believe the key for a successful projects is to deliver within small pieces.

Avoid this:Ā ā€œGive me XĀ months and ill get it doneā€, ā€œI understand what’s gotta be done ill contact you when we finishā€. It’s not possible to understand in advanced what’s gotta be done.

Software development is a consistent build-up process. The requirements, resources and priorities changing frequently. You must persistently stay in contact with the project’s stakeholders and tolerate the changes. If you’ll be ā€œblindā€ to the project progressionĀ you’ll find yourself(and your team) spending lots of re-writing or adding out-of-scope/not-relevant/not-prioritized features.

Deliver small pieces. It will keep you up with demands and minimize CR’S on early stages.

5. Program withĀ business vision inĀ mind

The part of developing comes easier when you have the business vision inĀ mind. You can design and predict the business components and reflect them straight onĀ your code.

It will be easier for you to extend and maintain your code according to the requirements. Since you already understand what’s coming next it will allow you to build the right infrastructure and flexibility for a fast delivery time.

6. ā€œIt’s Aliveā€

Go to production asap!

When Iam writingĀ go to ā€œproductionā€ I dont necessaryĀ mean that you should announceĀ on your ready-to-market stage. I mean that you should have something ā€œpumpingā€.

Remember its always easier to extend something working than waiting till everything works. I am big fan of lean-programming. Get what’s need to be done in order to execute your softwareĀ asap into ā€œproduction-modeā€. Even if it’s not totally fulfills all the project demands It will give you great perspective of theĀ roadmap. Beside of that your customer will be happy.Ā It’s always great news to hear that something is actually alive and breathing.

7. ā€œEgo-Freeā€

Last but not least. If you dont understand stuff or if you struggle gathering businessĀ knowledge dont be shy. Put yourĀ Ego aside and do whatever it takes to seek after the knowledge you need.Ā It mightĀ ā€œcostā€ you to ask extra questions or speak withĀ differentĀ factors in your organization. You better understand the demands onĀ early stages than facingĀ misunderstandings later on.

The process of understanding and building great software projects from businessĀ aspects down to technology and code proved me many successful projects.

Next time when you have the eager on early stages to start talking technology or patterns I recommend to put it aside for the right time andĀ start with your business understanding.

Idan Fridman

Idan is Software engineer with experience in Server side technologies. Idan is responsible for various infrastructure models in the software industry(Telecommunications, Finance).
Subscribe
Notify of
guest

This site uses Akismet to reduce spam. Learn how your comment data is processed.

0 Comments
Oldest
Newest Most Voted
Back to top button