A sprint for “Software developer”

We all have read “Writing software is an art”. We often hear the terms Agile, Scrum and Sprint. A sprint is usually time boxed to 2 weeks to ship an incremental change to a product. Writing code is fraction only and others go unnoticed, like, Understanding Requirements, Collaboration, Communication, Sprint ceremonies and yet having unplanned activities. Add comments if I missed any…

Understanding requirements

Requirements are discussed as a part of various sprint ceremonies where a developer have to participate. “Quarterly Planning” to grasp bigger picture. “Backlog refinement” at micro level — what are the tasks, dependencies and challenges. “Planning Poker” efforts/estimation it take to deliver the feature. “Sprint planning” committing what can be delivered. And remember, all this happens in consensus with team.

Delivering feature

Delivering working code is fundamental expectations from a developer. Most of us know this as writing Application Code, testing.

Application code,

Title says it all. I am skipping on practices — clean code, secure code, API first and other jargons here. I will cover this into another article.

Testing

Writing test code for the feature is expected to be delivered in the same sprint whether the team adopts TDD or BDD or both. Testing typical involves writing “unit test” to test individual functions, mocking of third party API calls, end-to-end testing.

Shipping Feature

From “it works on my local”, is it time to get it reviewed by other team members for logic, efficiency, clean code standards in a feature branch. Each feature branch requires a build (which does compilation, static code analysis, vulnerability scan, unit test coverage checks in its CI phase) and post merge build cycle starts again and get deployed. Which is where integration testing and QA will perform their testing. A feature is considered reviewable by a product owner only when it is deployed to integration environment.

Demo-ing

A feature shipped to an integration environment is an entry-point for a product owner to evaluate work done by developer against what was expected. A demo is ideally per feature demo presented (often recorded as a back up plan) to explain the product owner what he has done and how the feature is working, highlight any scope creep, limitation and edge cases identified during the entire development phase. At times it may require to stretch an extra mile to meet the ad-hoc enhancement.

Collaboration

Collaboration is key to a success and is no exception for a developer in a sprint. As a developer you need to collaborate within team — product owners to get the requirements clarified before start of the sprint and validated during sprint reviews, other developers, QA, DevOps.

Cross team collaboration — involves upstream, downstream, DBAs, release governance, change approval board and be aware of compliance and regulations well.

Communication

“Communication (a.k.a interactions) over processes” is agile manifesto. This is usually internal communication within team. Daily stand ups on reporting the progress of the feature, highlighting any blockers, challenges faced and discussing alternative plans to mitigate the risks.

Sprint Ceremonies

Sprint ceremonies Planning, Backlog Refinement (also depending on developers may have internal technical backlog assessment), Sprint reviews, Sprint retrospectives, Daily stand-ups, take considerable amount of time in a sprint and usually varies from 15 to 20% of time.

The unplanned ones

Beyond the planned activities above, a developer usually get pulled into random meetings, slack chats, attending company town halls, googling (now ChatGPTing), learning and upgrading one-self, 1-on-1s and be on toes when an issue is reported in production. I am discounting discussion on individual life here.

Conclusion

By now, you already have a fair grasp on what a sprint means for a developer, repeating every two weeks. Hence being a developer isn’t an artisan but an actual pilot of organisation.

Sergey Mushta

CTO @ ???? ???? | Software Developer Helping businesses with AI software solutions | ML & AI | Digital Transformation & MVP for Startups & SMBs | OpenGeeksLab

1 个月

Deepak, thanks for sharing.

回复
Sarang Mawande, FRM

Product Management Group @ Bank of Singapore, Certified FRM

1 年

Excellent write up Deepak

回复
Ankesh Bansal

Director at Gradiant | Stanford | NTU | IITD

1 年

Nice

回复
Soumya Sourav Patnaik

Asst. Vice President @ DBS | Building AI Applications | Thought Leader | Career Coach

1 年

Excellent blog !! However, given the situation I feel pair programming as a key startegy for translating thoughts or vision to logics and thereby reducing any gaps in understanding which are the then discovered at a code reveiew phase(slightly late). This can be well part of a sprint.

回复

要查看或添加评论,请登录

Deepak Goel的更多文章

  • ?? Say No is Saying a Big Yes

    ?? Say No is Saying a Big Yes

    ?????????? ?????? ?? ???????? ???????? ?? ?????????? ?? ?????????????????? ???????? ???????????? ????…

    1 条评论
  • GenAI Fundamental

    GenAI Fundamental

    A Deep Dive into Language Models and Foundation Models In the realm of artificial intelligence, language models (LMs)…

    1 条评论
  • ?? Master the Basics: A Journey into the Heart of AI, ML, DL, and Gen?AI

    ?? Master the Basics: A Journey into the Heart of AI, ML, DL, and Gen?AI

    Welcome back, LinkedIn community! In today’s post, we’re diving deep into the fundamental building blocks of the…

    6 条评论

社区洞察

其他会员也浏览了